On Thu, 2015-09-17 at 18:56 +0300, Ivan Shapovalov wrote: > On 2015-09-17 at 05:10 -0700, Jose R R wrote: > > On Sun, Sep 13, 2015 at 6:06 AM, Ivan Shapovalov < > > intelfx100@xxxxxxxxx> wrote: > > > On 2015-09-13 at 05:57 -0700, Jose R R wrote: > > > > Here is some additional info: > > > > > > > > A while back, I installed Debian Jessie AMD64 into a KVM virtual > > > > machine and also included the initial non-systemd boot argument: > > > > preseed/late_command="in-target apt-get install -y sysvinit-core" > > > > < https://wiki.debian.org/systemd#Installing_without_systemd > > > > > > > > > Afterwards a previous reiser4-patched Linux kernel 4.0.x was > > > > installed > > > > into the virtual machine and its root fs was subsequently > > > > formatted > > > > to > > > > reiser4.. The virtual machine was working fine: > > > > < https://pbs.twimg.com/media/CKIKgoZUAAIFx12.png:large > > > > > > > > > Yesterday, I installed into the vm a newer 4.1.6 kernel built > > > > "the > > > > debian way" except that it was customized with the newer 4.0.1 > > > > Reiser4 > > > > patch. Upon rebooting the VM, I captured a sequence of 4 > > > > snapshots > > > > (by > > > > paging down) that basically recreate the fail that I experienced > > > > priorly in the physical machine: > > > > > > > > < https://metztli.it/blog/index.php/ixiptli/non-systemd-debian-si > > > > d-re > > > > iser4 > > > > > > > > > Accordingly, seems the *lack of systemd* is enough for a Debian > > > > Sid > > > > instance to create a bad initrd.img. I have no idea if issue only > > > > appears with Reiser4 root fs or if it includes other file systems > > > > as > > > > root. Work in progress... > > > > > > It's presence/absence of crc32c module that matters. Reiser4 does > > > not > > > specify that it needs one. > > > > > Applied your 3 patches > > 1/3 < http://marc.info/?l=reiserfs-devel&m=144218573602435&w=2 > > > 2/3 < http://marc.info/?l=reiserfs-devel&m=144218573602436&w=2 > > > 3/3 < http://marc.info/?l=reiserfs-devel&m=144218573702437&w=2 > > > > > into kernel.org Linux Kernel 4.1.7, but Non-systemd Debian still > > boots > > into an emergency shell > > [...] > > mount: mounting /dev/sdaX on /root failed: no such file or directory > > Target fileystem doesn't have requested /sbin/init > > mount: mounting /dev on /root/dev failed: no such file or directory > > No init found. Try passing init= bootarg. > > [...] > > Correct; it's now a "cleanly" reported error instead of an oops. > You will have to manually add crc32c or crc32c_intel module to the > initramfs, though. I could not find a way to express an explicit > intermodule dependency in the code (to make module reiser4 depend on > module crc32c). > > Edward's patch selects module crc32c when reiser4 is selected in the > build config, but it does not make sure that crc32c will end up in the > initramfs if reiser4 is there (that is, modules.dep will not be > altered). I'm still wondering how to do that properly. In initramfs-tools, hook-functions has some code to handle these hidden dependencies. But it doesn't make a lot of sense to embed this information there rather than in the modules themselves. The proper way to put extra dependencies in modules is: /* Soft module dependencies. See man modprobe.d for details. * Example: MODULE_SOFTDEP("pre: module-foo module-bar post: module-baz") */ #define MODULE_SOFTDEP(_softdep) MODULE_INFO(softdep, _softdep) However initramfs-tools still needs to be fixed to follow these dependencies. Ben. -- Ben Hutchings When in doubt, use brute force. - Ken Thompson
Attachment:
signature.asc
Description: This is a digitally signed message part