pacman -Su, kernel upgrade, kernel panic, change distro?
I think the subject title says it all but for those needing a lengthier explanation...
I like to stay as up-to-date as I can and so I #pacman -Su as often as possible. However I have re-installed Arch 3 times already because every time I upgrade the kernel using pacman and reboot I get Code:
VFS: Cannot open root device "302" or unknown-block (3,2) Code:
VFS: Cannot open root device "discs/disc0/part2" or unknown-block (0,0) Is there something I am meant to do but am not? I found nothing on the Arch wiki. I have already searched the web and this forum. What do you do when you want to upgrade your kernel using pacman? Is this just one of those things that are unsolvable and mean I need a different distro? I never had this trouble with the rpm kernel upgrades in fedora core and suse or upgrading the kernel manually in slackware and arch. |
I assume you're trying to install from the 0.7 CD. The problem is that your config files for lilo or grub are still set up to use the old DevFS /dev/disks/disk1/part1 naming scheme. DevFS has been dropped from the Kernel in favour of Udev (which, incidentally, is a much better system), which uses the traditional /dev/hda1 disk naming scheme.
The simplest solution is to install from the 0.7.1 CD instead, which uses Udev from the word go. Alternatively, after updating the Kernel but before rebooting, change all the references in /etc/lilo.conf , /etc/fstab and so on to the new naming scheme before you reboot. See here for more info: http://wiki.archlinux.org/index.php/DevFS_to_Udev |
ewww. Right I shall give it a try but to be honest I am slightly disgusted by what I read. Why would devfs get ditched!? especially for that ancient and difficult naming scheme. To be honest I would much rather know nothing and find my device with understandable straightforward names than have to learn and memorise some naming scheme just to know whether sda1 is my mp3 player or whether hda1, hdb1 or hdc1 is my root partition. It requires a level of system knowledge only required by someone employed to know this shit and not for a desktop/dummy user. I run my desktop from command line and have already learned UDev but I still see a need for ease of use here people! Is there no way I can keep the DevFS naming scheme whilst still using UDev for detecting hardware?
|
ignore the rant upstairs. I did everything you asked and followed the Arch wiki but to no avail. I get
Code:
VFS: Cannot open root device "hda2" or unknown-block (0,0) |
Ah, sorry, I had forgotten about that. Another significant change to the kernel (this time just in Arch rather than upstream) is the move to compiling several drivers as modules and using an initrd to boot the system.
I think the Kernel package automatically creates the initrd file when you install/upgrade it, so all you should need to do is modify your bootloader to accommodate the new system: http://wiki.archlinux.org/index.php/...tloader_Config |
I think you should download a 0.7.1 ISO, I recently installed from that inside a Qemu machine because I'm planning on building a small live CD for personal recovery missions when I break stuff ;) Worked fine, I installed from FTP so it pulled in all the newest packages then I upgraded the kernel to 2.6.15-archck4 and that worked fine on a reboot too. Definitely seems like the way to go, just make sure you read the output from pacman when you update your packages, it often spits out warnings that which when read, save you from all the troubles you seem to be experiencing.
|
Quote:
Excuse me for not keeping up-to-date with the Arch community but it seems I should be informed about all these changes and tinkerings so that I can adjust my configs accordingly and avoid a disgusting mess like the one I am currently in. Maybe pacman should offer this vital information about configuration at the end of its run or with a special command, I am sure I am not the only one unaware of the loss of DevFS and this alteration in drivers. Quote:
I have initrd26.img and initrd26-full.img in /boot with Code:
kernel /boot/vmlinuz26 root=/dev/hda2 ro initrd=/boot/initrd26.img On another note, is there any way of me keeping DevFS? |
hi there,
Quote:
regards, slackie1000 |
You need to switch to udev and initrd
|
Quote:
|
should be :
kernel /boot/vmlinuz26 root=/dev/hda2 ro initrd /boot/initrd26.img |
Quote:
You could try looking at ndevfs which is (I think) a patchset someone is maintaining that will reapply devfs to the kernel. Sounds like a dumb idea to me but if that's your thing then give it a go, there was discussion on the Arch forums when the change was first made and it was decided that ndevfs wouldn't be included in the stock packages. Quote:
|
hi there,
Quote:
no, this is not an advice. ;) regards, slackie1000 |
Quote:
No luck with bootloader tinkering so far. I am going to burn Noodle iso and install packages over the top of versions currently installed then try all this crap from there. |
pacman -S udev-migrate
or maybe just >> udev-migrate ...after installing udev |
All times are GMT -5. The time now is 06:48 PM. |