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

Bug#940801: missing virtio block Kernel Objects



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?

-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
< liw> everything I know about UK hotels I learned from "Fawlty Towers"


Reply to: