Work in progress Direct Integration documentation https://docs.slackware.com/slackwarearm:inst_sa64_lx2160a_honeycomb ====== To Do ====== * Flashing tool - look at creating a microroot function within the sdcards.build that processes the os initrd == Installer post install scripts == Fix up GRUB config tool - see notes in these two scripts. root@dastardly:~/ac/source/installer/arm/hwm-configure/platform/aarch64/installer/helper.scr# ls -la total 32 drwxr-xr-x 2 root root 4096 Sep 29 12:03 ./ drwxr-xr-x 4 root root 4096 Mar 24 2022 ../ -rw-r--r-- 1 1001 users 5274 Sep 29 12:01 grub-configure-honeycomb -rw-r--r-- 1 1001 users 4165 Sep 29 12:04 grub-configure-vm == Installer image todo == /platform/aarch64/bootware/src/platform/aarch64/lx2160acex7/sdcards.build-functions Potentially name the image files 'usb' not 'sd' in function: #hwm_sdimage_installtotree () { ===== Slackware Installer image SD card layout ===== partition used for filesystem FS label installer mount point 1 EFI boot? fat32 SLKins_efi ? shouldn't need one? * Requires GPT partition table 2 /boot/GRUB's config ext4 SLKins_boot ? "" that loads Slackware Installer. /assets/firmware/lxwhatever Add in the firmware here which can be flashed from within the installer using a post install script. It diverges from the rk3399, so let's hold the idea for now, but it's probably along the right lines. ===== Installation flow ===== . User DD's sd card SPI flash image: Flashes EFI firmware to SPI flash. 2. User dd's Slackware installer image to SD card. 3. Boots Honeycomb from SD card, boots Slackware installer. 4. User creates EFI partition , swap and OS and whatever partitions. 5. Installs Slackware to SSD on SATA 6. Reboots, removes SD card. 7. User makes honeycomb boot from SATA to boot OS. 8. First boot will find the SATA drive at SLKroot 9. and the swap at SLKswap0 10. and /boot/efi at SLKefi SD Notes: * SLKins_efi and SLKins_boot are not relevant at this point. * The SD card can be removed and the system can run without it. ==== Notes ==== SATA Drive notes: * The /boot/efi paritition needs to be labeled as SLKefi * Rootdisk / needs to be labeled SLKroot * If it exists, the swap should be named SLKswap0 * Grub finds the boot directory on root disk * Grub boots the system `` partition table of root diskt within installer: sdc |-sdc1 299.2M 0% /mnt/boot/efi |-sdc2 swap 1 SLKswap0 6d31881b-54b1-4ff2-bac7-8602463897d6 [SWAP] `-sdc3 ext4 1.0 SLKroot 02d8318a-7a96-4db4-a104-223f0334e49b 83.9G 15% /mnt partition table of boot disk (installer) withn installation: mmcblk0 |-mmcblk0p1 vfat FAT32 SLKins_efi B633-E0ED `-mmcblk0p2 ext4 1.0 SLKins_boot 18a1e569-77c1-40ad-85a3-cf425fe7c4ad Final partitioning: root@slackware:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 447.1G 0 disk `-sda1 8:1 0 447.1G 0 part `-md0 9:0 0 447.1G 0 raid1 `-md0p1 259:0 0 447.1G 0 part /data sdb 8:16 0 447.1G 0 disk `-sdb1 8:17 0 447.1G 0 part `-md0 9:0 0 447.1G 0 raid1 `-md0p1 259:0 0 447.1G 0 part /data sdc 8:32 0 111.8G 0 disk |-sdc1 8:33 0 200M 0 part /mnt/boot/efi |-sdc2 8:34 0 4G 0 part [SWAP] `-sdc3 8:35 0 107.6G 0 part /mnt mtdblock0 31:0 0 64M 0 disk mmcblk0 179:0 0 14.8G 0 disk |-mmcblk0p1 179:1 0 190M 0 part `-mmcblk0p2 179:2 0 3.5G 0 part mmcblk1 179:32 0 59.2G 0 disk mmcblk1boot0 179:64 0 4M 1 disk mmcblk1boot1 179:96 0 4M 1 disk /boot root@slackware:~# ls /mnt/boot Image-armv8@ Image-armv8-6.1.37 README-kernels.txt README.initrd@ System.map-armv8@ System.map-armv8-6.1.37 config-armv8-6.1.37 dtb@ dtb-6.1.37/ efi/ grub/ initrd-armv8@ initrd-armv8-6.1.37 local/ platform/ root@slackware:~# ls /boot/efi/EFI/slackware-15.0+/grubaa64.efi /boot/efi/EFI/slackware-15.0+/grubaa64.efi* Notes: * /boot/extlinux/ should not exist ==== Fan ==== Fan control and info: https://community.solid-run.com/t/fan-control/205/3 ==== UEFI Firmware Installer to SPI Flash ==== https://community.solid-run.com/t/anyone-tried-flashing-uefi-f-w-to-spi/185 sf probe sf erase 0 0x4000000 load mmc 0:1 0x90000000 lx2160acex7_2000_700_2400_8_5_2_flexspi_nor_ee5c233.img sf write 0x90000000 0 0x800000 ==== SFP+ Network Ports ==== * Add to the restool package the following udev rule: [[https://src.fedoraproject.org/rpms/restool/blob/rawhide/f/fsl_mc_bus.rules | fsl_mc_bus.rules]] * Can add it to /etc/udev/rules.d/ to test with reboot. * Link to Fedora restool source [[https://src.fedoraproject.org/rpms/restool]] * The latest is restool is version 2.4.0 but 2.3.0 is working as it should * Decide what package will install this rule. Maybe it can fit itself in one of the integration scripts?