[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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
dir)
  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: 
	. /usr/share/initramfs-tools/hook-functions
	manual_add_modules dm-mod
	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: 
	modprobe dm-mod
	dmraid -ay

  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
initrd)

6. Continue through setting up the package manager, select and install
software

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
experiment]

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
package)? 

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 405484@bugs.debian.org rather than to my personal email
address.

Thank you,

Chris Carr

-- 
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
13:37
 




Reply to: