Coder Social home page Coder Social logo

cilo's Introduction

CILO - CiscoLoad Sane Bootloader for real ELF Files

1. What is this?
CILO, or CiscoLoad is a ROMMON bootloader replacement for Cisco Routers.
The ROMMON bootloader will load CILO, which then can be used to boot IOS
or an alternative operating system.

2. Why do I need this?
The ROMMON bootloader is extremely broken -- it is only capable of 
understanding a single ELF segment in an ELF file. Of course, because Linux
and other operating systems rely fairly heavily on being able to have more
than one segment in the output ELF file, this clearly isn't acceptable.

CiscoLoad works around this by providing an ELF file that looks somewhat
like an IOS image to ROMMON; from CiscoLoad, it is then possible to load an
arbitrary standalone ELF file, such as a kernel image, or even an IOS image.

3. How do I build CILO?
Assuming you have a mips-elf toolchain installed (how to do this is beyond
the scope of this document, but it should be simple to do. Just remember the
target architecture is mips-elf and not mips-unknown-linux-gnu), just go
to the root directory of the source distribution and type make. Everything
should build from there.

Copy the ciscoload.bin file to the router's flash along with your kernel and 
set the router boot image to be ciscoload.bin.

4. How do I use CILO?
Assuming you have one of the supported routers, it is really quite easy. 
In short, you must build CiscoLoad and a kernel then copy  them to your 
device's flash, typically using IOS.

When the router boots, it will load CILO; CILO then will prompt you to 
select the file you want to boot. Enter the file name you wish to boot, and 
away you go!

5. What hardware is supported?
At this time, the Cisco 3600 Series of routers (3620 and 3640 at least) are
very well supported. As well, preliminary support is underway for the 
Cisco 1700 Series routers.

6. What is ELFTool?
ELFTool is a small app that can be used to analyze ELF32 files. It is used 
as a test case for the elf.h header and the ELF reading support in 
CiscoLoad. To build it, go to the elftool/ directory in the source dist-
ribution, and type make.

7. Who wrote CiscoLoad?
CiscoLoad was the result of many wasted hours of Phil Vachon, who can be
reached at [email protected].

The printf function was gracelessly lifted from the Linux Kernel.

8. What License is CiscoLoad shipped under
While CiscoLoad is a simple piece of software, the code is covered under the
GNU General Public License version 2.

cilo's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.