This document describes how to do a minimal install of Devuan from the alpha 4 install image for the Jessie release. This method of installation can be adapted for other Devuan branches or even a Debian install.
This install method is for advanced users who wants to get more (less actually but less is more!) out of their Devuan system. You should therefore already be familiar with installing Devuan from the expert installer and other general administration tasks as well as being comfortable using the console.
Once you have booted from the install media start the installer using the expert install option.
Go through all steps of the installer until the target disk has been partitioned and formatted. Here you should stop following the steps as we will be doing some work manually.
We will now complete the first stage of the installation with debootstrap then chroot the install environment and continue from there. For those not familiar with debootstrap it is the system tool responsible for installing Debian based systems or creating an installation or chroot environment for virtualization.
Completing the first stage of the install (by debootstrap)
First drop to a terminal. Press Alt + F2 now to do this and press ENTER to active the console.
The installer has already helped us set up and mount the partitions so the disk is ready to install to. Confirm this by having a look at the directory structure of /target.
~ # ls /target
Now we will debootstrap to /target completing the first stage of the install. It will be important to include the –variant=minbase option as this will give us the minimal setup we’re after. We will include the nano editor at this point to make life easier, which you can substitute for your favourite editor such as the traditional vi editor (the nvi package).
~ # debootstrap --variant=minbase --include=nano jessie /target http://auto.mirror.devuan.org/merged
Chrooting the target
To continue with the install process we need to ‘chroot’ into the install environment so we can continue installing and configuring packages.
We first need to make proc and dev available to the chroot environment.
~ # mount -t proc proc /target/proc
~ # mount -o bind /dev /target/dev
Now chroot the install environment.
~ # chroot /target /bin/bash
Removing unwanted packages
You can now get a more minimal system by purging packages that aren’t needed but which cannot be removed during the bootstrap process.
Depending on your setup you may not care for internationalization in debconf so this can be removed in that case.
root@devuan:/# dpkg --purge debconf-i18n
As you only need one gcc-base package you can remove gcc-4.8-base in favour of gcc-4.9-base.
root@devuan:/# dpkg --purge gcc-4.8-base
Configuring APT to exclude recommended packages
As you may know recommended packages add much bloat to the system for the sake of features that are rarely ever essential.
Another advantage of installing by debootstrap is you can make sure recommended packages do not bloat your system up to begin with.
Use an editor to make the necessary changes.
root@devuan:/# sensible-editor /etc/apt/apt.conf.d/01lean
Add the following lines.
Updating the system
Before continuing you should make sure your system is up-to-date and secure. To do this we need to add the repositories and update from them.
First add the repositories.
root@devuan:/# sensible-editor /etc/apt/sources.list
Make sure your sources.list has these lines.
deb http://auto.mirror.devuan.org/merged jessie main
deb http://auto.mirror.devuan.org/merged jessie-updates main
deb http://auto.mirror.devuan.org/merged jessie-security main
Update from the repositories so we can use them.
root@devuan:/# apt-get update
You can now perform an upgrade to update the base packages.
root@devuan:/# apt-get dist-upgrade
Choosing a debconf interface
There is more than one interface to debconf and you may choose between them based on your style as none are installed yet. I will cover some of these here as it’s a good opportunity to customize your system.
Whiptail is an easy to use interface similar to dialog and is the default debconf interface for Devuan.
Dialog is similar to whiptail and will be familiar to many users who have done text-based installs before.
The readline interface is not so much an interface as it is a prompting for your choice of configuration options by numeric responses. The readline interface uses a PERL module so this may be a good choice if you already have other uses for PERL.
This method of configuring packages is not an interface, rather debconf will open an editor at first relevant line in the configuration file for the installed package. This could be a useful tool for learning more about your system, or give you more control if it is needed.
Install and configure the debconf interface
A good choice for minimalism purposes is the default whiptail interface.
root@devuan:/# apt-get install whiptail
The readline interface is a good alternative for console fans.
root@devuan:/# apt-get install libterm-readline-perl-perl
Or use the dialog interface if you prefer it over whiptail.
root@devuan:/# apt-get install dialog
Now reconfigure debconf to let it know which interface you want to use.
root@devuan:/# dpkg-reconfigure debconf
Adding the network components
Install the minimum requied packages to get networking.
root@devuan:/# apt-get install netbase net-tools ifupdown
Some optional network tools may be wanted, especially a DHCP client for automatic network configuration.
root@devuan:/# apt-get install isc-dhcp-client inetutils-ping
Installing the Linux kernel
In order to boot from your new GNU/Linux system you will need to install the Linux kernel.
root@devuan:/# apt-get install linux-image-`dpkg --print-architecture`
Installing the boot loader
Since it has a smaller installed size and more support than lilo we will be using GRUB2 as the boot loader.
If you are using logical volumes you need to install the lvm2 package first.
root@devuan:/# apt-get install lvm2
If you have another OS installed on this system and want to boot it, install the os-prober package.
root@devuan:/# apt-get install os-prober
We will now install the bootloader.
root@devuan:/# apt-get install grub2
Usually you will want to install the bootloader on the MBR of the first disk which will most often be /dev/sda.
Some optional packages for a base install.
root@devuan:/# apt-get install psmisc pciutils rsyslog less
This is a suggestion for packages you may want that will help you post-install if needed.
root@devuan:/# apt-get install man manpages lynx irssi
If shell access over the network is needed don’t forget to install the shell server now.
root@devuan:/# apt-get install openssh-server openssh-client openssh-blacklist
Unmounting the proc and dev filesystems
We are nearly done with the install, we will first make sure proc and dev are unmounted.
First exit the chroot environment.
Now unmount proc and dev from /target.
~ # umount /target/proc
~ # umount /target/dev
Finishing the installation
It’s time to tell the installer to finish the install now. All remaining configuration files will be created on the target system so this step must not be omitted.
Head back over to the installer by pressing Alt + F1 together.
Now skip down to the step to finish the install.
You will be asked to install the base system but you should decline this by choosing the go back option which will skip this step. This should be done for the bootloader step that will follow as well.
That will complete this install guide, enjoy your Devuan system!