How to change root_dev for kernel?

From: Sihan Goi
Date: Wed Dec 03 2008 - 23:18:36 EST


I'm trying to update the kernel in 1 of my drives from to
the latest stable release. It seems that some changes

First, arch/i386/boot has been replaced by arch/x86/boot. Also the
boot sector file bootsect no longer exists, and the build command's
syntax has changed to reflect this.

I have previously been able to build an uncompressed kernel whose
rootdev is /dev/sda1 with the following script:

echo "Builds uncompressed Image here with root device as /dev/sda1"
mknod /dev/sda1 b 8 1
objcopy -O binary -R .note -R .comment -S vmlinux tmppiggy
cd arch/i386/boot
tools/build -b bootsect setup ../../../tmppiggy /dev/sda1 > ../../../Image_sda
cd -
echo "The uncompressed image can only boot from /dev/sda1 and is
called Image_sda"

However, I'm unable to do this even after changing the directory
names, because the file "setup" doesn't exist.

I have tried manually modifying ROOT_DEV in arch/x86/boot/Makefile
from CURRENT to "/dev/sda1" and the when I do a "file bzImage" it
gives the following output:

bzImage: Linux kernel x86 boot executable RO-rootFS, root_dev 0x801,
swap_dev 0x1, Normal VGA

My old kernel, after running the script, has a swap_dev of
0x2 instead.

I'm not sure what else is different, however I'm having trouble
booting up with the new image in some(not all) systems. It boots up
until the following stage then kernel panics:

FS: Cannot open root device "801" or unknown-block (8,1)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)

Any ideas how I can get build to change my root_dev/swa_dev? I've
tried using the setup.elf, as well as copying setp from the
kernel and running the command without the "bootsect" parameter, but
it gives me the message:

Boot block hasn't got boot flag (0xAA55)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at