I'm trying to build a Debian automatic install set up using a preseed.cfg file loaded into a client by PXE. The host and client are both Virtual Box VM's.

Everything goes smoothly on the client machine until partitioning starts. I found out the hard disk is not detected on the client (ls /dev/: no sdx's or hdx's). Debian installation on the client using a DVD succeeds. Using a DVD, right before partitioning, the hard disk on the client is already detected. I unpacked the initrd.gz I was using and found out that it doesn't have any ata drivers-there's no .../kernel/drivers/ata directory. This image came from a plain /usr/lib/debian-installer/images/i386/text/initrd.gz installation. I tried the following:

  1. Used an initrd.gz from a plain vanilla Debian install DVD: the hard disk is detected but asks for a CD. I tried to add cdrom-detect/load_media=false to the kernel command line but a CD is required for this to go on.

  2. Copied an ata subdirectory to the original initrd.gz: resulted in kernel panic, VFS block not recognised error.

I don't want to hack this any further. I'd like to find out if a proper solution is available. How do I get the disks to be detected? What initrd.gz should I use? Or is the cause of the problem somewhere else?


Since you're using VirtualBox set your disk controller to be an IDE Controller.

I use preseeded auto install ISO images all the time. Debian doesn't need anything extra to support VirtualBox.

Addressing it differently, if you need to add firmware to the install image just copy the .deb package containing the firmware to the root of your installer image (for USB media you can copy it directly, for ISO media you need to remaster the ISO). The installer will scan attached media for firmware images or deb packages containing firmware images automatically.

Again, for VirtualBox this is not necessary.


The problem is the lack of drivers on the preseed kernel. The correct way to by-pass this is to attach an external drive containing the drivers (debian-nonfree-firmware). Then, during the installation, direct the Debian installation to load the drivers from the external drive (can be a USB drive as well).


Recreating the initrd.gz worked for me in the past. I did it by following instructions posted in a thread on the Debian forums. You can find the full description here: this is my question, which I linked to in my comment above.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.