Trouble booting custom kernel: Root device 'xxx' doesn't exist. Attempting to create
I've been trying to boot a custom kernel I built in archlinux, but I am getting the following error:
Root device 'xxx' doesn't exist. Attempting to create it. ERROR: Unable to determine major/minor number of root device 'xxx' You are being dropped to a recovery shell Type EXIT to try and continue booting My current kernel version is 2.6.37, and the one i downloded and compiled is is 2.6.32.8 which is older. Should there be any problem booting an older kernel? For the configuration I used 'make x86_64_defconfig' and then 'make menuconfig' to add a localversion string and to enable printk boot message delay. I have two scsi drives, with root on /dev/sda1, swap on /dev/sdb6, var on /dev/sdb7, and /home on /sdb1. I made a default initcpio both with and without autodetect and both gave the same error message. In grub I specified root with a UUID which i know is correct because I copied and pasted it from my current bootable kernel. When I get to the ramfs prompt after the error message I can see all partitions from sdb under /dev but none from sda. It seems as though sda is not detected for some reason. Using my current bootable kernel here is the output from parted and mtab and fstab: Model: ATA ST3320620AS (scsi) Disk /dev/sda: 320GB Sector size (logical/physical): 512B/512B Partition Table: msdos ----------------- Number Start End Size Type File system Flags 1 32.3kB 16.4GB 16.4GB primary ext3 boot 3 16.4GB 320GB 304GB extended lba 5 16.4GB 67.6GB 51.2GB logical ntfs 6 67.6GB 88.0GB 20.5GB logical fat32 lba 7 88.0GB 119GB 30.7GB logical ntfs 8 119GB 226GB 108GB logical ntfs 9 226GB 320GB 93.8GB logical ntfs Model: ATA WDC WD600BB-00CA (scsi) Disk /dev/sdb: 60.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 6120MB 6120MB primary ext3 2 6120MB 40.5GB 34.4GB extended lba 5 6122MB 21.5GB 15.4GB logical ntfs boot 6 21.5GB 25.5GB 3997MB logical linux-swap(v1) 7 25.5GB 40.5GB 15.0GB logical reiserfs 3 40.5GB 60.0GB 19.5GB primary xfs Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only. Error: /dev/sr0: unrecognised disk label Error: /dev/fd0: unrecognised disk label --------------------- From mtab: proc /proc proc rw,nosuid,nodev,noexec,relatime sys /sys sysfs rw,nosuid,nodev,noexec,relatime udev /dev devtmpfs rw,nosuid,relatime,size=10240k,nr_inodes=256845,mode=755 /dev/sda1 / ext3 rw,relatime,errors=continue,barrier=0,data=ordered none /dev/pts devpts rw 0 0 none /dev/shm tmpfs rw 0 0 /dev/sdb1 /home ext3 rw 0 0 /dev/sdb7 /var reiserfs rw 0 0 ----------------- From fstab: # # /etc/fstab: static file system information # # <file system> <dir> <type> <options> <dump> <pass> none /dev/pts devpts defaults 0 0 none /dev/shm tmpfs defaults 0 0 #/dev/cdrom /media/cd auto ro,user,noauto,unhide 0 0 #/dev/dvd /media/dvd auto ro,user,noauto,unhide 0 0 #/dev/fd0 /media/fl auto user,noauto 0 0 #/dev/sdb1 /home ext3 defaults 0 2 UUID=22350774-12e3-480e-ab10-d41cc55cdaaa /home ext3 defaults 0 2 #/dev/sdb6 swap swap defaults 0 0 UUID=d4d79fe1-ca3b-4174-bb12-416396c2214b swap swap defaults 0 0 #/dev/sdb7 /var reiserfs defaults 0 1 UUID=d1340ad1-be9c-47fb-9cc9-6732bf531971 /var reiserfs defaults 0 2 #/dev/sda1 / ext3 defaults 0 1 UUID=8d2d5b82-a215-4677-a034-ea1d65cb9a21 / ext3 defaults 0 1 |
Any clues?
|
Hello archnemesis,
Also I cannot seem to find an appropriate entry for your / partition in your fstab file. Here as an example the fstab of my system: Code:
/dev/sda5 / ext4 noatime 0 1 Code:
make oldconfig In most cases when the rootdevice cannot be detected while booting, your kernel lacks the appropriate driver. Note that you'll have to build the drivers for the harddisk (mostly SATA on modern systems) and the filesystems (ext3 or reiser or whatever you're using) into the kernel, not as a module. Markus |
Well I tried using oldconfig first but also got an error on boot (cant remember what it was). Anyway, a default config should have everything required to boot the system I assume, and I'd like to be able to get the default config to work so I can use it as a sort of base configuration and then add options as needed.
By the way the root partition is listed at the bottom of my fstab (ext3) although it is easy to miss. I'm pretty sure the hard drive and filesystem drivers are built into the kernel. Here is the kernel config if it will help. Is there any obvious options I should have on but dont? Code:
# |
Code:
# |
Code:
# |
I think you'd be better off to attach the .config as a textfile to your post (maybe as config.txt), so one can search in it with grep or vim. Also please post the output of the lspci command and the output of "fdisk -l".
Markus |
1 Attachment(s)
Sorry, i thought i would have to host the file myself so i just included it in the post. Anyway I have now attached it to this post. By the way, sda and sdb have been reversed since my other post, so my root partition is currently on sdb1. I'm not sure why fdisk has listed sda1 as HPFS/NTFS/exFAT though, as it is my /home partition and shown as ext3 in mtab.
lspci: Code:
00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) Code:
Disk /dev/sda: 60.0 GB, 60022480896 bytes |
After attempting to build a custom kernel again after a bit of a break, I figured out what the problem was. I hadn't set the option for my onboard sata controller in the Device Drivers --> Serial ATA and Parallel ATA --> NVIDIA SATA support. This obviously depends on the motherboard as does the onboard sound which I had to enable as well.
I'm curious as to why all of the many kernel compilation tutorials I read seemed to neglect to tell the readers to check that their onboard disk controller driver is set considering its vital importance in being able to boot the new kernel? Anyhow, on the plus side it forced me to learn more about the process, and now I'm pretty comfortable compiling a custom kenel |
All times are GMT -5. The time now is 02:17 PM. |