[Top][All Lists]

[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 00:50:22 +0100

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

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.

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

reply via email to

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