This is how I make Freesco bootable from cdrom. It's partially based on Deoren's how-to (thanks Deoren!) but mostly it was alot of googling and trial and error. The Freesco box that I used has Freesco 032 and Win98 running on /dev/hdb1 and the cdrom is on /dev/hdc. Yours might be different. Things you'll need: - Freesco box with a cdrom installed
- Freesco installed to the hard drive
- Knoppix ( http://knoppix.net )... a "live" linux distro that runs straight off the cdrom
- Access to a cd burner (it doesn't have to be on your Freesco box)
First you'll need to setup Freesco so everything works fine and move it to your harddrive. Next, you need to install a kernel that has cdrom support (i usually use #5 from lightnings kernel-1.3-lightning package). now, install any packages that you want (mc...) When you're finished, put your Knoppix cd in the drive and reboot. I type in "knoppix 2" at the boot prompt so it doesn't boot to the desktop. mount your Freesco drive CODE | mount -t umsdos -o rw /dev/hdb1 /mnt/hdb1
|
setup our working environment
CODE | mkdir /mnt/hdb1/freesco mkdir /mnt/hdb1/freesco/oldram mkdir /mnt/hdb1/freesco/newram
|
copy the ramdisk to our working environment (and rename it)
CODE | cp /mnt/hdb1/router/ramdisk /mnt/hdb1/freesco/ram1.gz
|
unzip it
CODE | gunzip /mnt/hdb1/freesco/ram1.gz
|
mount it as a loop device so we can modify it
CODE | mount -o loop /mnt/hdb1/freesco/ram1 /mnt/hdb1/freesco/oldram
|
now we have to edit /mnt/hdb1/freesco/oldram/etc/rc (I use "mc")
change line #42 from "bd Mounting -t umsdos" to "bd Mounting -t iso9660" comment out line #53 (umssync -g 99 -u 99 -r 99 -v- boot /dev/null) save the file and exit
If you want to add files to the ramdisk, now's the time to do it but I suggest making it bigger though first.
CODE | dd if=/dev/zero of=/mnt/hdb1/freesco/ram2 bs=1M count=4
|
format the new ramdisk
CODE | mke2fs /mnt/hdb1/freesco/ram2
|
mount it
CODE | mount -o loop /mnt/hdb1/freesco/ram2 /mnt/hdb1/freesco/newram
|
copy everything from the old ramdisk to the new one
CODE | cp -a /mnt/hdb1/freesco/oldram/* /mnt/hdb1/freesco/newram
|
unmount both of them
CODE | umount /mnt/hdb1/freesco/oldram umount /mnt/hdb1/freesco/newram
|
gzip the new ramdisk
CODE | gzip -9 /mnt/hdb1/freesco/ram2
|
move it to the "router" directory and rename it as "ramdisk.cd"
CODE | mv /mnt/hdb1/freesco/ram2.gz /mnt/hdb1/router/ramdisk.cd
|
Now we need to make the isolinux directory to hold the boot files
CODE | mkdir /mnt/hdb1/isolinux
|
Now we need to locate the "isolinux.bin" file (included in Knoppix)
I used Knoppix 3.2 and found isolinux.bin at "/usr/lib/isolinux/isolinux.bin"
copy it to the isolinux directory you just created
CODE | cp /usr/lib/isolinux/isolinux.bin /mnt/hdb1/isolinux
|
now we need to make a isolinux.cfg file in /mnt/hdb1/isolinux
here's what it needs to have
CODE | default freesco initrd=/router/ramdisk.cd vga=0 ramdisk_size=128000 BOOTDEV=hdc root=/dev/ram0 panic=15 append initrd=/router/ramdisk.cd ramdisk_size=128000 BOOTDEV=hdc root=/dev/ram0 vga=0 panic=15 label freesco kernel /router/kernel append initrd=/router/ramdisk.cd vga=0 ramdisk_size=128000 BOOTDEV=hdc root=/dev/ram0 panic=15
|
now we make the bootable iso image
CODE | mkisofs -pad -l -r -J -v -V "Freesco" -o /mnt/hdb1/freesco.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /mnt/hdb1
|
since I don't have a burner in my Freesco box, I reboot into win98 and copy c:\freesco.iso to a shared folder and copy it to another computer to burn it but you could also reboot into your hard drive install of Freesco and copy the iso image to your ftp folder.
Tom
--------------------
|