grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "error: invalid magic number" when booting from ISO loopback


From: Ron
Subject: Re: "error: invalid magic number" when booting from ISO loopback
Date: Sun, 01 Nov 2009 15:37:34 +0100

On Sun, 2009-11-01 at 08:53 +0100, Vladimir 'phcoder' Serbinenko wrote:
> 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?

I've looked at the source code but I'm unsure where this offset checking
is placed. Can you give me more infos?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]