################################################## #------ Slackware ARM on a Raspberry Pi 4 ------# ################################################## SARPi Project: https://sarpi.penthux.net SARPi4.README - 26 November 2021 Build Ref: EXAMPLE_FILE Copyright (c) 2012-2021 SARPi Project ################################################# #---------------- SARPi4.README ----------------# ################################################# This is the Slackware ARM current installer created by the SARPi Project, and modified for the Raspberry Pi 4. It enables you to install Slackware ARM current from a network, or a FTP/HTTP server, or a USB storage device connected to your Raspberry Pi 4. You're able to use microSD cards with an adapter the same as standard full size SD cards to install and run Slackware ARM. All SD cards will vary in quality and performance. You may find that some SD cards give you problems while others work flawlessly. Testing with a few different cards may be prudent to see which ones offer the most favourable results. NB: A 16Gb SD card or larger is required for a full installation. Please follow these steps to perform a Slackware ARM installation, or for more detailed instructions see the SARPi end-to-end 'How To' tutorial on: https://sarpi.penthux.net 1. On a host Linux system, copy the installer image to a microSD card: xzcat sarpi4-installer_slackcurrent_26Nov21_sp1.img.xz > [device] * where [device] is the SD card device ID. Example: /dev/sda 1a. On a Windows system extract the installer image from the .xz archive with '7zip' and then write it to a microSD card using 'SD Imager', or whichever software you prefer to use for these tasks. Download 7zip: https://www.7-zip.org/ Download SD Imager: https://sourceforge.net/projects/sdimager/ Or create a +160MiB FAT32 DOS partition on a SD card and extract all the files from sarpi4-installer-boot_slackcurrent_26Nov21_sp1.zip archive into this partition. 2. Download the latest Slackware ARM source, copying it to the root of a USB storage device, such as USB memory stick. NB: This is entirely optional. A FTP/HTTP server, NFS, Samba share, hard drive partition or pre-mounted directory can be used for the Slackware ARM source media during installation. Downloading can de done via FTP, etc. See: ftp://slackware.uk/slackwarearm/slackwarearm-current/ You can also achieve this in Linux via the CLI with 'rsync' command into any directory you choose. Example: cd /tmp/ rsync -Pav --delete \ ftp://slackware.uk::slackwarearm/slackwarearm-current . * Don't forget the period "." at the end or it won't work! 3. Put the microSD card in your Raspberry Pi 4 and power it on. Log in as 'root' and just hit enter when asked for a password. !!! IMPORTANT !!! : _BEFORE_ you run 'setup', do this: * Set the date and time, using the command 'date MMDDHHmmYYYY' (with leading zeros where applicable and always in 24hr clock format): MM = month | DD = date | HH = hour | mm = minute | YYYY = year Example: 9:50pm on 25 May 2021 would be set like this: date 052521502021 ** NB: If you don't set the correct date/time the system will think it's "01 Jan 1970 00:00:01" - this needs to be set every time you (re)boot the system, or at least until you have NTP or a RTC installed. The Raspberry Pi does not have an on-board timeclock so if the date/time is not set accurately it _will_ cause problems on your system at some point! Next you should create swap and rootfs partitions on your SD card with 'cfdisk' or 'fdisk'. Example: cfdisk /dev/mmcblk0 Note that your SD card is identified as /dev/mmcblk0 (not /dev/sda) and the partitions are set as /dev/mmcblk0p1, /dev/mmcblk0p2, etc. The SD card will already have a /boot (/dev/mmcblk0p1) partition. You need to create a swap (/dev/mmcblk0p2) and a rootfs (/dev/mmcblk0p3) partition. There's no need to prepare the swap partition or make a filesystem on the root partition as the Slackware installer will offer to do it for you. Make sure your swap partition type is set to '82 Linux swap' before you save/quit cfdisk or fdisk. Example partition layout from 'fdisk -l' (on a 16GB SD card): Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 * 32 205055 205024 100.1M c W95 FAT32 (LBA) /dev/mmcblk0p2 205056 729087 524032 255.9M 82 Linux swap /dev/mmcblk0p3 729088 30703615 29974528 14.3G 83 Linux Plug in your USB stick/storage device to one of the USB ports - if you are not planning to install from the network, or use a FTP/HTTP server as your source. * It's now possible to 'auto-mount' a USB storage device containing the Slackware source. (i.e. 'Install from USB stick' is an option.) * You're able to install over a network or from a FTP/HTTP server if you don't have a suitable USB storage device available. For example, a typical FTP server address/path would be something like this: ftp://slackware.uk/ \ slackwarearm/slackwarearm-current/slackware 4. Run 'setup' as usual and go through the install procedure. System parameters and package selection is entirely up to you and your requirements. If required, follow the SARPi setup tutorial: https://sarpi.penthux.net/index.php?p=slacksetup 5. During the install process you may already be familiar with the Slackware installer. You are able to do a minimal customised or full install of Slackware ARM current on the Raspberry Pi 4 and tailor it to suit your own needs and requirements. More details on the Slackware installer and setup process, if required: http://www.slackware.com/install/setup.php 6. !!! IMPORTANT !!! When you have finished setup, choose 'No' to EXIT setup (DO NOT REBOOT!!!) and drop to the command prompt. [ DO _NOT_ REBOOT!!! ] 7. If you've installed kernel packages (i.e. in a 'full' install) you should remove them by using the following commands: ROOT=/mnt removepkg kernel_armv7 kernel-modules-armv7 8. Mount the boot partition, remove the initrd.gz installer, and install the new Raspberry Pi 4 kernel, modules, and boot-firmware packages: mount -t vfat /dev/mmcblk0p1 /mnt/boot rm /boot/initrd.gz ROOT=/mnt installpkg /rpi-extra/kernel* /rpi-extra/sarpi* 9. Now you can type 'reboot [-f]' to start your new system! :-) * Remember to set the date/time, using the 'date MMDDHHmmYYYY' command after re-booting. If you have an Internet connection you can add a line to rc.local to set the date/time every time you (re)boot: echo "/usr/sbin/ntpdate pool.ntp.org >/dev/null &" >> etc/rc.d/rc.local * Alternatively, you could add your own RTC. See this SARPi tutorial: https://sarpi.penthux.net/index.php?p=chronodot-rtc 10. Before doing anything else, you should create a normal user account so you are not using 'root' all the time. You add a user to your Slackware system like this: adduser * where '' is the username ( e.g. dave, jellyd, user1337 ) Go through the process and set a password. When you log-in use this account and not 'root'. Only use 'root' when you specifically need it! For more information about Slackware ARM please visit: http://arm.slackware.com/ Recommended Slackware ARM resources: # Slackware Documentation Project: http://docs.slackware.com/howtos:hardware:arm:start http://docs.slackware.com/slackbook:start # Slackware ARM [linuxquestions.org] forum: http://www.linuxquestions.org/questions/slackware-arm-108/ # Slackware ARM YouTube channel: https://www.youtube.com/channel/UCabC1NZDGA3FZXf2hQ-6uyA Copyright and licensing information: Read the COPYRIGHT.TXT file included within the SARPi installer software. Or view it on the SARPi website: https://sarpi.penthux.net/files/extra/COPYRIGHT.TXT This file is part of the SARPi installer disk image software. SARPi installer is free software: you can redistribute it and/or modify it. SARPi installer is distributed in the hope that it will be useful for installing Slackware ARM on a Raspberry Pi single board computer. DISCLAIMER NOTICE: THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Slackware ARM initial RAM disk image [initrd-armv7.img] For Slackware version : current Build date............: Thu Oct 7 15:42:02 UTC 2021 Build details: -------------- Installer arch target : arm Build host............: Linux mojo.arm.slackware.com 5.14.9-armv7 #1 SMP Thu Sep 30 14:07:03 BST 2021 armv7l Allwinner sun8i Family GNU/Linux SARPi4 installer image and packages Version details: ---------------- SARPi4 kernel vers...: 5.15.5-v7l-sarpi4 SARPi4 release vers..: 26Nov21 Target arch..........: armv7l Slackware repository.: ftp://slackware.uk/slackwarearm/slackwarearm-current/ RPi repository.......: https://github.com/raspberrypi/ Linux kernel git rev.: 056ed50ec RPi boot-fw git rev..: 24d966d Build details: -------------- SARPi4 Build host....: Linux endo 5.15.5-v7l-sarpi4 #1 SMP Fri Nov 26 11:06:48 GMT 2021 armv7l BCM2711 GNU/Linux Host OS..............: Slackware 15.0 Hardware.............: Raspberry Pi 4 Model B Rev 1.4 Hardware rev.........: b03114 CPU serial...........: 1000000095b0df70 README Timestamp.....: Fri 26 Nov 2021 18:10:38 Slackware ARM on a Raspberry Pi - SARPi Project https://sarpi.penthux.net