LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Arch (http://www.linuxquestions.org/questions/arch-29/)
-   -   pacman -Su, kernel upgrade, kernel panic, change distro? (http://www.linuxquestions.org/questions/arch-29/pacman-su-kernel-upgrade-kernel-panic-change-distro-417695/)

jkh 02-20-2006 04:12 PM

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)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (3,2)

I get this error with any kernel version and using lilo. I switched to grub but got this error instead
Code:

VFS: Cannot open root device "discs/disc0/part2" or unknown-block (0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0)

I have even tried using mkinitrd then adding the line to lilo.conf because it said to do so somewhere in these forums.
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.

AxelFendersson 02-20-2006 11:12 PM

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

jkh 02-21-2006 04:27 AM

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?

jkh 02-21-2006 05:24 AM

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)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block (0,0)

I love Arch and I think it is great but I feel we have a personality clash.

AxelFendersson 02-22-2006 01:13 AM

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

cs-cam 02-22-2006 02:09 AM

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.

jkh 02-22-2006 08:02 AM

Quote:

Originally Posted by cs-cam
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.

Ah yes perhaps a good idea however I assume they are irrelevant because they fly from the bottom and off the top of my screen in no more than 4 seconds.
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:

Originally Posted by AxelFendersson
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

thankyou much for this vital information but as I said in my first post I read about this kernel panic error from someone running suse and it was suggested they do this initrd smak so I already tried it. HOWEVER I shall slap in my Arch wombat install CD and have some fun following the wiki entry.
I have initrd26.img and initrd26-full.img in /boot with
Code:

kernel /boot/vmlinuz26 root=/dev/hda2 ro initrd=/boot/initrd26.img
in my grub menu.lst already.

On another note, is there any way of me keeping DevFS?

slackie1000 02-22-2006 08:49 AM

hi there,
Quote:

Originally Posted by jkh
On another note, is there any way of me keeping DevFS?

compiling the kernel,i.e. not using the arch provided kernel.
regards,
slackie1000

eNightmare 02-22-2006 09:11 AM

You need to switch to udev and initrd

eNightmare 02-22-2006 09:11 AM

Quote:

Originally Posted by slackie1000
hi there,

compiling the kernel,i.e. not using the arch provided kernel.
regards,
slackie1000

actually devfs is out of the kernel as of 2.6.13

eNightmare 02-22-2006 09:12 AM

should be :

kernel /boot/vmlinuz26 root=/dev/hda2 ro
initrd /boot/initrd26.img

cs-cam 02-23-2006 12:51 AM

Quote:

Originally Posted by eNightmare
actually devfs is out of the kernel as of 2.6.13

That's true. devfs is old, big and nasty. The code is so full of hacky work-arounds that the kernels devs said "Hey, this is crap I'm not maintaining this junk anymore" and moved on. Udev is a great system and has worked 100% for since I updated to it, is there a reason you can't download the 0.7.1 ISO?

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:

Ah yes perhaps a good idea however I assume they are irrelevant because they fly from the bottom and off the top of my screen in no more than 4 seconds.
That's weird, whenever I pull down a new Udev version pacman displays a warning and counts down 5 seconds before installing it. Since we're both using the same packages it's odd you aren't seeing the same behaviour.

slackie1000 02-23-2006 02:15 AM

hi there,
Quote:

Originally Posted by eNightmare
actually devfs is out of the kernel as of 2.6.13

indeed. i know it. i just answered the question. if he wants to keep devfs he can use an old kernel version and compile devfs.
no, this is not an advice. ;)
regards,
slackie1000

jkh 02-23-2006 09:28 AM

Quote:

Originally Posted by cs-cam
That's weird, whenever I pull down a new Udev version pacman displays a warning and counts down 5 seconds before installing it. Since we're both using the same packages it's odd you aren't seeing the same behaviour.

How very odd. Perhaps it's my inability to correctly percieve passing of time combined with my poor reading skills. I shall time how long these messages stay on the screen and see if we do infact share 5 seconds to read the instructions. If I time less than 5 seconds I could tape this phenomenon for you.

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.

eNightmare 02-23-2006 09:45 AM

pacman -S udev-migrate

or maybe just

>> udev-migrate

...after installing udev


All times are GMT -5. The time now is 09:30 PM.