FS#4890 - mkinitcpio : MODULES doesn't seem to override HOOKS option
Attached to Project:
Arch Linux
Opened by Anonymous Submitter - Tuesday, 27 June 2006, 21:23 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 02 July 2006, 07:27 GMT
Opened by Anonymous Submitter - Tuesday, 27 June 2006, 21:23 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 02 July 2006, 07:27 GMT
|
Details
Hi,
I recently upgraded my system to the new current, using the cpio initrd option. I think my system is a bit unusual - my two ATA100 HDDs, in a Linux Software RAID1 array, are attached to an off-board, Silicon Image /CMD680 PCI IDE controller. My CDROM/RW drive is attached to my on-board PIIX4 IDE controller, only capable of ATA33. I boot off of the off-board controller, and once Linux starts, have those drives as operating as /dev/hda and /dev/hdc. The CDROM/RW drive operates as /dev/hde. To have Linux allocate these device names, I've needed to ensure that the "siimage" module or built in kernel device driver is loaded / run before the PIIX4 driver. In the past, I've acheived this by not building the PIIX module into the kernel, or by using the ide=reverse kernel option, or, in recent times, configured initrd to load the "siimage" module only to get the system booted, with the "piix" module being loaded later in the boot process. The problem I'm having with the new cpio system is that I don't seem to be able to force the siimage module to be loaded before the piix module. This results in the CDROM/RW drive being assigned /dev/hda, and my HDDs being assigned /dev/hdc and /dev/hde, which then prevents the RAID1 array that is my root partition from starting. I've tried a number of things to override or resolve this : - added "siimage" by itself to the MODULES line - added "siimage ide_disk" to the MODULES line - tried leaving the MODULES line empty, and adding the "ide=reverse" option on the kernel command line - left MODULES empty, and specified the md0 component devices as /dev/hdc and /dev/hde, with the hope that the md* UUID entries in /etc/mdadm.conf would resolve the different device names Unfortunately none of these options worked. One thought I've had is that the "autodetect" option I have in the HOOKS line might be causing the MODULES line to be ignored. From the comment near the MODULES line, it seems that it could be possible for me to remove the autodetect option, and then specify all the modules required for my system to run in the MODULES line. If my understanding is correct, then that could be a work around for my problem. However, I'd find it really convenient if I could leave the autodetect option in place, and just specify the load order for one of the autodetected modules, in my case the "siimage" module. For reference, here is what I have as my HOOKS line : -- HOOKS="base udev autodetect ide raid filesystems" -- Here is what I have as the grub kernel boot options : -- # (0) Arch Linux title Arch Linux root (hd0,1) kernel /boot/vmlinuz26 root=/dev/md0 ro md=0,/dev/hda2,/dev/hdc2 elevator=cfq lapic nmi_watchdog=1 initrd /boot/kernel26.img -- Is this a bug, or is the MODULES option something I have misunderstood ? Thanks, Mark. |
This task depends upon
Closed by Aaron Griffin (phrakture)
Tuesday, 01 August 2006, 02:03 GMT
Reason for closing: Not a bug
Tuesday, 01 August 2006, 02:03 GMT
Reason for closing: Not a bug
Thanks for the tip. Do you have any pointers or examples of persistent names for hard drives ? I've failed at getting ethernet interface renaming to work via udev, although I have managed to setup some rules to create device files for my USB and PS2 keyboard, so it seems I'm half competent :-)
Also, would the file I need to modify be the /etc/udev/rules.d/udev.rules file ? I don't fully understand how the cpio initd image system works, however when I run mkinitcpio -v, it seems to be copying the listed files from the normal file system into the image, and it lists that it is copying /etc/udev/rules.d/udev.rules. Is my understanding correct ?
I'm happy to write up something for the wiki on how to do this once I've been successful.
Thanks,
Mark.
Yes, it's not an issue anymore, adding the "siimage" entry by itself to the MODULES line made my drives appear as /dev/hda and /dev/hdc. I've found out that /etc/mkinitcpio.conf is the file I should have been modifiying. I got a bit confused by the wiki page on mkinitcpio, have edited that which would hopefully make it a bit clearer which *cpio.conf file is used for which kernel image.
Thanks,
Mark.