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
|
Acknowledgement:
This software contains pieces from "SILO" the Sparc Loader,
especially the stringops1/2 libs.
Also i took the ideas on how to get the partition offset
etc from "lilo" the i386 Linux Loader.
The PROM callvector tables and protos are from the NetBSD
bootloader.
In loader/e2fslib i currently have "-fno-pic" compiled
static libe2fs library binarys which i plan to remove.
How To:
Enter the directory "loader" and do an "make" and "make install".
Now you should have the file /boot/delo.2nd installed in
your system.
Now enter the directory "delo" and do a "make" and "make install".
run /sbin/delo <bootdevice> - For me this is /dev/sda.
Edit your /etc/delo.conf to contain the correct kernel image
(ELF file vmlinux) and the correct kernel parameters for root
device and/or console settings.
Set your prom variable boot to the correct slot and drive.
On the /240, /260 and /1xx 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 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 quiet similar to the lilo.conf.
You start with a "label" statement giving this profile
a name. Then you configure the "image=" which should
be the ELF vmlinux file to load and the kernel command
line parameters as "append=".
Example:
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.7 - Dokumentation
- 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:
Kernel Load Addr +----------------+ 0x80040000
| |
| ^ |
| | Loader Stack|
Boot Loader +----------------+ 0x80440000
| |
Malloc Start +----------------+ 0x804xxxxx
| | Malloc |
| V |
+----------------+
|