[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.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
slackwarearm:development_di_rk3399 [2022/01/04 09:55 (UTC)] – mozes | slackwarearm:development_di_rk3399 [2022/03/20 06:56 (UTC)] (current) – removed mozes | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <note warning> | ||
- | |||
- | ====== | ||
- | |||
- | This exposition also covers Slackware ARM (32bit ARMv7), although at present (May 2021) AArch64 is wider ranging with regard to the //plugin// development model. | ||
- | |||
- | < | ||
- | |||
- | ====== | ||
- | |||
- | The boot loader employed on the RockPro64 and PineBook Pro is [[https:// | ||
- | |||
- | ====== Trusted Firmware-A (ARM Trusted Firmware) ====== | ||
- | |||
- | The ARM Trusted Firmware is embedded within the supplied U-Boot loader, and aren't used by the end-user directly. | ||
- | However, some platforms require the Trusted Firmware to boot a Kernel. | ||
- | |||
- | The single build script is used to produce the trusted firmware assets for all supported Hardware Models. | ||
- | |||
- | ^ Asset(s) ^ Description ^ | ||
- | | [[http:// | ||
- | | [[http:// | ||
- | |||
- | ====== U-Boot Boot Loader ====== | ||
- | |||
- | ======= Recovery / Initialisation SD Card image ======= | ||
- | |||
- | * Needs script work to create one | ||
- | |||
- | ======= U-Boot configured to boot from SPI Flash ======= | ||
- | |||
- | ======= U-Boot configured to boot from SD Card ======= | ||
- | |||
- | Built and available but not used for either the Operating System Installation nor Operating System Proper. | ||
- | The image can be written to an SD Card as a header and booted, but U-Boot would fail to boot sometimes after changes to the /boot filesystem, so it was unsuitable as a solution. | ||
- | |||
- | ==== Boot Media ==== | ||
- | |||
- | * OS and Installer Bootware for SD cards | ||
- | |||
- | |||
- | ====== Slackware Operating System ====== | ||
- | |||
- | |||
- | ====== Kernel ====== | ||
- | |||
- | |||
- | ==== Kernel Configuration ==== | ||
- | |||
- | < | ||
- | |||
- | ^ Package Series ^ Package ^ Asset ^ Src ^ | ||
- | | k | kernel-source | configs/ | ||
- | |||
- | ^Change Management Process^ | ||
- | | Email the new Kernel configuration to the Slackware ARM devel mailing list with a summary of what the changes were for. | | ||
- | |||
- | ==== Kernel Package Build Helpers ==== | ||
- | |||
- | The Pinebook Pro (RK3399 SoC) requires a firmware blob to be installed within the OS InitRD (see further down) in order to light up one of the display ports. | ||
- | To facilitate this, a helper script is executed from the kernel.SlackBuild script when the OS InitRD is constructed. | ||
- | |||
- | ^ Package Series ^ Package ^ Asset ^ Src ^ | ||
- | | k | kernel-source | platform/ | ||
- | |||
- | ==== Kernel Patches ==== | ||
- | |||
- | <note important> | ||
- | |||
- | ^ Change Management Process ^ | ||
- | | Provide the origin of the patch set (one or more URLs - https, git, etc.) and they will be retrieved from there. | | ||
- | |||
- | ==== Operating System Initial RAM Disk ('OS Initrd' | ||
- | |||
- | http:// | ||
- | needed? | ||
- | |||
- | == Firmware within the OS InitRD == | ||
- | |||
- | The RockPro64 requires a small blob of firmware for one of the display drivers. | ||
- | This is included within / | ||
- | |||
- | <note important> | ||
- | |||
- | ==== Kernel Module Loader ==== | ||
- | |||
- | < | ||
- | |||
- | The Kernel Module Loader is responsible for loading software drivers (in the form of Kernel Modules) for a variety of common hardware, plus hardware for specific Hardware Models. | ||
- | The goal of the Kernel Module Loader is to load just enough drivers to access the storage upon which the Operating System resides, at which point the boot process can transition to loading the Operating System, which provides a far greater array of hardware support than is required within the early stages of booting Linux and the Slackware OS. | ||
- | |||
- | Each Hardware Model typically requires some specific software drivers to light up the hardware. | ||
- | The RockPro64' | ||
- | |||
- | ^ Asset ^ Description ^ | ||
- | | [[http:// | ||
- | |||
- | < | ||
- | |||
- | ^Change Management Process^ | ||
- | | Email the new configuration to the Slackware ARM devel mailing list, or provide a URL from which it may be obtained. | | ||
- | |||
- | ====== Hardware Model Firmware ====== | ||
- | |||
- | ^ Package Series ^ Package ^ Asset ^ Src ^ | ||
- | | a | kernel-firmware | platform/ | ||
- | | | | platform/ | ||
- | | | |platform/ | ||
- | |||
- | ^ Change Management Process ^ | ||
- | | Provide the origin of the patch set (one or more URLs - https, git, etc.) and they will be retrieved from there. | | ||
- | |||
- | <note warning> | ||
- | |||
- | ====== Serial Console System Login ====== | ||
- | |||
- | <note important> | ||
- | |||
- | To enable a TTY that presents a OS login prompt, which enables system access via the Serial adapter. | ||
- | All Hardware Models must support this. | ||
- | |||
- | ^ Package Series ^ Package ^ Asset changed ^ Src ^ | ||
- | | a | sysvinit-scripts | / | ||
- | |||
- | The additions script has inline documentation. | ||
- | |||
- | ^ Change Management Process ^ | ||
- | | This is a simple script and should not be made more complex, because this code typically never changes, thus modularising it serves no utility. Please email a diff to the Slackware ARM devel mailing list and it will be applied | | ||
- | |||
- | ====== Local Console (HDMI video, USB Keyboard / Mouse ) ====== | ||
- | |||
- | ==== Console Video Display ==== | ||
- | |||
- | Set within the Kernel Module Loader. | ||
- | Variable name.. | ||
- | |||
- | ==== X11/Xorg Window System ==== | ||
- | |||
- | Package: x/x11-skel | ||
- | Asset: doinst.sh | ||
- | |||
- | The x11-skel package' | ||
- | Xorg to automatically configure the video display. | ||
- | |||
- | Other Hardware Models contain configuration within this doinst.sh script. | ||
- | |||
- | ====== Slackware Installer ====== | ||
- | |||
- | ==== Automatic Handling of the OS /boot Partition ==== | ||
- | |||
- | / | ||
- | |||
- | ==== Installing the Boot Loader onto SPI Flash ==== | ||
- | |||
- | / | ||
- | |||
- | ==== Hardware Model Installer Runtime Configuration Adjustments ==== | ||
- | |||
- | / | ||
- | |||
- | Pinebook Pro and RockPro64 - select larger font size. | ||
- | |||
- | |||
- | ==== Configure console settings: RockPro64 and Pinebook Pro ==== | ||
- | |||
- | / | ||
- | |||
- | ==== Firmware ==== | ||
- | |||
- | RockPro64/ | ||
- | / | ||
- | |||
- | |||
- | |||
- | ==== Disabling Filesystem Checks ==== | ||
- | |||
- | If the Hardware Model does not have a battery-backed RTC (Real Time Clock), the Hardware Model will boot with a date that passed many years ago (in some cases the year will be 1970, which is the Epoch of UNIX). | ||
- | |||
- | ^ Hardware Model ^ Status ^ | ||
- | | RockPro64 | Not required | | ||
- | |||
- | Should the Hardware Model not have an RTC, there is a change to make within the Slackware Installer. | ||
- | / | ||
- | |||
- | ====== Hardware Management ====== | ||
- | |||
- | ==== Monitoring ==== | ||
- | |||
- | Not yet implemented | ||
- | |||
- | [[https:// | ||
- | |||
- | |||
- | ====== Installation Documentation ====== | ||
- | |||
- | * board support documentation and YT video url | ||
- | * board-specific documentation - docs.slackware.com | ||
- | * devel list - explanation. Not to develop Slackware, but for develpoment changes for ARM/AArch64 specifically. If the ARM/AArch64 build scripts have bugs or could be adjusted to better support ARM (e.g. with a configuration option to improve performance), | ||
- | * management | ||
- | |||
- | |||
- | |||