Welcome to the Slackware Documentation Project

Slackware Network Install on Raspberry Pi 3

Introduction

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.

Requirements

  • 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 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from b8:27:eb:fe:b8:53 (oui Unknown), length 361
16:27:19.401973 ARP, Request who-has 172.17.0.71 tell 172.17.0.71, length 46

In this case the IP address of the Pi is 172.17.0.71.

ssh into the Pi as root:

# ssh root@172.17.0.71

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:

http://ftp.arm.slackware.com

Set the source directory as:

/slackwarearm/slackwarearm-14.2

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

Note that the RPi ssh identity has now changed from the one used for the installer, so when you ssh to your newly installed Slackware box you will have to remove the entry from .ssh/known_hosts on your ssh client.

Sources


In Other Languages
Translations of this page?:
QR Code
QR Code howtos:hardware:arm:raspberrypi3_network (generated for current page)