2005-04-15 07:27:44

by Gabriel Jägenstedt

[permalink] [raw]
Subject: Booting from USB with initrd

Hi Im trying to boot an encrypted file system using an initrd on a USB.
I use syslinux for the actual boot process as I couldnt get Grub to boot
of it for some reason. This is the .cfg

default vmlinuz
timeout 100
prompt 1
label linux
kernel vmlinuz
append initrd=/initrd.gz root=/dev/ram0 rootfstype=minix init=/linuxrc

As far as I can tell this should load the initrd but that never happens.
Everything seems to boot fine. Syslinux loads the kernel and I get to
the point where initrd should be mounted only to get this error.

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
followed by the USB information and stop.
<5> Vendor SWISSBIT Mode: Victorinox 2.0 Rev 2.00
Type Direct-Access ANSI SCSI Revision: 02
SCSI device sdb: 1022720 512 byte hdwr sectors (524mb)
sdb: Write Protect is off
sdb: asuming driver cache: write-through

I have support for minix, vfat, ext2 and ext3 in the kernel. I have recompiled the
kernel
like 20 times to test different things. So what Im thinking is that the
USB device doesn't
get realized before syslinux tries to load it?

Oh I do have the ramdisk in the kernel and everything.


2005-04-15 07:38:35

by Inaky Perez-Gonzalez

[permalink] [raw]
Subject: Booting from USB with initrd

>>>>> gabriel <[email protected]> writes:

> Hi Im trying to boot an encrypted file system using an initrd on a
> USB. I use syslinux for the actual boot process as I couldnt get
> Grub to boot of it for some reason. This is the .cfg

> ...
> ...
> ...

> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
> followed by the USB information and stop.
> <5> Vendor SWISSBIT Mode: Victorinox 2.0 Rev 2.00
> Type Direct-Access ANSI SCSI Revision: 02
> SCSI device sdb: 1022720 512 byte hdwr sectors (524mb)
> sdb: Write Protect is off
> sdb: asuming driver cache: write-through

If this is the model of your disk, the USB device has been detected
properly, or at least it shows up. Are the contents encrypted you
said? Can you post a more complete log?

--

Inaky

2005-04-15 08:19:52

by Bernhard Schauer

[permalink] [raw]
Subject: Re: Booting from USB with initrd

On Fri, 2005-04-15 at 09:27 +0200, gabriel wrote:
> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

Hi Gabriel!

It looks like initrd.gz could not be mounted. The unknown-block(1,0)
is /dev/ram0 (and has normally initrd attached to it) as specified on
kernel command line.

Do you use an initrd or an initramfs? Is the kernel compiled with initrd
support? Is the ramdisk size big enough to hold your initrd?

regards


2005-04-16 03:45:03

by Eric Lammerts

[permalink] [raw]
Subject: Re: Booting from USB with initrd

gabriel wrote:
> Hi Im trying to boot an encrypted file system using an initrd on a USB.
> I use syslinux for the actual boot process as I couldnt get Grub to boot
> of it for some reason. This is the .cfg

> append initrd=/initrd.gz root=/dev/ram0 rootfstype=minix init=/linuxrc

I don't think syslinux digs the "/" in the initrd filename. Did you try
it with initrd=initrd.gz?

Eric

2005-04-16 20:15:43

by Gabriel Jägenstedt

[permalink] [raw]
Subject: Re: Booting from USB with initrd

>Have you edit the build-initrd.sh script to fit your needs?

Yeah.. but it shouldn't matter much since I've not been able to load the initrd
yet?

>Does
> http://featherlinux.berlios.de/usb-instructions.htm or
> http://www.ussg.iu.edu/hypermail/linux/kernel/0211.1/0551.html help?)

I thought the second one would so I changed the code (took a while to find
the right place since I use 2.6 not 2.4) However that's a fix for a problem
I don't have. My kernel never complains about root= bla it only says unable
to mount on root fs.
I'm not sure what this tells us.

>Totally different Q's:

>Have you called syslinux with the correct parameter to find your
>initrd.gz?

I hope so. I have it setup up like in the loop-aes readme. Is there something special
you have in mind?

>Do you have access to DOS bootable drive (To try to boot the kernel
>using loadlin from DOS command prompt. If that works you know that the
>issues are regarded to syslinux, if not - initrd/kernel) (?)

Nope. I only have a knoppix and kanotix rescue disc to work off at the time
=)

>Have you tried to boot kernel + initrd from your local linux
>installation?

No, I would if I knew how. Is there any howto for that?

Cheers.

2005-04-18 07:47:44

by Bernhard Schauer

[permalink] [raw]
Subject: Re: Booting from USB with initrd

On Sat, 2005-04-16 at 22:15 +0200, gabriel wrote:
> Yeah.. but it shouldn't matter much since I've not been able to load the initrd
> yet?
>

I had just a look at all those things... It simply was a question coming
into my mind...

> My kernel never complains about root= bla it only says unable
> to mount on root fs.
> I'm not sure what this tells us.

Unable to mount root is an error message telling us that /dev/ram0 could
not be mounted as root (root=)...

Try to remove the root=/dev/ram0 line from your kernel command line. IMO
you don't need it, cause the kernel mounts initrd as root in any case.

One other reason for that could be that syslinux does not find and load
the initrd into memory, so the kernel does boot without it.

> I hope so. I have it setup up like in the loop-aes readme. Is there something special
> you have in mind?

Not in special. I searched some things like that with remote booting
linux and *lots* of questions/checks comes into my mind when reading
your lines.

> >Have you tried to boot kernel + initrd from your local linux
> >installation?

> No, I would if I knew how. Is there any howto for that?

Thats not that big issue. Do you have a linux installation with grub as
bootloader (If you only have KNOPPIX/KANOTIX it would be more
difficult)?
If, copy your kernel & initrd to /boot and edit grubs config file -
normally somewhere within /boot. /etc/grub.conf should be a symlink.

If not copy kernel/initrd to some directory (root would be best) on a
known harddisk. Boot some live linux that uses grub as loader. Goto
grubs command line (edit the configuration to boot) and use your kernel
and initrd to boot (you need to know the number of the harddisk from
which you boot: hd(hdd nummer, part. nummer) ). See grubs documentation
for details.

Is there a message that initrd was loaded to mem (from syslinux)?

regards


PS: Your mail program does not fill in reference/in-reply-to header
fields... I would be very pleased if you could enable that feature (I'd
find your mails much easier ;-))

2005-04-20 22:24:04

by Gabriel Jägenstedt

[permalink] [raw]
Subject: Re: Booting from USB with initrd

Cheers!

Everythings up and running now. It had nothing to do with the kernel and
all to do with a wrong word in syslinux.cfg.
I had the wrong default set so it defaulted to running the kernel
without options. Which is no good idea when booting an initrd =)

Thanks for the help anyhow.