I am trying to do a Debian install with no X, print server, etc. I only want to install the "standard system utilities" tasksel. But if I wanted to install certain packages like network-manager, firmware-linux-nonfree, and wireless-tools, how would I do this from within the Debian installer? (Once I reboot into fresh install, I have no network connection, no wireless-tools, etc and can't install anything without downloading .deb files and using dpkg). So I want to find a way to get to a terminal and manually install files while I do have a network connection, during the installer.

How do I install packages from the Debian install CD, once the tasksel portion of the installer has completed fetching and installing standard utilities? For instance, if I wanted to install network-manager from the Debian installer, how would I do that?


I talked to some folks on IRC and got a workable solution. Unfortunately, there is no simple way to select specific packages to install from within the Debian installer (which would be a nice feature to see in future releases of debian installer instead of having tasksel be the only option for choosing packages). But you can do it by dropping to a command line, mounting and chrooting into the /target filesystem, and installing the packages manually using apt.

After the tasksel step, where I installed the "standard system utilities", I waited for the packages to finish installing and for the grub installation prompt to load up. Before installing grub, I switched to a terminal by pressing ALT+F2. Once at the terminal, I typed in the following:

mount -o bind /sys /target/sys
mount -o bind /dev /target/dev
chroot /target

Now that the environment is set up correctly, edit /etc/apt/sources.list to add the contrib and non-free repositories if you need to install packages from there.

Next, run apt-get update and then you can install whatever packages you need using apt. For instance, to install network-manager and linux-firmware-nonfree, I just did apt-get install network-manager linux-firmware-nonfree and it correctly installed both into the target environment.

To get back to the installer, type "exit" to leave the chroot environment, and then press ALT+F1. From there you can continue with grub installation as usual.


There is (another) roundabout way to do it: during the initial installer menu, use the arrow keys to highlight the entry you want to launch, without pressing Enter.

Then, hit 'e' to edit the GRUB commandline in an Emacs-like editor. The line beginning with "linux" denotes the Kernel command line. Before the --- quiet, add the following parameters:

linux /install.amd/vmlinuz vga=788 apt-setup/local0/repository="http://deb.debian.org/debian buster main contrib non-free" apt-setup/use_mirror=false pkgsel/include="cow network-manager linux-firmware-nonfree" --- quiet

(adapt the release codename, here it's buster)

Then hit F10 to commit your changes and proceed as usual, the packages will be added just after the usual tasks you selected.

Incidentally, kernel parameters added before --- are not carried over to the 'final' initramdisk. However, even if you put these at the end, d-i is smart enough to recognize and remove the ones it uses, so it wouldn't change anything. The rest (here, "quiet") are written to /etc/default/grub in the GRUB_CMDLINE_LINUX_DEFAULT variable

The cleaner way would be to use a preseed file. You'd either pass file= or url= (the shorthands for preseed/file and preseed/url) in a hardcoded kernel commandline, then rebuild the boot media. Or you can provide those when using the netboot image via PXE.

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.