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

Bug#940801: missing virtio block Kernel Objects



    Thanks Steve for this clear explanation, I understand now better how installer is working :-)   !

For my need, I can't get a full Debian mirror for disk space consideration and lack of Internet access, I must stay with my DVD-1 mirror, so I've look how to modify netboot's initrd.gz to add virtio_blk (and possible dependencies) inside it : I've updated the initrd.gz and now, the Debian installer find the virtual disk and starts partitionning :-) !

I have now 2 other problems :

1/ the first one is that my VM has "only" 512Mo of RAM, and I get a "low memory" info requiring a manual validation to continue : I've checked in example-preseed.txt for Buster about an item to skip this warning, with no luck. I've also searched on the web, finding some posts talking about "lowmem/info" tag, I've tried for example to add :

d-i lowmem/low note

in my preseed file, without any change, the installer always stops with the low-memory info…


2/ the second is much serious : the Debian installer fails to install a kernel package. Looking at log, it's a problem with the DVD-1 mirror not being [GPG-] signed, so all their packages are rejected :

Sep 26 07:35:26 apt-install: Queueing package keyboard-configuration for later installation Sep 26 07:35:26 apt-install: Queueing package console-setup for later installation Sep 26 07:35:26 base-installer: Ign:1 http://192.168.254.254/buster_debian_installer buster InRelease Sep 26 07:35:26 base-installer: Get:2 http://192.168.254.254/buster_debian_installer buster Release [33.5 kB] Sep 26 07:35:26 base-installer: Ign:3 http://192.168.254.254/buster_debian_installer buster Release.gpg
Sep 26 07:35:26 base-installer: Reading package lists...
Sep 26 07:35:26 base-installer:
Sep 26 07:35:26 base-installer: E: The repository 'http://192.168.254.254/buster_debian_installer buster Release' is not signed.
Sep 26 07:35:26 base-installer: warning: apt update failed: 100
Sep 26 07:35:26 base-installer: dpkg-divert: warning: diverting file '/sbin/start-stop-daemon' from an Essential package with rename is dangerous, use --no-rename
Sep 26 07:35:27 in-target: Reading package lists...
Sep 26 07:35:27 in-target:
Sep 26 07:35:27 in-target: Building dependency tree...
Sep 26 07:35:27 in-target: Package locales is not available, but is referred to by another package. Sep 26 07:35:27 in-target: This may mean that the package is missing, has been obsoleted, or
Sep 26 07:35:27 in-target: is only available from another source
Sep 26 07:35:27 in-target:
Sep 26 07:35:27 in-target: E: Package 'locales' has no installation candidate Sep 26 07:35:27 localechooser: error: the command 'validlocale' is not available
Sep 26 07:35:27 base-installer: info: Found kernels ''
Sep 26 07:35:27 base-installer: error: exiting on error base-installer/kernel/no-kernels-found

Yet, I have in my preseed.txt the following statement :

# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
#d-i debian-installer/allow_unauthenticated boolean true
d-i debian-installer/allow_unauthenticated boolean true

How can I tell Debian-installer to use my [unsigned] repository ?


    With regards,

        Fred.

Le 23/09/2019 à 20:38, Steve McIntyre a écrit :
On Mon, Sep 23, 2019 at 05:51:33PM +0200, Fred Boiteux wrote:
    Hello Steve,

[ I don't know if I have to CC: to the bug report, so not doing it, please
feel free to correct me ]
[ re-adding the CC :-) ]

I'm trying to install a Debian 10 Buster on a VM, booted by network boot,
hosted on a [Debian] system without Internet access, so I try to give Debian Installer all stuff it need from a local HTTP mirror. The installer starts fine, but can't detect [virtual] disk and thus can't partition it. It seems the virtio_blk module isn't loaded, and I'm trying to find where it should be
found and loaded by the installer…
Right.

So, let me explain the setup we have. There are different instances of
initramfs created for different needs, and they contain different
things.

1. netboot initramfs

This is designed to be booted from the network. It includes the
core of the installer. It includes a small-ish subset of kernel
modules, basically just what's needed to configure network devices
and then go and download all the other bits (filesystems, block
device drivers, more installer modules, etc.) from a Debian mirror.

If you're using a netboot setup, you will need to include a full
set of udebs from a Debian mirror in a place where the installer
can find them. An extra constraint for the network installer here
is that the kernel module udebs you provide must match *exactly*
the version of the kernel that you have booted. This is a thing
that often bites people, hence I mention it.

The initramfs here directly includes the contents of *some* of the
udebs, so it will not need to fetch them separately.

2. CD/DVD/USB initramfs

This is designed to be booted from a disk-like device. It includes
the core of the installer. It includes a small-ish subset of kernel
modules, basically just what's needed to locate, configure and
mount block devices so it can go and find the rest of the needed
components (network drivers, more installer modules, etc.) from
those block devices.

If you're using a Debian-provided CD/DVD/USB based installer, then
you will already have all the udebs that are needed to go with it,
as part of that CD/DVD/USB image. The version constraint for the
module udebs is still there, but you (normally) don't need to worry
about this as you have a complete set of things in one place.

Again, the initramfs here directly includes the contents of some of
the udebs so we do *not* include those udebs in the CD/DVD/USB
image, to save space - we don't need two copies, after all. This
includes the "scsi" storage drivers and a few others.

So, this is why you haven't found the virtio modules on the contents
of the DVD image you're using. You'll probably need to grab the rest
of the udebs from a network mirror and share those separately. Look
for

pool/main/l/linux-signed-amd64/scsi-modules-4.19.0-6-amd64-di_4.19.67-2_amd64.udeb

for current buster for amd64, for example.

I hope that helps to explain?



Reply to: