LInux Kernel-boot from external CD?
Hi,
I'm a new to most of this so don;t start talking Linux techno bable :) I'll talk ZEN techno bable lol. I have craeted a bootbale Novell ZENWorks 4.0 CD from my own compiled Kernel, I have inluded a large number of extra modules, such as SCSI SATA... The CD works fine, however it fails to boot from an external CD drive (am using LiteonCDRW). I get the following messages: hub.c New USB device 00:1d . 0-1, assigned addres 2 Freeing initrd memory: 5735k freed VFS: mounted root (minix filesystem) Copying files from cdrom, Please wait Unable to mount CD-ROM bash# Manufacturer: Liteon Product: CDRW40 LXR -40122C SerialNumber: 6401E6A0065E0D7F scsi3 : SCSI emulation for USB Mass Storage devices Vendor: Liteon Model: LXR-40243 REV: US01 Type: CD-ROM ANSI SCSI revision: 02 Attached scsi CD-ROM sr0 at scsi3, channel 0, id 0, lun 0 sr0: scsi-1 drive Uniform CDROM Driver REvsion: 3.12 Now beiong the bright person i am, I though, 'aha' there must be an error in cdrom.s, so I had a peek and found that sr0 was NOT one of the devices mentioned, I altered cdrom.s to suit, but it still failed, I then noticed the error message was different 'Unable to mount CD-ROM.....' in cdrom.s it is '''Unable to mount CD-ROM, Please insert a CD'. So somewhere there must be somthing invoking the wrong drives. I know that LInux supports this CD drive as I can mount it if I boot the CD from an internal cd drive i.e. mount /dev/sr0 /mnt/cdrom Can NE1 help???? thanks |
your bios is the only thing that can neccessarily "boot from CD" ,
What you will notice is that youve already booted a kernel, therefore will not boot again from CDrom. Now I suppose, that if you have grub or lilo, boot from the external drive, you would need bios support for that device, and just tell lilo, or grub to boot from it. If this doesnt make sense please explain in better detail what you are trying to do as: hub.c New USB device 00:1d . 0-1, assigned addres 2 Freeing initrd memory: 5735k freed VFS: mounted root (minix filesystem) Copying files from cdrom, Please wait Unable to mount CD-ROM bash# Manufacturer: Liteon Product: CDRW40 LXR -40122C SerialNumber: 6401E6A0065E0D7F scsi3 : SCSI emulation for USB Mass Storage devices Vendor: Liteon Model: LXR-40243 REV: US01 Type: CD-ROM ANSI SCSI revision: 02 Attached scsi CD-ROM sr0 at scsi3, channel 0, id 0, lun 0 sr0: scsi-1 drive Uniform CDROM Driver REvsion: 3.12 As this only states that it cannot mount the cdrom. This could be an error in the fstab or otherwise. I highly doubt there are fatal errors in cdrom.c as many people use and compile it frequently. |
OK. Do you have experience of ZENWorks? Essentially this part of ZEN is used for imaging, it is normal to install a 100MB linux partition on everyworkstation. This is done using the provided ISO, the provided ISO however doesn't support booting from external CDROMS or SATA/SCSI. So I have managed to compile a 2.4.22-ac4 kernel and using provided script from Novell create a new ISO.
This ISO happily boots from an internal CDROM, but fails on an ecternal, Novells response is 'it's coming in the next version' - I don't want to wait! (nor do most ZENWorks admins). So, I bung my CD in the drive it starts to boot, gets nearly all the way through but halts on the messages I indicated above. If I bung the CD in an internal drive it happily flies through and will mount a different CD in the external drive. From what you have said I assume that the errors I'm seeing are a result of some of the changes the Novell scripts make when building the ISO. I also believe that ZEN uses ISOLinux to boot the Kernel. (30min interlude whilst does some experimenting) uuuuuuummmmmmmmmmmm. well I've learnt that the error occurs when executing the linuxrc file: Code:
#!/bin/sh 'for drive in scd0 hda hdb hdc hdd' to 'for drive in sr0 sr1 scd0 hda hdb hdc hdd' to no avail, it still stops at: echo "Unable to mount CD-ROM....." Now on closer inspection I discovered that all the things you would need to boot an internal CDROM are set to 'Y' not 'M', I'm guessing that I need to add some of the USB and SCSI stuff to the be built inot the Kernel???? If so do you know which items I will need? Thanks |
is there NEbody out there????? (think Pink Floyd)
well I tried a different ISOLinux file, but that didn't work. darn and bummer and blast. Am in midst of recompilinf Kernel with USB/SCSI stuff embedded in Kernel, c if that makes a different, just finished the first spindle of 25 CDs, gotta open a new one - oh no that was the last spindle ;). lol. Some help some time about now would be niceżżż |
Yes, at all cost a bootable CD is only bootable if the device you are using is initialized first.
This is why booting from an internal cdrom will work. Now if this CD uses some kind of loadlinux from dos or something it might work. I don't know but, if you can understand that your bios(computer) needs to be able to read and write from this drive before it can "boot" from it. I know absolutely nothing about whatever whatever workstation, but I do know you need the device to be supported to boot from it, see, and next question is, are you able to use the external device at all, when youve booted into Linux? If not, you still are that much further away from booting from an external CDrom device. Perhaps what you should do is set your bios to boot from usb CDrom device if the ecternal CD rom device is a usb hookup. |
Also the stuff you said you changed, has nothing to do with booting from a CDrom or drive, this mounts the device and the media on it.
for drive in scd0 hda hdb hdc hdd do mount -n -tiso9660 /dev/$drive /mnt/cdrom > /dev/null 2>&1 if [ $? = "0" ] ; then echo "Mounting cdrom to /mnt/cdrom"; CDROM=YES; break; fi done |
Quote:
I'm sure that the BIOS boot stage is complete and the Kernel has booted, it's just that gumph in linuxrc where it decides to stop. More interestingly, if I put the Linux boot CD into the internal drive and a copy of the CD in the external drive, then boot from the internal CD drive, when it comes to the linuxrc stuff it mounts the external drive and uses that quite happily! odd? |
All times are GMT -5. The time now is 12:08 AM. |