I followed the Howto in the wiki to install Arch on a Raid 0 array, but when trying to boot I keep getting errors that boil down to "no filesystem could mount root" followed by a kernel panic.
I modified the howto to my needs:
- created a Raid 0 array using mdadm from logical partitions /dev/sda7 and /dev/sdb7. /dev/sda6 will be /boot and /dev/sdb6 will be swap (both not in raid, of course)
- Put filesystems in place (tried Reiserfs and ext3 for the array; ext2 for /boot seems to be fine as the boot does initialize)
- mounting of array to /mnt
- Edit configfiles. Mkinitcpio is the important one, I feel:
# vim:set ft=sh # MODULES # The following modules are loaded before any boot hooks are # run. Advanced users may wish to specify all system modules # in this array. For instance: # MODULES="piix ide_disk reiserfs" MODULES="pata_jmicron ata_generic ahci ata_piix sata_sil24 raid0" # BINARIES # This setting includes, into the CPIO image, and additional # binaries a given user may wish. This is run first, so may # be used to override the actual binaries used in a given hook. # (Existing files are NOT overwritten is already added) # BINARIES are dependancy parsed, so you may safely ignore libraries BINARIES="" # FILES # This setting is similar to BINARIES above, however, files are added # as-is and are not parsed in anyway. This is useful for config files. # Some users may wish to include modprobe.conf for custom module options, # like so: # FILES="/etc/modprobe.conf" FILES="" # HOOKS # This is the most important setting in this file. The HOOKS control the # modules and scripts added to the image, and what happens at boot time. # Order is important, and it is recommended that you do not change the # order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for # help on a given hook. # 'base' is _required_ unless you know precisely what you are doing. # 'udev' is _required_ in order to automatically load modules # 'modload' may be used in place of 'udev', but is not recommended # 'filesystems' is _required_ unless you specify your fs modules in MODULES # Examples: # This setup specifies all modules in the MODULES setting above. # No raid, lvm2, or encrypted root is needed. # HOOKS="base" # # This setup will autodetect all modules for your system and should # work as a sane default # HOOKS="base udev autodetect ide scsi sata filesystems" # # This setup will generate a 'full' image which supports most systems. # No autodetection is done. # HOOKS="base udev ide scsi sata usb filesystems" # # This setup assembles an ide raid array with an encrypted root FS. # Note: See 'mkinitcpio -H raid' for more information on raid devices. # HOOKS="base udev ide raid encrypt filesystems" # # This setup loads an lvm2 volume group on a usb device. # HOOKS="base udev usb lvm2 filesystems" HOOKS="base udev autodetect pata scsi sata raid usbinput keymap filesystems" md=0,/dev/sda7,/dev/sdb7
I also tried adding reisferfs to 'modules' and using rootfstype=reiserfs as a kernel parameters.
- Install kernel
- Chrooting into the basesystem and run mdadm -D -scan >> /etc/mdadm.conf
- Editing menu.lst of an existing installation (Ubuntu, in which incidentally raid0 runs fine)
title Arch Linux root (hd0,5) kernel /vmlinuz26 root=/dev/md0 ro md=0,/dev/sda7,/dev/sdb7
What am I doing wrong? I know there's something about creating nodes, but I cannot find any useful information on it. Also, perhaps I am simply missing a module?
Last edited by crakie (2007-06-05 17:31:09)
Hmmm, in actual fact it's not just about the raid. Installing on /dev/sda7 gives the same error. Am I missing a Sata-controller module? I use an Abit AB9 Pro which has JMicron and Intel ICH8R controllers. The install cd detects my drives just fine.
Can you try and run from the boot cd.
It should tell you what module you need to load.
Beside that everything looks fine.
Last edited by nicholai (2007-06-06 21:21:17)
Desktop :Athlon64 2.2 GHz
Laptop :Toshiba R100 1GHz
Still no dice I cannot find anything out of order.
00:00.0 Host bridge: Intel Corporation|Memory Controller Hub (unknown) 00:01.0 PCI bridge: Intel Corporation|PCI Express Root Port (unknown) 00:1a.0 USB Controller: Intel Corporation|USB UHCI Controller #4 (unknown) 00:1a.1 USB Controller: Intel Corporation|USB UHCI Controller #5 (unknown) 00:1a.7 USB Controller: Intel Corporation|USB2 EHCI Controller #2 (unknown) 00:1b.0 Audio device: Intel Corp.|ICH8 HD Audio DID (snd-hda-intel) 00:1c.0 PCI bridge: Intel Corporation|PCI Express Port 1 (unknown) 00:1c.2 PCI bridge: Intel Corporation|PCI Express Port 3 (unknown) 00:1c.3 PCI bridge: Intel Corporation|PCI Express Port 4 (unknown) 00:1c.4 PCI bridge: Intel Corporation|PCI Express Port 5 (unknown) 00:1c.5 PCI bridge: Intel Corporation|PCI Express Port 6 (unknown) 00:1d.0 USB Controller: Intel Corporation|USB UHCI Controller #1 (unknown) 00:1d.1 USB Controller: Intel Corporation|USB UHCI Controller #2 (unknown) 00:1d.2 USB Controller: Intel Corporation|USB UHCI Controller #3 (unknown) 00:1d.7 USB Controller: Intel Corporation|USB2 EHCI Controller #1 (unknown) 00:1e.0 PCI bridge: Intel Corp.|82820 815e (Camino 2) Chipset PCI (hw_random) 00:1f.0 ISA bridge: Intel Corporation|LPC Interface Controller (unknown) 00:1f.2 IDE interface: Intel Corporation|SATA Controller 1 cc=IDE (ata_piix) 00:1f.3 SMBus: Intel Corporation|SMBus Controller (i2c-i801) 00:1f.5 IDE interface: Intel Corporation|SATA Controller 2 cc=IDE (ata_piix) 01:00.0 VGA compatible controller: nVidia Corp.|GeForce 7600 GT (vesa) 03:00.0 Ethernet controller: Realtek Semiconductor|RTL-8168 PCI-E Gigabit Ethernet (r8169) 04:00.0 Mass storage controller: Silicon Image Inc.|SiI 3132 PCI-X Serial ATA Controller (sata_sil24) 05:00.0 Ethernet controller: Realtek Semiconductor|RTL-8168 PCI-E Gigabit Ethernet (r8169) 06:00.0 SATA controller: JMicron Technologies, Inc.|JMicron 20360/20363 AHCI Controller (ahci) 06:00.1 IDE interface: JMicron Technologies, Inc.|JMicron 20360/20363 AHCI Controller (ahci) 07:02.0 FireWire (IEEE 1394): Texas Instruments|TSB43AB22 IEEE1394a-2000 OHCI PHY/Link-Layer Ctrlr (ohci1394) 07:05.0 Multimedia video controller: Conexant Inc.|iTVC15 MPEG Coder (ivtv) 005:001 USB Hub: Virtual|Hub (hub) 005:002 USB Human Interface Devices: USB Gaming Mouse [/dev/input/mice] (usbhid) 002:001 USB Hub: Virtual|Hub (hub) 007:001 USB Hub: Virtual|Hub (hub) 006:001 USB Hub: Virtual|Hub (hub) 001:001 USB Hub: Virtual|Hub (hub) 004:001 USB Hub: Virtual|Hub (hub) 003:001 USB Hub: Virtual|Hub (hub) ---:--- Mouse: PS/2 Mouse port [/dev/psaux] (msintellips/2)
I'm not sure if this will help, but I had a similar problem. I solved it by listing the raid hook in mkinitcpio before the autodetect hook. Even though I only use raid1 and raid5 it loads all raid modules, but I didn't mind cause it made everything work.
Of course if you change mkinitcpio, you need to regenerat with mkinitcpio -g /boot/yourkernel.img
-- archlinux 是一个极好的 linux。
Try adding /etc/mdadm.conf to FILES in /etc/mkinitcpio.conf
Don't forget to rebuild it
Stand back, intruder, or i'll blast you out of space! I am Klixon and I don't want any dealings with you human lifeforms. I'm a cyborg!
Thanks, I'll give it a go, but since installing on a non-raid partition also failed (see post #2), there's something else that's wrong.
EDIT: I was being too pessimistic... It worked once I put raid before autodetect in the HOOKS list and added mdadm.conf to the FILES list. Basesystem booted flawlessly after that. Thanks!
Last edited by crakie (2007-06-11 18:35:14)