Ron wrote: > On Sat, 2009-10-31 at 18:30 +0100, Robert Millan wrote: > >> On Sat, Oct 31, 2009 at 06:01:56PM +0100, Ron wrote: >> >>> Hi, >>> >>> I was playing around with Grub2 (latest svn version) and its loopback >>> feature and had some problems to boot an ISO. The ISO file is the 32Bit >>> version of Ubuntu 9.10 which is located on a 8GB USB flash drive with >>> one FAT32 partition. I've tried to boot it with the following menu >>> entry: >>> >>> menuentry "Ubuntu" { >>> set isofile="/boot/isos/ubuntu-9.10-desktop-i386.iso" >>> >>> loopback loop $isofile >>> linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile >>> quiet splash noprompt -- >>> initrd (loop)/casper/initrd.lz >>> } >>> >>> This entry fails silently and when the commands were executed one by one >>> the linux command shows the error message "error: invalid magic number". >>> >> This error means vmlinuz wasn't read correctly. >> >> This could be either a problem in loopback/iso9660 or a problem in the >> partition that contains ubuntu-9.10-desktop-i386.iso. >> >> Can you figure out which applies? For example, if you put a physical CD >> with ubuntu-9.10-desktop-i386.iso in the drive and access it from >> GRUB (via ata.mod), are you able to load Linux this way? >> >> > > I'm sorry but right now I can't burn a CD. But I made some more test > with the ISO file that doesn't work and the copy from it that does work. > As I've mentioned both files shows the same correct MD5 sum under Linux. > Also GRUB shows with the ls command the same file size of 723488768 > Bytes (690 MiB) for both of them. But the output of the blocklist > command is looking wrong. > > blocklist output for the ISO that doesn't work: > 11833144+161304, 13766112+8, 13853680+218800, 14072488+118288 > > blocklist output for the ISO that does work: > 15128592+328728, 11652008+16, 11654088+1792, 11655888+8,11655912+440, > 12089440+16, 12404120+126080, 12530256+99464, 12629728+761984, 13413432 > +94536 > > So if you sum up the sectors from the ISO that doesn't work and multiply > it with 512 you get only 255180800 Bytes (243 MiB). It looks like the > blocklist command encounters an error and exits before it is done, but > no error message is visible. > > Can you disable offset checking in kern/disk.c and retry? > Some more info that may help. > > blocklist output from the vmlinuz file from the mounted ISO file (both > ISO files show the same output): > 1384372+7598, 1391970[0-224] > > fdisk -lu output from the USB flash drive: > Disk /dev/sdb: 8086 MB, 8086618112 bytes > 255 heads, 63 sectors/track, 983 cylinders, total 15794176 sectors > Units = sectors of 1 * 512 = 512 bytes > Disk identifier: 0x2c6b7369 > > Device Boot Start End Blocks Id System > /dev/sdb1 * 63 15791894 7895916 b W95 FAT32 > > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > >
-- Regards Vladimir 'phcoder' Serbinenko Personal git repository: http://repo.or.cz/w/grub2/phcoder.git _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel