################################################# #---- Slackware AArch64 on a Raspberry Pi 5 ----# ################################################# SARPi Project: https://sarpi.penthux.net SARPi5_64.README - 19 February 2024 Build Ref: EXAMPLE_README_FILE ################################################# #-------------- SARPi5_64.README ---------------# ################################################# The SARPi Project ----------------- The SARPi Project is a community project by individuals supporting Slackware Linux on the Raspberry Pi devices and has been active since October 2012. The SARPi Project is not officially supported or endorsed by Slackware Linux, Inc. or Raspberry Pi Ltd. or any of their respective members, trustees, partners, or associates. SARPi Project Homepage: https://sarpi.penthux.net SARPi5_64 installer image: ----------------------------------- This is the Slackware AArch64 installer on the Raspberry Pi 5, by the SARPi Project. This image allows users to install the Slackware AArch64 operating system from a local network, FTP/HTTP server, or USB storage device plugged into your Raspberry Pi 5. This SARPi5_64 installer image, and its contents, was created specifically for installing Slackware AArch64 on a Raspberry Pi 5. The installer and packages were built on a Raspberry Pi 5 Model B running Slackware AArch64, using a modified Slackware installer build script and the latest official Raspberry Pi GitHub repository sources. The initramfs has been modified to include kernel_sarpi5_64, kernel-headers-sarpi5_64, kernel-modules-sarpi5_64, sarpi5_64-boot-firmware, and sarpi5_64-hacks-5.0 packages. The running kernel modules, and this README file are also included in the initramfs. Slackware AArch64 installer images and packages for the Raspberry Pi 5 are available from: https://sarpi.penthux.net/index.php?p=downloads The SARPi Project downloads repository is kindly hosted by Slackware.UK: https://slackware.uk/sarpi Storage device considerations: ------------------------------ You're able to use microSD cards with an adapter (i.e. like a standard full size SD card) to write the SARPi5_64 installer to it. You can then use the microSD card to install and run Slackware AArch64 on it. You may find that some SD cards are problematic while others work flawlessly, because SD cards will vary in design, quality, and performance. Testing with a few different cards may be prudent to see which ones offer the most favourable results. Be aware that SD cards have a much shorter life expectancy than a lot of other digital media alternatives, such as HHDs and SSDs. NB: A 16Gb SD card is recommended for a minimal installation. A 32Gb SD card is recommended for a full installation of Slackware AArch64. Installing onto a USB storage device, such as a HDD/SSD or USB memory stick, instead of a SD card, is relatively straightforward on a Raspberry Pi 5. On other models it might be easier, if not required, to use a SD card as the /boot device and a USB storage device for /swap and / root partitions. It's entirely up to you how the system is configured, for the most part. Slackware AArch64 is very versatile and configurable. ###### Slackware AArch64 installation: ------------------------------- Please follow these steps to perform a Slackware AArch64 installation. For more detailed instructions see the SARPi end-to-end 'How To' tutorial on: https://sarpi.penthux.net/?p=installer 1. On a host Linux system, copy the installer image to a microSD card: xzcat sarpi5_64-installer_slackcurrent_19Feb24_sp1.img.xz | dd of=/dev/sdX * where /dev/sdX is the storage device ID. Example: /dev/sda If you are installing manually then you should create a /boot partition of at least 200MB and format it as a W95 FAT32 file system. Using 'fdisk' this would be type: 0b W95 FAT32 (LBA) Using 'gdisk' this would be type: 0700 Microsoft basic data You can then mount the partition and extract the .ZIP installer image files onto it. For example, if '/dev/sda1' is the device name of your boot partition: mount /dev/sda1 /path/to/mountpoint unzip sarpi5_64-installer-boot_slackcurrent_19Feb24_sp1.zip \ -d /path/to/mountpoint 1a. On a Windows system, extract the installer image from the .xz archive with '7zip' and then write it to a microSD card using 'balenaEtcher', or whichever software you prefer to use for these tasks. Download 7zip: https://www.7-zip.org/ Download balenaEtcher: https://www.balena.io/etcher/ * balenaEtcher can also handle compressed disk images, sometimes. 1b. On a macOS system, in the terminal type 'diskutil list' to find the diskX (value) identifier associated with the storage device you're writing the installer image to. Then type the following command to extract the contents of the compressed .xz file: tar xJvf sarpi5_64-installer_slackcurrent_19Feb24_sp1.img.xz Then you can write the installer image to your storage device using the following command: dd if=sarpi5_64-installer_slackcurrent_19Feb24_sp1.img of=/dev/diskX * where diskX is the disk identifier value. Example: /dev/disk3 2. Download the latest Slackware AArch64 source and copy it to the root of a USB stick. This can de done via FTP, etc. See: http://slackware.uk/slackwarearm/slackwareaarch64-current/ You can also achieve this in Linux via the command prompt with 'rsync': rsync -Pavz slackware.uk::slackwarearm/slackwareaarch64-current \ /PATH/TO/LOCAL/SOURCE/DIR 3. Put the microSD card in your Raspberry Pi 5 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:05pm on the 7th of January 2017 would be set like this: date 010721052017 ** NB: If you do not set the correct time and date your Slackware system will use the default of 00:00 on 01 January 1970, the date of the UNIX epoch. If the time is not set relatively accurately it will undoubtably cause many problems as you try to use the system. Next you should create swap and rootfs partitions on your SD card with 'fdisk' or 'gdisk'. Example: cfdisk /dev/mmcblk0 Note that a SD card in the Raspberry Pi microSD slot is identified as /dev/mmcblk0 (not /dev/sda or /dev/sdb) 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 partition (/dev/mmcblk0p2) and a root partition (/dev/mmcblk0p3). 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 is type: '82 Linux swap' with 'fdisk' or type: '8300 Linux swap' when using 'gdisk'. 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 * A USB storage device will be identified as /dev/sda or /dev/sdb, etc. Plug in your USB stick/storage device containing the Slackware AArch64 source files - 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: http://slackware.uk/ \ slackwarearm/slackwareaarch64-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 AArch64 current on the Raspberry Pi 5 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_armv8* kernel-modules-armv8* 8. Mount the boot partition, remove the initramfs file, and install new SARPi5_64 kernel and firmware packages for the Raspberry Pi 5. For example, if the /boot device is '/dev/mmcblk0p1' then: mount -t vfat /dev/mmcblk0p1 /mnt/boot rm /boot/initramfs.xz ROOT=/mnt installpkg /rpi-extra/kernel* /rpi-extra/sarpi* 9. Now you can type 'reboot [-f]' to start your new system! :-) reboot -f * if 'reboot' doesn't work then 'reboot -f' forces a reboot. 9a. When logging in for the first time, and even at other times, it's good policy to: * Check the date/time on your system to ensure it's relatively accurate. date * Set the date/time, using the 'date MMDDHHmmYYYY' command, especially after re-booting from installation. For example, if the date/time was 25 January 2024 09:44pm then it would be set like this: date 012521442024 9b. If you have an Internet connection you can use the 'ntpdate' command to set the time accurately by a NTP server. You can also add a line into rc.local to set the correct time on every system (re)boot: echo "/usr/sbin/ntpdate pool.ntp.org &> /dev/null" >> /etc/rc.d/rc.local 9c. Alternatively, you could achieve this easily and automatically with a real time clock [RTC]. See this SARPi mini-project guide if your Raspberry Pi doesn't already have a RTC installed: 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 of your choice ( e.g. dave, user1337 ) Go through the process and set a password. Whenever you log-in use this account and not 'root'. Only use 'root' when you specifically need it! ###### Once you've installed and setup a fully operational Slackware AArch64 system it may be a good time to investigate some highly recommended Slackware Linux resources: # The Revised Slackware Book Project: https://www.slackbook.org/ # Slackware Documentation Project: http://docs.slackware.com/howtos:hardware:arm: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 For official information about Slackware AArch64 please visit: http://arm.slackware.com/ ###### SARPi5_64 README This README file is included in the SARPi5_64 installer disk image software and created for use with the Raspberry Pi 5. SARPi Project Software Acceptable Use Policy: https://sarpi.penthux.net/index.php?p=sarpi#aup SARPi Project Software Redistribution Policy: https://sarpi.penthux.net/index.php?p=sarpi#redist ###### Copyright and licensing information: The SARPi Project uses software and trademarks that are owned by third parties. All ownership and intellectual property rights of any material is acknowledged, along with any terms and conditions accompanying their respective software license(s) and agreements. Read the COPYRIGHT.TXT file included within the SARPi64 installer software. Or view it on the SARPi website: https://sarpi.penthux.net/files/extra/COPYRIGHT.TXT ###### 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. ###### Every effort has been made by the SARPi project to provide complete software and information. However, mistakes do happen and it's possible that something may have been overlooked and is incomplete, and/or incorrect, and/or causing errors. If you find something is missing, or is inaccurate, or not working as expected (e.g. in the software or on the website), please contact the SARPi Project with any relevant details. https://sarpi.penthux.net/index.php?p=contact SARPi Project - Slacking on a Raspberry Pi Copyright (c) 2012-2024 SARPi Project ###### SARPi5_64 Build Synergy ----------------------- SARPi5_64 Project eng.: v3.6.67 Slackware AArch64 initial RAM disk image [initrd-armv8.img] For Slackware version : current Build date............: Mon Feb 19 07:57:55 GMT 2024 Build details: -------------- Installer arch target : aarch64 Build host............: Linux iana.penthux.net 6.6.16-v8-sarpi5_64 #9 SMP PREEMPT Mon Feb 12 14:09:16 GMT 2024 aarch64 GNU/Linux SARPi5_64 installer image and packages Version details: ---------------- SARPi5_64 kernel......: 6.6.16-v8-sarpi5_64 SARPi5_64 release.....: 19Feb24 SARPi5_64 BuildLog....: EXAMPLE_README_FILE Taget hardware........: Raspberry Pi 5 Target ARM ISA........: armv8 Slackware repository..: https://slackware.uk/slackwarearm/slackwareaarch64-current RPi repository........: https://github.com/raspberrypi Linux kernel git rev..: 06e7d1a65 RPi boot-fw git rev...: e33dd33 Host details: ------------- SARPi5_64 Build host..: Linux iana 6.6.16-v8-sarpi5_64 #9 SMP PREEMPT Mon Feb 12 14:09:16 GMT 2024 aarch64 GNU/Linux Host OS...............: Slackware 15.0 aarch64 (post 15.0 -current) Hardware..............: Raspberry Pi 5 Model B Rev 1.0 Hardware rev..........: d04170 CPU serial............: 22084b194fad3397 README Timestamp......: Mon 19 Feb 2024 07:59:27 SARPi Project - Slacking on a Raspberry Pi https://sarpi.penthux.net #EOF<*>