From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40721) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1euQAM-0003uV-TH for guix-patches@gnu.org; Fri, 09 Mar 2018 17:07:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1euQAI-0001bw-TN for guix-patches@gnu.org; Fri, 09 Mar 2018 17:07:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:44974) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1euQAI-0001bh-PW for guix-patches@gnu.org; Fri, 09 Mar 2018 17:07:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1euQAI-0002tu-CR for guix-patches@gnu.org; Fri, 09 Mar 2018 17:07:02 -0500 Subject: [bug#30604] [PATCH v8 3/7] linux-boot: Load kernel modules only when the hardware is present. Resent-Message-ID: From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <20180302153408.14091-1-dannym@scratchpost.org> <20180303135533.6112-1-dannym@scratchpost.org> <20180303135533.6112-4-dannym@scratchpost.org> <87sh9g4vy1.fsf@gnu.org> <20180304133444.4edceecd@scratchpost.org> Date: Fri, 09 Mar 2018 23:06:50 +0100 In-Reply-To: <20180304133444.4edceecd@scratchpost.org> (Danny Milosavljevic's message of "Sun, 4 Mar 2018 13:34:44 +0100") Message-ID: <87muzgykcl.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Danny Milosavljevic Cc: 30604@debbugs.gnu.org Hello! I=E2=80=99ve reworked this patch series a bit, but now I=E2=80=99m stuck on= this: Danny Milosavljevic skribis: > ERROR: In procedure network-interface-flags: > In procedure network-interface-flags: No such device When than happens, our modprobe gets called with the =E2=80=9Cnetdev-eth0= =E2=80=9D alias, which it cannot handle, leading to this error. By explicitly loading =E2=80=9Cvirtio_net=E2=80=9D and sleeping a bit, we g= et past that point, but fail later on: --8<---------------cut here---------------start------------->8--- loading '/gnu/store/n2zvdxp25kvg7wy5xr1y5n9r4502fw80-linux-vm-loader'... environment variable `PATH' set to `/gnu/store/vxl918zb9brnrgaipzsykpy3mzca= fvcr-qemu-minimal-2.11.1/bin:/gnu/store/lvkaf3xlvy57bvap51xlzb209ilbkgcv-pa= rted-3.2/sbin:/gnu/store/nm305rpb2mvridkyj4l3636nc9ql4lf9-e2fsprogs-1.43.6/= bin:/gnu/store/nm305rpb2mvridkyj4l3636nc9ql4lf9-e2fsprogs-1.43.6/sbin:/gnu/= store/0sq2nflm42x0znkv44add0gk82khkcb6-dosfstools-4.1/sbin:/gnu/store/0hl51= 3mnpkhszm2hjai2w9cxmpxs0vgq-sed-4.4/bin:/gnu/store/1h44pkgdd7n6s3i2vjh54aws= vfmc219j-grep-3.1/bin:/gnu/store/kgzvfby2ggi1xawsh5vjh4s93qk2dp9k-coreutils= -8.28/bin:/gnu/store/k7r2m2wgj8x8jjhccwjsiimp0dlzxb7i-findutils-4.6.0/bin:/= gnu/store/ahxc89r6npzf2bbl8yg5vdjicskzzjf3-gawk-4.1.4/bin' creating partition table with 2 partitions (20.0 MiB, 40.0 MiB)... Warning: The resulting partition is not properly aligned for best performan= ce. creating ext4 partition... mke2fs 1.43.6 (29-Aug-2017) ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing = mtab file while determining whether /dev/vda1 is mounted. Creating filesystem with 20480 1k blocks and 5136 inodes Filesystem UUID: 81a538e9-3efe-406b-bf67-fa153fa3c6a6 Superblock backups stored on blocks:=20 8193 Allocating group tables: done=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 Writing inode tables: done=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: done [ 3.190801] EXT4-fs (vda1): mounted filesystem with ordered data mode. O= pts: (null) populating... clearing file timestamps... creating FAT partition... mkfs.fat 4.1 (2017-01-24) [ 3.235493] FAT-fs (vda2): IO charset iso8859-1 not found ERROR: In procedure mount: In procedure mount: Invalid argument --8<---------------cut here---------------end--------------->8--- Here the nls_iso8859-1 module doesn=E2=80=99t get loaded and modprobe isn= =E2=80=99t even invoked, although my understanding is that it should (per =E2=80=98load_nls= =E2=80=99 in nls_base.c in the kernel, called from vfat/inode.c). Similarly, it seems that virtio_blk has to be loaded explicitly: is not reported by =E2=80=98needed-modules=E2=80=99 (i.e., not listed in /sys/=E2= =80=A6/modalias), nor do we get a modprobe query for it. All in all on-demand loading seems more complicated that it seemed. What are we missing here? Ludo=E2=80=99.