pb with silo & cdrom
Hello,
I'm trying to build a bootable CDROM with silo with no success.
I can boot the kernel from the CD but I get the following error while loading
an initial ramdisk:
Image too large to fit in destination
Internal error while loading physical blocks from device
I thought it was due to the compressed ramdisk, therefore I uncompressed it
then rewrote the CD (hopefully I used a CDRW medium ;-) ), but it always fails
to load the ramdisk :-((
What is wrong with my configuration ?
I put all the silo files under a /boot directory on the CDROM and the linux
files under /install:
/boot/
/boot/cd.b
/boot/second.b
/boot/silo.conf
/install/
/install/debian.txt
/install/linux
/install/root.bin
My silo.conf contains:
message=!cd1
timeout=300
image=!cd2
label=linux
initrd=!cd3
and I ran intelsilo [0.8.1 release] (yes I built it on my PC box) with the
following options:
intelsilo -r /mnt -c /data/slink1.raw -C /boot/silo.conf -l /install/debian.txt,/install/linux,/install/root.bin
The linux kernel is 1607596 bytes long. 2867200 for initrd file.
I'd appreciate any help.
Thanks in advance.
Eric.
PS: I have had to patch intelsilo not to abort while opening an unexistant
/data/slink1.raw under the chroot'ed environment. See the patch below.
--- silo.c.orig Mon Oct 19 14:14:24 1998
+++ silo.c Tue Dec 29 15:28:28 1998
@@ -34,6 +34,7 @@
#include <features.h>
#ifdef __GLIBC__
# include <sys/stat.h>
+# include <sys/time.h>
# define _LINUX_STAT_H
#endif
#ifdef __linux__
@@ -505,7 +506,12 @@
if (oldroot != -1)
chdir("/");
tordonly = 1;
- } else
+ } else if (cdrom_image && oldroot != -1) {
+ fchdir(oldroot);
+ if ((fd = open (device + 1, O_RDWR)) == -1)
+ fatal ("Cannot open %s", device);
+ chdir("/");
+ } else
fatal ("Cannot open %s", filename);
}
if (cdrom_image)
--
Eric Delaunay | "La guerre justifie l'existence des militaires.
delaunay@lix.polytechnique.fr | En les supprimant." Henri Jeanson (1900-1970)
Reply to: