Results 1 to 12 of 12

Thread: Arch Error

  1. #1
    Joined
    Sep 2005
    Posts
    19

    Arch Error

    Cannot open root devce "hda7" or uknown-block (0,0)
    Please append a correct "root=" boot option
    Kernel Panic - not syncing :VFS:Unable to mount root fs on uknown-block (0,0)

  2. #2
    Joined
    Jul 2001
    Location
    godfrey
    Posts
    535

    Re: Arch Error

    distro?

    /dev/hda7

    correct?
    I know exactly how the PC works. I understand the OOO, superscalar and superpiplined designs. I just don't understand how the PC doesn't work as shown in so many cases.

  3. #3
    Joined
    Sep 2005
    Posts
    19

    Re: Arch Error

    Arch

    /dev/hda7 is the partition its installed on

  4. #4
    Joined
    Sep 2005
    Posts
    19

    Re: Arch Error

    Changed it but now I boots but I get this line at the end and it freezes

    Emulex Light Pulse Fibre Channel SCSI driver 8.1.1
    Copyright (c) 2004-2005 Emulex All Rights Reserved

    There are two /boot partitions one for SUSE which has the GRUB files and one for Arch which has the kernel and initrd would I remove the /boot and set it up like this

    title Arch Linux 0.7.2 "Gimmick"
    root (hd0,6)
    kernel /vmlinuz26 root=/dev/hda7 ro vga=791
    initrd /initrd26.img

  5. #5
    Joined
    Sep 2001
    Location
    Huntington Beach, CA
    Posts
    590

    Re: Arch Error

    Arch can be a horror. I never had any luck with it. My last attempt installed Ok but I tried to setup X and KDE and wasted a few hours and gave up. It's not for the feint of heart.
    Now, Ark is a different animal. As is Underground and VLOS.

  6. #6
    Joined
    May 2001
    Posts
    11,534

    Re: Arch Error

    Read the front page news always before upgrading anything in Arch.
    http://www.archlinux.org/news/242/

    If you just didn't realise that the latest kernel isn't really using initrd, and since you're using the stock kernel, when you upgrade "pacman -Syu" from the gimmick install disk you have to change this line

    initrd /initrd26.img

    to

    initrd /kernel26.img

    Probably the reason why you didn't know this was because you were in runlevel 3, which doesn't scroll like a terminal so that you can look back and see what all the gibberish was saying. But you might be able to find it in one of logs under /var/log. Maybe "kernel" or "everything". You can also look at the pacman log to see if it installed mkinitcpio.

    But I don't know what was done on your end to get past the script. Might have to chroot into it and run mkinitcpio if just ensuring you're using the right directories, and changing the initrd doesn't work. It's not hard to do from knoppix.

    $su
    $root
    $mount /dev/hda7 /mnt
    $mount -o bind /dev /mnt/dev
    $mount -t proc none /mnt/proc
    $mount -t sysfs none /mnt/sys
    $chroot /mnt /bin/bash

    Now you can act on the Arch install from within the terminal in Knoppix or whatever Live-cd. Read the mkinitcpio wiki at the Arch site to generate the startup script (only if needed).

    I've been using initcpio since it was in testing. You can *probably* still use initrd, but the kernel is expecting initcpio until you either set it up for initrd, or just use the better/more supported option.

    I actually have Arch on the same partition as you and this is my entry:

    # (0) Arch Linux
    title Arch Linux
    root (hd0,6)
    kernel /boot/vmlinuz26 root=/dev/hda7 ro vga=775
    initrd /boot/kernel26.img


    Notice my script is located in the /boot directory. I don't know why that is. Maybe it is a compatibility issue.

    As for getting Arch installed after this, you're in for it. This is the easiest part to get past. I can probably help again if you need it. I remember some odd things I ran into with modular Xorg 7. This is the most difficult thing.

    You will need to read the Xorg7 wiki and probably do most of the things it tells you to do, even the troubleshooting ones that say "Only if you upgrade from Xorg6.x in testing". xorg-server, which is what Xorg-7 is, often misses critical dependencies. This is the only package in Arch I've run into like this. It's probably because Xorg 7 now uses a gagillion packages, and the arch devs have yet to fully compatiblize it. You also need xf86-input-mouse and xf86-input-keyboard and xf86-video-??? where "???" is the appropriate video driver type. This is not the full driver though. It is the same necessity as Microsoft to have the VESA driver and a manufacturer driver. You will need to also install the appropriate proprietary driver which should also have a package. Furthermore, consider installing mesa-apps so you can run the glxgears benchmark.

    Also, install as many fonts that look interesting to you that you can. That way you don't get funkier characters on funky webpages. I can also help you get your /etc/X11/xorg.conf file configured which is going to look really different if you use X -configure to generate it, which is probably the best way to do it. Yes, you will have to edit the file manually anyway. The purpose of this is so that it's done right. Not so that you have a gagillion compatibility settings that all suck.

    Let me know.

  7. #7
    Joined
    Sep 2005
    Posts
    19

    Re: Arch Error

    Changed it but now I boots but I get this line at the end and it freezes

    Emulex Light Pulse Fibre Channel SCSI driver 8.1.1
    Copyright (c) 2004-2005 Emulex All Rights Reserved

    There are two /boot partitions one for SUSE which has the GRUB files and one for Arch which has the kernel and initrd would I remove the /boot and set it up like this

    title Arch Linux 0.7.2 "Gimmick"
    root (hd0,6)
    kernel /vmlinuz26 root=/dev/hda7 ro vga=791
    initrd /initrd26.img

  8. #8
    Joined
    May 2001
    Posts
    11,534

    Re: Arch Error

    Just wipe the operating system off the drive. There's no hope.

  9. #9
    Joined
    Sep 2002
    Location
    In and out of Detroit
    Posts
    1,556

    Re: Arch Error

    Quote Originally Posted by notdrugged
    Just wipe the operating system off the drive. There's no hope.
    What is this, windows?


    Try giving it the path, including the drive.

    title=whatever
    root (hd0,6)
    kernel (hd0,6)/boot/vmlinuz26 root=/dev/hda7 ro vga=791
    initrd (hd0,6)/boot/initrd26.img

    Not sure it will make a difference, as you were able to boot with the most recent attempt.

    "Well, let's just say, 'if your VCR is still blinking 12:00,you don't want Linux.'"
    - Bruce Perens, Former Debian Project Leader

  10. #10
    Joined
    Jul 2001
    Location
    godfrey
    Posts
    535

    Re: Arch Error

    Quote Originally Posted by thechris
    distro?

    /dev/hda7

    correct?
    root=/dev/hda7

    is it possible menu.lst says root=hda7
    I know exactly how the PC works. I understand the OOO, superscalar and superpiplined designs. I just don't understand how the PC doesn't work as shown in so many cases.

  11. #11
    Joined
    May 2001
    Posts
    11,534

    Re: Arch Error

    The problem I have, cheetahman is that this doesn't make any sense:

    "Changed it"

    Changed what? Why repeat a post verbatim like that?

    No, don't remove the /boot/ part of the line. If that's how it set itself up, then that is the directory the image is in. If you remove that, then it will look in the / directory, which is the wrong directory.

    Again, did you upgrade the kernel after you installed the operating system? If you did a system upgrade, you upgraded the kernel. There have been several new stock kernels since the Arch-"Gimmick" install disk. $pacman -Syu means you upgraded the system, including the kernel, and it also means you went to initcipio startup script and you're using the wrong image in your menu.lst file

    ie: If all of the above is true, then "initrd /boot/initrd26.img" is completely wrong, and the line should read "initrd /boot/kernel26.img".

    Now, if you fixed that, and you're still getting the error, then it's time to get creative. I may have the solution for this, too, but you need to start using initcpio if you're purposefully preventing the sytem from using it, which I somehow don't think you are. It was out of your control if you updated the system. It should already be using it. If not, upgrade the system.

    Get used to chrooting into the kernel. You're gonna be doing it a few times. I would think you could do it from within Suse in any terminal window.

    $ su
    $ mount /dev/hda7 /mnt
    $ mount -o bind /dev /mnt/dev
    $ mount -t proc none /mnt/proc
    $ mount -t sysfs none /mnt/sys
    $ chroot /mnt /bin/bash

    All terminal commands particular to Arch work after this, and it only acts on the Arch install. Just remember to type "exit" when done.

    Yep, pacman will work, if you need to install something, or upgrade the system.

  12. #12
    Joined
    May 2001
    Posts
    11,534

    Re: Arch Error

    It's possible for a new kernel/initcpio to be released before this fix will be applicable. If it were me, I would chroot into Arch, and run pacman -Syu, change the initrd line to initrd /boot/kernel26.img, and see if it finishing booting this time BEFORE even bothering with anything. Part of what makes this post so long is that you're not giving enough information about your system or the error message, and you're not reading or responding to my questions. So, I'm responding accordingly.

    There's some kind of bug that's hitting several people both on patched and stock kernels. I recently had the same trouble going from kernel26 to kernel26beyond (an extra-patched kernel used by the Arch geeks ). That's the reason for all my *supposed* rambling. The solution could be to configure initcpio to generate an image specific to your controller, disk type, and filesystem.

    The initrd line has one function only. That is to load the correct boot device by reading the *.img file created by the image-generation script that runs with each kernel install/upgrade.
    Nothing else. However, initcpio is faster than initramfs, so Arch is moving in it's direction, and the latest kernels have already moved to it. The only way to upgrade the system and then use an initrd26.img is to MANUALLY re-run the initramfs script, since initcpio ran instead after install. Eventally, you will not be able to use initramfs (slated for kernel 2.6.18), if not already. Installing a stock [or any other recent] kernel later than the "Gimmick" disk automatically runs mkinitcpio, which is what the kernel will expect to boot with initcpio: specifically the image "kernel26.img", not "intrd26.img" which is the initramfs version. What the script DOES NOT do is update your "initrd" line in /boot/grub/menu.lst file for you, because some people may have located boot configuration files in other places: ie: separate partitions.

    *The solution below will prevent the operating system from functioning if you move the disk to a system with a different controller. It changes the initcpio configuration file to work specifically for your controller/disk/FS only, which is permenant until you change the configuration file back to stock configuration and rerun mkinitcpio image creation script.

    Read this whole post before doing anything

    If you're still not getting anywhere after insuring the initrd line is correct, then...
    After you chroot into the Arch install do this:

    $pacman -Syu
    $pacman -S hwd

    Now post the whole output of both of these commands:

    $lsmod
    and
    $hwd -id

    The last commands should tell me what your controller and filesystem is, amoung a million other things. Post the output if it's not clear to you what you're looking for. Stock filesystem is ext3. If it's an ide disk, then your disk type is ide_disk. If that's true, you only need to know your disk controller driver module.

    REFERENCE:
    http://wiki.archlinux.org/index.php/...ing_mkinitcpio

    warning: this is what makes the install incompatible with other computers besides your current one
    The changes to be made are in file /etc/mkinitcpio.conf
    There are two lines you're concerned with:
    MODULES=""
    and
    HOOKS="base...[whatever, it may vary]"

    ^^The HOOKS field is set up to autodetect your modules, udev is involved, and an "autodetect" script is involved, you also *may* have "....ide scsi sata filesystems".

    *Yours will probably be different*
    For example, I changed my /etc/mkinitcpio.conf file for my nforce2 system with IDE disk to read:
    MODULES="amd74xx ide_disk ext3"
    HOOKS="base"

    ^^^MODULES are in the order of [controller][disk][filesystem]
    ^^^HOOKS requires "base" at least, always, and I don't know if you can leave the hooks field alone or not. Theoretically, I would think so, but I opted to remove all but base. Theoretically, changing the HOOKS field to only read as "base" is what makes it incompatible with other systems. But my file didn't seem to be proper anyway. It didn't have scsi or sata.

    This basically says, forget everything else, no automation, use these modules (MODULES="?") for initializing the boot device, and lets udev run later. It does not get rid of udev because udev is needed by Linux.
    I *think* udev is only used as a hook by "autodetect" to load the only needed boot device (this is part of what makes initcpio faster).

    The following has to be performed after editing the file or you've accomplished nothing.
    After you change the /etc/mkinitcpio.conf file, you will need to pay particular attention to how you generate the image. The command will be slightly different if you're chroot'ed into it and running commands from within Suse or whatever other Linux distro.

    $mkinitcpio -g /boot/kernel26.img -k 2.6.17-ARCH

    The last part is the difference. It needs to be the correct kernel version. You can use $uname -r
    To discover your kernel version. *currently*The latest for arch is 2.6.17-ARCH

    After you've done that, and checked your initrd line in menu.lst to read:
    initrd /boot/kernel26.img

    instead of the incorrect:

    initrd /boot/initrd26.img

    It should work, unless your drive and controller is from outer-space. Which is possible. There's a few of them out there.
    If nothing else, you should at least by now be grasping the logic of initcpio. Initramfs is similar, but it's also deprecated.

    $exit
    $reboot

    Have fun!

    note: if you want to try kernel26beyond, you need to also search the package database for "beyond" related packages that your system may need. Your video driver will be one of them at least.
    Last edited by notdrugged; 07-23-2006 at 04:10 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •