You are not logged in.

#1 2009-02-02 00:40:01

Lexion
Member
Registered: 2008-03-23
Posts: 510

Kernel Rebuild [SOLVED]

I rebuilt my kernel following the arch linux wiki and on reboot I get this error:

VFS: Cannot open root device "<NULL>" or unknown-block (8,4)
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,4)

If I boot with the old kernel, I have no problems.  When I enter the GRUB command shell at boot (hd0,3) is found to have ext2fs, although I formatted it to be ext3.  (hd0,3) is my root partition for arch linux.

ext2 and ext3 are both enabled in my kernel's config.

Here is my menu.lst:

# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst

# DEVICE NAME CONVERSIONS 
#
#  Linux           Grub
# -------------------------
#  /dev/fd0        (fd0)
#  /dev/hda        (hd0)
#  /dev/hdb2       (hd1,1)
#  /dev/hda3       (hd0,2)
#

#  FRAMEBUFFER RESOLUTION SETTINGS
#     +-------------------------------------------------+
#          | 640x480    800x600    1024x768   1280x1024
#      ----+--------------------------------------------
#      256 | 0x301=769  0x303=771  0x305=773   0x307=775
#      32K | 0x310=784  0x313=787  0x316=790   0x319=793
#      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
#      16M | 0x312=786  0x315=789  0x318=792   0x31B=795
#     +-------------------------------------------------+

# general configuration:
timeout   3
default   0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux Rebuild
title  Arch Linux Rebuild
root   (hd0,3)
kernel /boot/vmlinuz26-my root=/dev/disk/by-uuid/6c7e8215-e50e-464e-be41-8ea79c93ab5 ro vga=792
initrc /boot/kernel26-my.img

# (1) Arch Linux
title  Arch Linux
root   (hd0,3)
#kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/6c7e8215-e50e-464e-be41-8ea79c932ab5 ro vga=792
kernel /boot/vmlinuz26 root=/dev/sda4 ro vga=792
initrd /boot/kernel26.img

# (2) Arch Linux
title  Arch Linux Fallback
root   (hd0,3)
kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/6c7e8215-e50e-464e-be41-8ea79c932ab5 ro
initrd /boot/kernel26-fallback.img

# (1) Windows
#title Windows
#rootnoverify (hd0,0)
#makeactive
#chainloader +1

Here is my /etc/mkinitcpio.conf:

MODULES="pata_acpi ata_generic ata_piix reiserfs"
BINARIES=""
FILES=""
HOOKS="base udev sata keymap filesystems"

Last edited by Lexion (2009-02-03 13:59:25)


urxvtc / wmii / zsh / configs / onebluecat.net
Arch will not hold your hand

Offline

#2 2009-02-02 00:46:43

Zariel
Member
Registered: 2008-10-07
Posts: 446

Re: Kernel Rebuild [SOLVED]

You spelt initrd wrong on your line, it says initrc

Offline

#3 2009-02-02 00:49:29

kludge
Member
Registered: 2008-08-03
Posts: 294

Re: Kernel Rebuild [SOLVED]

iirc, there are several rebuild-your-kernel pages on the wiki, so i'm not sure exactly what you did.

how did you build the new initcpio for the new kernel?   because i'm guessing that that your filesystems hook can't or didn't find the right modules becaues it's using the old kernel's path, and those modules won't load without the -f flag to modprobe.  but without more info, that's just a guess.


[23:00:16]    dr_kludge | i want to invent an olfactory human-computer interface, integrate it into the web standards, then produce my own forked browser.
[23:00:32]    dr_kludge | can you guess what i'd call it?
[23:01:16]    dr_kludge | nosilla.
[23:01:32]    dr_kludge | i really should be going to bed.  i'm giggling madly about that.

Offline

#4 2009-02-02 00:53:34

Zariel
Member
Registered: 2008-10-07
Posts: 446

Re: Kernel Rebuild [SOLVED]

the error is in /boot/grub/menu.lst,

initrc /boot/kernel26-my.img

should be

initrd /boot/kernel26-my.img

Im assuming he built the modules into the kernel which is why hes able to boot but unable to mount root because udev isnt run in initrd

Last edited by Zariel (2009-02-02 00:54:09)

Offline

#5 2009-02-02 00:56:17

kludge
Member
Registered: 2008-08-03
Posts: 294

Re: Kernel Rebuild [SOLVED]

oh, look at that, me gettin' all fancy when it's just a typo.  *fails*


[23:00:16]    dr_kludge | i want to invent an olfactory human-computer interface, integrate it into the web standards, then produce my own forked browser.
[23:00:32]    dr_kludge | can you guess what i'd call it?
[23:01:16]    dr_kludge | nosilla.
[23:01:32]    dr_kludge | i really should be going to bed.  i'm giggling madly about that.

Offline

#6 2009-02-03 00:26:28

Lexion
Member
Registered: 2008-03-23
Posts: 510

Re: Kernel Rebuild [SOLVED]

@kludge: Don't be too hard on yourself.  I do that too.

@Zareil: Stupid me.

I am now getting another problem.  On boot initramfs detects all my hard drive partitions (sda 1-4).  It then gives me this error:

Root device ' ' doesn't exist, attempting to create it
ERROR: Failed to parse block device name for ' '
ERROR: Unable to create/detect root device ' '
Dropping to a recovery shell... type 'exit' to reboot
Note: klibc contains no 'ls' binary, use 'echo *' instead

If the device ' ' gets created while you are here,
try adding 'rootdelay=8' or higher to the kernel command line
ramfs$

I am booting from a sata drive, so I don't need to add delay.  Also I changed a few of the configuration files for mkinitramfs, initramfs, grub, rc.*, ...
but I don't see how those changes could have caused my root partition (/dev/sda4, ext3) to be unusable.  When I boot with the stock kernel, everything works fine.  Also, earlier in the boot I get this error:

ext3: Unknown symbol grab_cache_page_write_begin

There is also similar errors for other formats like ext2 and other stuff.

The 2nd error doesn't show up very much on google.


urxvtc / wmii / zsh / configs / onebluecat.net
Arch will not hold your hand

Offline

#7 2009-02-03 13:59:08

Lexion
Member
Registered: 2008-03-23
Posts: 510

Re: Kernel Rebuild [SOLVED]

Sorry for double posting, but I fixed the problem by setting the root device explicitly in /lib/initcpio/init to /dev/sda4.
My boot time went from 14s to 12s.

Thanks for all the help.


urxvtc / wmii / zsh / configs / onebluecat.net
Arch will not hold your hand

Offline

Board footer

Powered by FluxBB