Bug#405484: Further progress
Ok, refined the problem a lot, but still not quite there:
1. Choose expert mode install
2. Go through language, keyboard, cd detection, load installer components,
detect and configure network
3. Switch to console on F2 and type these three commands:
3.1 modprobe dm-mod
3.2 udpkg -i /cdrom/pool/main/d/dmraid/dmraid-....udeb (only file in that
3.3 dmraid -ay
(this will make the fakeraid arrays visible to disk-detect)
4. Continue through detect and partition disks, timezone and clock, users
and passwords, install base system, install kernel
5. Switch back to console on F2 and do the following:
5.1 cp /sbin/dmraid /target/sbin (this is necessary because the dmraid
.deb is not available for install to /target)
5.2 chroot /target
5.3 nano /usr/share/initramfs-tools/hooks/dmraid
- this will create a new file, which needs three lines:
copy_exec /sbin/dmraid /sbin/
5.4 nano /usr/share/initramfs-tools/scripts/init-premount/dmraid
- this will create another new file, which needs two lines:
5.5 **make sure you chmod +x both these files after creating them!**
5.6 update-initramfs -u (this will add the above stuff to your installed
6. Continue through setting up the package manager, select and install
7. [At this point I still don't know how to get either grub or lilo to
install, so choose "Continue without boot loader" and finish - I am lucky
enough to have Grub already installed and working, so I can continue to
Now, that all looks as if it ought to work, but for some reason it doesn't
quite. Three out of four modifications to the initrd work: the dm-mod module
is included in the build, the dmraid executable is included in the build,
and the dm-mod is successfully modprobe'd. But the dmraid -ay command in the
init-premount script does not get run, even though /sbin/dmraid is present
on the initrd, and can be run manually from the busybox shell (where it
successfully creates the /dev/mapper/sil_* devices).
Unfortunately even running it from there does not allow me to boot - when I
CTRL-D to go back to the boot, it still hangs on "Waiting for root file
system ... ...".
Now the most bizarre bit. If I go back to step 5 above and replace
/usr/share/initramfs-tools/init with the busybox shell before updating the
initrd, I can boot manually by typing the commands from that original init
file one at a time after dropping into the busybox shell. I can manually do
the modprobe and dmraid commands, and when I get to the mountroot command it
successfully mounts /dev/mapper/sil_aebdgidebbaj4 as /root!
So why will it do that when I process init manually, and not when I use the
break option and manually execute dmraid?
And why will dmraid not run from my init-premount script, even though
modprobe runs successfully from the same script? Does this have something to
do with 5.1 (the executable being from a udeb rather than from a proper
I'm sorry I cannot offer any of this as ready-to-use patches. I do not know
which package(s) would need the patching. But sections 3 and 5 above show
clearly what needs to be added to make this work.
I would love to get this working - it seems very close now.
Please reply to email@example.com rather than to my personal email
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.16.8/621 - Release Date: 09/01/2007