ATA-ATAPI CDROMs are way too old and complicated technology, differs from flash chips. Working with isos was always kinda painful, required either overwriting installation media, or some drive emulation techniques. I want to learn tech and move on to convenience.

Earlier I did like following: I just tried to write somehow iso contents onto USB drive. Almost always that produced installation USB media, except drive content was killed. So now I want only to "add" OS installers to USB drive.

Stick has syslinux installed, along with some useful stuff, which is strictly prohibited to erase. For Debian I've looked for "net-boot" installer I am thinking that this is kind of installer that usually downloads its vmlinuz and initrd images via BOOTP/TFTP, and everything other - via Internet (using wget or whatever).

There is no much difference in pxelinux and syslinux, so I was very happy that I may add Debian installer just "that easily" without killing all the data. I downloaded those two, but ran into error: "Installation step failed: load installer components from an installer ISO" enter image description here

I am stumbled, dont know what to do next. Why do I need iso, if i alredy found a way and loaded kernel with debian installer to RAM? And installer could just download everything from internet mirrors? (As it usually did previously).

To be strict, my question is:

What is minimal file subset nesesary to have on usb drive, in order to install minimal debian system to sata drive?


  • x64 PC boots only from USB 2.0 stick, and have sata drive, and working internet connection attached. No way to boot from network, or use optical/any other boot media.
  • USB stick is formatted as FAT32
  • usb stick bootloader is SYSLINUX (using any other boot loaders is prohibited).
  • nesesary files are to be copied only by hands (no automated tools to create portabl installations, no "write iso image to usb")
  • after a config tweak, system should install from internet to hdd just fine.
  • deleting any single file from usb must result to wrecked installation.
  • Are you sure you want USB installers?? read about PXE; i.e. Serva – Pat Mar 14 at 0:02
  • @Pat YES I am 100% sure in what I want. I am not interested in PXE, as well as booting from CDs, DVDs, BDs, external hard drives, or anything, other that plain USB 2.0 stick (formatted as FAT32).. So I can only close my eyes, and repeat my strict and very exact question: What is a minimal file subset should I put onto USB drive, in order to install Debian "from internet" to sata drive? (using that only USB drive plus Internet connection). Btw, as for today, question is NOT solved. – xakepp35 Mar 17 at 15:54
  • Good answer could be either example of such a file list, or a link to such list, or a link to an article, explaining "what is going on inside installer, what files does it seeks on a bootable media", or at least a hint on how to invesigate this process.. – xakepp35 Mar 17 at 15:57
  • If the netboot initramfs expects to find a PXE environment, this simply cannot be made to work, period. Use the Debian minimal installation medium. – Daniel B Mar 17 at 16:08
  • @DanielB "If" does not fit. Does it expect or not? Is it possible to use it or not? – xakepp35 Mar 17 at 16:16

You are struggling in finding an answer because your requirement is not common; most people today do not like/want booting from pendrives and prefer a simple PXE server approach (i.e. Serva); it's way faster and allows handling multi-asset install scenarios in a simpler manner than just using pendrives.

Regarding your last bullet point of requirements they just cannot be simultaneously met.

But if you want to install Debian just booting a minimal kernel from an USB stick and the rest from Internet then your answer is a netinst CD image (generally 150-300 MB, varies by architecture). Move the corresponding ISO to your pendrive with i.e. Rufus and boot it on your target PC.

If you are curious about the Install booting process it is something like booting a kernel, then the kernel loads an initrd that contains the init script wich in Debian's case ends up loading debconf (Debian installer). debconf is in charge of conducting all the Debian install process by parsing a series of install commands received either from:

  1. The kernel command line at boot,
  2. The automated preseed file, or
  3. User manual input.

In case of a Network Install debconf (among other data) will certainly require the IP/URL of a valid Debian repository where Debian components are located.

debconf will finish its job with a installed Debian system.

Note: the screenshot in your question shows debconf in action displaying in this case an install error message.

Debian derivatives (Ubuntu, MInt, etc) use virtually the same install system. Non Debian distros and their derivatives (RHEL, Fedora, SuSEE etc.) use different but similar install systems.

  • Thanks for useful info,t in a 'home' environment sometimes its hard to create pxe environment, due to absence of second PC.. Pendrive is more superior in terms of "can run it everywhere from home to data center" ;-) – xakepp35 Mar 18 at 22:19

For Debian, you only really need the netboot kernel and initrd files, since the current Debian installer is modular: the initrd file contains the first part that will load the rest directly from a Debian repository. And of course SYSLINUX or some other bootloader that is capable of loading them.

There are two versions of the netboot initramfs file: initrd-gtk.gz includes the new graphical installer, while initrd.gz contains the text-mode installer. Pick one or the other.

Your problem of the "load installer components from an installer ISO" step failing indicates one of the following things:

  • perhaps you did not give the installer a permission to connect to the network, so it attempted to find a local installation media instead? (The Debian installer will always prefer loading the most up-to-date packets from the Debian repositories if at all possible.)
  • perhaps the installer failed to detect your NIC? (Get the latest version of the official netboot installer kernel & initramfs packages from here instead of using a possibly-old version from an ISO image)
  • or perhaps your NIC requires firmware, which is a non-Free Software component, and so is something Debian handles somewhat with a ten-foot pole. (Downloading the necessary firmware package(s) from the non-free section of the Debian repository, and placing them to either the root directory or the /firmware sub-directory of the USB stick should fix that problem.)

Remember that Debian follows the common convention of providing installer logs and a root shell on other virtual consoles, so when you reach the error message you pictured, you can press ControlAltF2 and activate a shell prompt, so you can use commands like ip link show, lsmod and lspci to see whether or not your NIC was successfully detected, for example.

  • Thanks for useful info, about how things work. And I really forgot for a moment, about virtual console existence! That would simplify things alot – xakepp35 Mar 18 at 22:21

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.