[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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
slackwarearm:inst_sa64_cur_rk3399_rockpro64 [2021/11/30 13:55 (UTC)] – old revision restored (2021/11/30 11:40 (UTC)) mozesslackwarearm:inst_sa64_cur_rk3399_rockpro64 [2021/12/09 12:08 (UTC)] mozes
Line 1: Line 1:
-<note warning>Nov 2021 - wip</note>+<note warning>Slackware AArch64 is not yet released.</note> 
 ====== Installing Slackware AArch64 on the RockPro64 ====== ====== Installing Slackware AArch64 on the RockPro64 ======
  
Line 5: Line 6:
 ^  ^ Target ^ ^  ^ Target ^
 | Platform | AArch64 |  | Platform | AArch64 | 
-| Slackware Distribution|Slackware AArch64 Current |      
 | Hardware Model |Rock Pro64 | | Hardware Model |Rock Pro64 |
 +| Document Version | 1.00, Dec 2021 |
 +| Author | Stuart Winter <mozes@slackware> |
 +| Contributors | Brent Earl |
  
  
 ==== Video Tutorial ==== ==== Video Tutorial ====
  
-This tutorial is also available in video form (to be created)+This tutorial is also available in [[https://www.youtube.com/watch?v=uXAL9jz-yaA|video form]].
  
  
Line 18: Line 21:
 ==== Installation Lifecycle ==== ==== Installation Lifecycle ====
  
-The Installation consists of nine distinct stages:+The Installation consists of a number of distinct stages:
  
   - Acquiring all required hardware   - Acquiring all required hardware
   - Setting up local environment to support the installation over the network   - Setting up local environment to support the installation over the network
-  - Downloading the Slackware assets+  - Downloading and verifying the Slackware assets
   - Writing the Initialisation Bootware to the Micro SD card   - Writing the Initialisation Bootware to the Micro SD card
   - Setup of the RockPro64 hardware   - Setup of the RockPro64 hardware
Line 31: Line 34:
   - Completing the installation   - Completing the installation
   - Booting the Slackware OS   - Booting the Slackware OS
 +  - Post installation configuration and tweaks
  
 ===== Requirements ===== ===== Requirements =====
Line 42: Line 46:
 | [[https://www.amazon.co.uk/SanDisk-Extreme-Performance-Supports-Graphics/dp/B089M5KV4Y|Micro SD Card]] | 2GB **minimum**, fast speed, good quality make | Used as Slackware's /boot partition | | [[https://www.amazon.co.uk/SanDisk-Extreme-Performance-Supports-Graphics/dp/B089M5KV4Y|Micro SD Card]] | 2GB **minimum**, fast speed, good quality make | Used as Slackware's /boot partition |
 | [[https://www.amazon.co.uk/UGREEN-Adapter-Windows-Surface-Chromebook/dp/B01EFPX9XA|USB Multi-Card Reader]] | Must accept Micro SD cards | Used to write the Bootware on your host Linux computer.  This isn't required if your host computer has a Micro SD card reader. | | [[https://www.amazon.co.uk/UGREEN-Adapter-Windows-Surface-Chromebook/dp/B01EFPX9XA|USB Multi-Card Reader]] | Must accept Micro SD cards | Used to write the Bootware on your host Linux computer.  This isn't required if your host computer has a Micro SD card reader. |
-| [[https://thepihut.com/products/usb-to-ttl-serial-cable|USB to Serial adapter]] | PL2303 chip.  Other models may work, but this one has been tested. If your model has the option to set voltages, ensure **3volts** is set!  | A USB to Serial adapter is recommended, but optional.|+| [[https://thepihut.com/products/usb-to-ttl-serial-cable|USB to Serial adapter]] | PL2303 chip.  Other models may work, but this one has been tested. If your model has the option to set voltages, ensure **3volts** is set!  | A USB to Serial/UART adapter is recommended if you want to access the console remotely, but is unnecessary if you only plan on using an HDMI monitor This document covers installing using an HDMI monitor - you can find information about the Serial/UART adapter at the foot of this document|
 | Jumper or Dupont cable | See images below | This is to bridge the pins required for initial firmware deployment and/or Hardware Model recovery| | Jumper or Dupont cable | See images below | This is to bridge the pins required for initial firmware deployment and/or Hardware Model recovery|
 | [[https://www.amazon.co.uk/USB-SATA-Adapter-Cable-Drives-en-GB-SATA-USB-3-0-converter/dp/B01N2JIQR7|USB to SATA adapter]] | Many models will work, but this one has been tested. | For a simple installation you require either storage attached to a USB interface, or using the SATA PCI card (see below).| | [[https://www.amazon.co.uk/USB-SATA-Adapter-Cable-Drives-en-GB-SATA-USB-3-0-converter/dp/B01N2JIQR7|USB to SATA adapter]] | Many models will work, but this one has been tested. | For a simple installation you require either storage attached to a USB interface, or using the SATA PCI card (see below).|
Line 61: Line 65:
 However, powering spinning 3.5" SATA drives from the RockPro64 directly have resulted in instability of the hardware.  This was resolved by powering the drives and CPU fan from an external power supply. However, powering spinning 3.5" SATA drives from the RockPro64 directly have resulted in instability of the hardware.  This was resolved by powering the drives and CPU fan from an external power supply.
 The Slackware AArch64 primary build machines run with this power configuration and have proven stable over time. The Slackware AArch64 primary build machines run with this power configuration and have proven stable over time.
 +
 +== eMMC ==
 +
 +From the factory, your RockPro64 may contain an eMMC storage module. During the development of Slackware AArch64, it was found that the life span of these storage modules is short which makes them inappropriate for housing an Operating System. Whilst it's possible to use eMMC with Slackware, this documented installation process does not provide a supported path and the eMMC should be removed.
 +
  
 === Computing / Network Environment === === Computing / Network Environment ===
Line 66: Line 75:
  
 ^ Item ^ Specification ^ Notes ^ ^ Item ^ Specification ^ Notes ^
-| Host Computer: an Internet-connected computer running an existing Linux distribution | Preferably a full installation of Slackware x86/64, but any distribution that can provide the required Python environment and HTTP server module. The Host Computer needs approximately **5GB free storage** to download the required software assets.  **You must be able to obtain //root// access to this Host computer**.  | This will be used to download the Slackware distribution from the Internet, and serve the Pinebook Pro client to install Slackware over the LAN (Local Area Network).  |+| Host Computer: an Internet-connected computer running an existing Linux distribution | Preferably a full installation of Slackware x86/64, but any distribution that can provide the required Python environment and HTTP server module. The Host Computer needs approximately **5GB free storage** to download the required software assets.  **You must be able to obtain //root// access to this Host computer**.  | This will be used to download the Slackware distribution from the Internet, and serve the RockPro64 client to install Slackware over the LAN (Local Area Network).  | 
 +| Network DHCP server | Provide an IP address and routing information for the RockPro64 to be able to contact the Linux Host Computer (to download the Slackware tree) and the Internet (to set date via NTP) | This document expects the RockPro64 to be able to obtain an IP address via DHCP over the LAN.  However, you can also manually configure an IP address once the Slackware Installer has booted (note that a lack of DHCP server will stall the Installer by several seconds).  You could also copy the Slackware media to a USB stick and install from there.  This is outside of the scope of this document, however [[https://docs.slackware.com/howtos:network_services:dhcp_server_via_dnsmasq|this document]] describes how to set up a simple DHCP service on Slackware. | 
 + 
 +<note tip>Most home routers equipped with Ethernet ports provide a DHCP server which should suffice for this setup</note>
  
 ===== Hardware Setup ===== ===== Hardware Setup =====
Line 78: Line 90:
 {{:slackwarearm:01-rockpro64-annotated.png?400|}} {{:slackwarearm:01-rockpro64-annotated.png?400|}}
  
 +
 +== Remove eMMC storage module ==
 +
 +In the image above you will see that the eMMC module has been removed (bottom right, left hand side of 'Head phones jack').
 +See the note above for the reasons behind this.
 +
 +Gently prize the eMMC module from the board and store it some place safe as you may wish to experiment with it in the future.
 +
 +<note tip>If you are planning on using the RockPro64 as an 'embedded' device, the eMMC may be sufficient.  However, for a regular OS upon which you will be reading/writing/updating, it has insufficient longevity for this author to recommend its use for Slackware</note>
  
 === 2. Connect the peripherals === === 2. Connect the peripherals ===
Line 155: Line 176:
 The U-Boot Boot Loader that will be installed onto the SPI flash: The U-Boot Boot Loader that will be installed onto the SPI flash:
 <code> <code>
-rsync -PavL $SLKSRV/platform/aarch64/bootware/recovery/rk3399/flash-spi-rockpro64.img.xz .+rsync -PavL $SLKSRV/slackwarearm/platform/aarch64/bootware/recovery/rk3399/flash-spi-rockpro64.img.xz 
 +rsync -PavL $SLKSRV/slackwarearm/platform/aarch64/bootware/recovery/rk3399/flash-spi-rockpro64.img.xz.asc .
 </code> </code>
  
Line 162: Line 184:
 == Download the Slackware Linux installer for the RK3399 AArch64 platform == == Download the Slackware Linux installer for the RK3399 AArch64 platform ==
 <code> <code>
-rsync -PavL $SLKSRV/platform/aarch64/bootware/installer/slackwareaarch64-${SLKVER}/rk3399_generic.sdimg_latest.img.xz .+rsync -PavL $SLKSRV/slackwarearm/platform/aarch64/bootware/installer/slackwareaarch64-${SLKVER}/rk3399_generic.sdimg_latest.img.xz 
 +rsync -PavL $SLKSRV/slackwarearm/platform/aarch64/bootware/installer/slackwareaarch64-${SLKVER}/rk3399_generic.sdimg_latest.img.xz.asc .
 </code> </code>
  
Line 169: Line 192:
 == Download the Slackware tree verficiation tool == == Download the Slackware tree verficiation tool ==
 <code> <code>
-rsync -PavL $SLKSRV/platform/all/scripts .+rsync -PavL $SLKSRV/slackwarearm/platform/all/scripts .
 </code> </code>
  
Line 180: Line 203:
    --exclude '*/source/*' \    --exclude '*/source/*' \
    --delete -Prlvv \    --delete -Prlvv \
-   $SLKSRV/slackwareaarch64-${SLKVER} .+   $SLKSRV/slackwarearm/slackwareaarch64-${SLKVER} .
 </code> </code>
  
Line 190: Line 213:
 Verify the digital signature of the verification tool: Verify the digital signature of the verification tool:
 <code> <code>
-gpg2 --verify-files scripts/slacksigchk.sh.asc+gpg --verify-files scripts/slacksigchk.sh.asc
 </code> </code>
  
Line 209: Line 232:
  
 <code> <code>
-chmod 755 scripts/slacktreegpgcheck.sh +chmod 755 scripts/slacksigchk.sh 
-./scripts/slacktreegpgcheck.sh slackwareaarch64-${SLKVER}+./scripts/slacksigchk.sh slackwareaarch64-${SLKVER}
 </code> </code>
  
Line 305: Line 328:
   - Insert the Micro SD card into the RockPro64's Micro SD slot   - Insert the Micro SD card into the RockPro64's Micro SD slot
   - Connect the power to the RockPro64   - Connect the power to the RockPro64
-  - Power on the RockPro64: hold down the Power button for seconds+  - Power on the RockPro64: hold down the Power button for seconds
  
  
Line 319: Line 342:
  
  
-Once the process completes, **power off** the RockPro64: //hold the power button for approximately **8 seconds**//.+Once the process completes, //hold the power button for approximately **8 seconds**//.  The RockPro64 will power off.
  
 ===== Write the Slackware Installer image onto the MicroSD card ===== ===== Write the Slackware Installer image onto the MicroSD card =====
Line 444: Line 467:
 Partition  Partition 
  
-^ Partition number ^ Size ^ Purpose ^ +^ Partition number ^ Device name ^ Size ^ Purpose ^ 
-| 1 | 4GB | Swap | +| 1                | /dev/sda1   | 4GB   | Swap | 
-| 2 | Rest of storage | OS root ('/') partition |+| 2                | /dev/sda2   | Rest of storage | OS root ('/') partition |
  
 <note tip>/boot will reside on the Micro SD card and is automatically configured by the Slackware Installer</note> <note tip>/boot will reside on the Micro SD card and is automatically configured by the Slackware Installer</note>
Line 628: Line 651:
  
 {{:slackwarearm:42-ConfigureNetwork-enterDomainname.jpg?400|}} {{:slackwarearm:42-ConfigureNetwork-enterDomainname.jpg?400|}}
 +
  
 {{:slackwarearm:43-ConfigureNetwork-ConnectViaVLAN.jpg?400|}} {{:slackwarearm:43-ConfigureNetwork-ConnectViaVLAN.jpg?400|}}
Line 697: Line 721:
 You may now login as 'root', using the password you set within the installer. You may now login as 'root', using the password you set within the installer.
  
 +== Quit the HTTP media server ==
  
-===== Post Installation Configration =====+On your Linux Host Computer, you can return to the HTTP server that we started earlier on. 
 +In the terminal window in which you started it, you will see the access logs from the Slackware Installer downloading the packages. 
 + 
 +Simple press CONTROL+c to quit it. 
 + 
 +You may now delete the slackwareaarch64 tree, or perhaps keep it around to subsequently update it. 
 + 
 + 
 +===== Post Installation Configuration =====
  
 There are a few post-installation configuration tasks to complete. There are a few post-installation configuration tasks to complete.
  
  
-=== Add a plebian user ===+=== Add a plebeian user ===
  
-You should add a plebian (non-root) user using the 'adduser' tool.+You should add a plebeian (non-root) user using the 'adduser' tool.
  
 This is documented [[https://www.slackbook.org/html/essential-sysadmin.html|here]]. This is documented [[https://www.slackbook.org/html/essential-sysadmin.html|here]].
 +
 +== NTP (Network Time Protocol) setup ==
 +
 +If your RockPro64 does not have an RTC battery backup, you may wish to configure it to [[https://docs.slackware.com/howtos:network_services:ntp|set time from an NTP Server]].
  
 == CPU Fan Control == == CPU Fan Control ==
Line 751: Line 788:
  
  
-===== Using the Serial adapter =====+===== Using the Serial/UART adapter =====
  
 This documentation discusses using the RockPro64 without the UART/Serial console. This documentation discusses using the RockPro64 without the UART/Serial console.
 slackwarearm:inst_sa64_cur_rk3399_rockpro64 ()