[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Slackware Network Install on Raspberry Pi 3


This is an abridged version of the SARPi (http://sarpi.co.uk/) installation guide dealing with the 'headless' install case for installing Slackware 14.2. There is nothing wrong with the original guide, it is very complete, but it will be somewhat wordy for people with prior Slackware installation experience, includes many screenshots familiar to users of Slackware and I found myself wanting to see just the differences between Intel and RPi install instead of the whole shebang.


  • uSD card at least 16GB in size
  • Card reader for your PC
  • The RPi 3 itself
  • A power supply for the Pi
  • Ethernet cable

SD card preparation

(On your desktop machine) Assuming your SD device is /dev/sdc

# wget http://sarpi.co.uk/files/rpi3/142/img/sarpi3-installer_slack14.2_20Jul18_sp1.img.xz
# xz -dc sarpi3-installer_slack14.2_20Jul18_sp1.img.xz | dd of=/dev/sdc bs=65536
# mount /dev/sdc1 /mnt/hd
# vim /mnt/hd/cmndline.txt

Add the following text to the end of the line with the boot parameters:

kbd=us nic=auto:eth0:dhcp

Booting the installer

Put the uSD card back in the Pi, and boot it. It will boot into a ramdisk which is running the installer. Boot the Pi while running tcpdump on your desktop to figure out what IP address it takes, you will see a line printed like this:

16:27:19.173035 IP > BOOTP/DHCP, Request from b8:27:eb:fe:b8:53 (oui Unknown), length 361
16:27:19.401973 ARP, Request who-has tell, length 46

In this case the IP address of the Pi is

ssh into the Pi as root (disabling strict host key checking because the host key will change inevitably after installation):

# ssh -o StrictHostKeyChecking=no root@

Press <enter> for password.

Set the date:

# ntpdate 0.pool.ntp.org

Set the terminal to something that will allow the dialog program to work properly if you don't want setup screens to look like garbage:

# export TERM=vt320

Using fdisk (or your favourite Slackware partition editor), update the partition table on the /dev/mmcblk0 device to reflect how you want your system.

# fdisk /dev/mmcblk0

The dd command when preparing the uSD will have already given you a 'boot' partition (/dev/mmcblk0p1), leave that alone and only add partitions to leave something like this:

Device         Boot   Start       End   Sectors   Size Id Type
/dev/mmcblk0p1 *         32    205055    205024 100.1M  c W95 FAT32 (LBA)
/dev/mmcblk0p2       206848   2303999   2097152     1G 82 Linux swap
/dev/mmcblk0p3      2304000 124735487 122431488  58.4G 83 Linux

Swap is of course optional.

Running setup

Setup is now much the same as for Intel. Remap keyboard, format partitions etc.. There will be a warning about the lack of RTC when choosing EXT4 FS, just do as it suggests.

Choose HTTP install, and set the location as:


Set the source directory as:


The source directory is the one that contains PACKAGES.TXT.

Run the install as normal.

Booting from the Linux partition

You've now installed the necessary packages, but your system will still boot the installer ramdisk image from the FAT partition until you change some things.

If you didn't during setup make the partition /dev/mmcblk0p1 visible to your Linux system just mount it now, e.g.:

# mount /dev/mmcblk0p1 /mnt/boot

To free up some space, remove the ramdisk image:

# rm /mnt/boot/initrd.gz 

Now, assuming your rootfs is mounted at /mnt, and boot partion at /mnt/boot install extra packages:

# ROOT=/mnt installpkg /rpi-extra/kernel* /rpi-extra/sarpi*

Final configuration

You can also, during setup or at a later stage make the following change if no RTC has been installed:

edit /etc/ntpd.conf and comment-in these lines:

server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
# chmod 755 /etc/rc.d/rc.ntpd
# /etc/rc.d/rc.ntpd start


 howtos:hardware:arm:raspberrypi3_network ()