1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
Acknowledgements:
This software contains pieces from "SILO" the Sparc Loader,
especially the stringops libs.
Also i took the ideas on how to get the partition offset etc.
from "lilo" the i386 Linux Loader.
The iso9660 code is borrowed from "isoinfo", a tool from the
mkisofs package.
Delo (and this README) was originally written by
Florian Lohoff (flo@rfc822.org) and provided under the
terms of the GNU General Public License (Version 2 or
later).
From version 0.8 on delo is maintained by Thiemo Seufer
(seufer@csv.ica.uni-stuttgart.de) and is provided under the
terms of the GNU General Public License Version 2.
How To:
Do a "make" and "make install". Now you should have the file
/sbin/delo installed in your system. For a non-native build,
you are now able to make CDs and other media bootable for
mipsel-linux, and you can skip the rest of this document.
For a native build, you will also have /boot/delo.2nd. Edit
your /etc/delo.conf to describe the correct kernel image
(ELF file vmlinux, ECOFF file vmlinux.ecoff) and the correct
kernel parameters for boot device, root device and/or console
settings.
Run /sbin/delo.
Set your prom variable boot to the correct slot and drive. On
the /240, /260, /1xx and /x0 machines the slot is 3. Now find
your boot drive with "cnfg 3" - The drive naming should be like
rz<scsi id>. So the complete boot path should be
setenv boot "3/rz0"
for the first scsi disk. If you dont enter any additional
parameters delo searches for the /etc/delo.conf on the first
"Linux" partition (type 0x83).
If you have /etc/delo.conf on a different partition you have to
enter the correct partition number and profile in the delo.conf
like
setenv boot "3/rz0 5/linux"
For /etc/delo.conf on partition 5 (first logical -> /dev/sda5)
and the label "linux". If you want to boot a non-default kernel
from unpartitioned media like CD, you'll also have to use this
syntax, but the partition number is ignored:
setenv boot "3/rz4 1/cdkernel"
If you now enter "reset" you should see delo coming up, reading
the config, loading the image and running it.
delo.conf:
The delo.conf should be quite similar to the lilo.conf. You
start with the global options, followed by the boot profiles. A
"label" statement gives this profile a name. Then you configure
the "image=" which should be the ELF or ECOFF vmlinux file to
load and the kernel command line parameters as "append=". The
first "label" is the default boot entry.
Example:
boot=/dev/sda
label=linux
image=/boot/vmlinux
append="root=/dev/sda5 console=ttyS2"
Known Bugs:
There is a bug i see on my KN05 (5000/260). If i do a automatic
reboot everything is fine. If i restart the machine from the
kernel, abort the autoboot, enter the prom and try to manually
set config parameters the boot hangs. After an "init 3" to
reset the SCSI controller everything is fine again.
History:
0.8
* Thiemo Seufer
- Use _malloc_start instead of hardcoded address for malloc start
- Simplify ld script, saves a few bytes
- Load ELF segments instead of sections, and load them directly
to their destination
- ECOFF support
- Use PIC code
- Support buggy 5000/120 firmware (KN02-BA V5.7e)
- Iso9660 support
- CD image file support in /sbin/delo
- Improved build system, only native builds try to make the
bootloader now
- Use libcom_err for ext2 error output. This results in more
sensible error messages for e.g. "file not found"
- added t-rex
- fix zero length extents bug (cornercase with 4kB blocks)
* Karsten Merker
- packaging fixes
- added manpage for t-rex
- added kernel patch for parsing the ramdisk parameters written
by Guido Guenther
- provide precompiled delo- and t-rex loaders for use on
non-mipsel platforms
- new reallyclean target (also deletes precompiled loaders)
0.7 - Documentation
- delo command line switches for installation
- Install targets
0.6 - Load /etc/delo.conf
- Parse prom command line
- Autofind of first partition and profile
- prom cli override of parameters
0.5 - Ability to read MS-DOS disklabels
0.2 - Ability to load ELF files and copy them
0.1 - First version
- Basic functionallity
- Able to execute raw code
Memory Map:
+----------------+
| ^ |
| | Malloc |
Malloc Start +----------------+ 0x8044xxxx
| |
| |
Boot Loader +----------------+ 0x80440000
| | Loader Stack |
| v |
| |
| |
Kernel Load Addr +----------------+ 0x80040000
|