Slackwarearm-current ChangeLog (2021-05-11)

Tue May 11 08:08:08 UTC 2021


Hello!

There's been a colossal amount of work going on behind the scenes over the last
few weeks. I feel as if I've been standing atop two cars (one running at twice
the speed of the other) whilst redesigning, building and testing the core
components of the engine, whilst both vehicles are barrelling down the highway
doing side wheelies at 88mph (and 176mph respectively).

As many of you know, I've been building the 64bit ARMv8 port of Slackware
('Slackware AArch64'). This involved touching every component of the build
system for the Slackware 32-bit ARMv7 port (this one!). During the process of
development, I've resolved a number of long-standing bugs in the ARMv7 port
and made a large number of improvements throughout the Operating System.

Vince Batts in the Slackware core team got me thinking about how the Slackware
installer was packaged, and as a result I have simplified the installation process
for AArch64. Brent Earl from the Slackware ARM community has been both helping
lay the foundations to support the RockPro64 Hardware Model, and getting ahead
of me with the testing of the X11 and Window Manager environments. It's been
particularly helpful as he's been able to provide solutions and fixes throughout
the stack, whilst I'm designing and developing the core components.

When I first started the ARM port, the Slackware ARM community was small and
the number of Hardware Models (e.g. RockPro64, Pinebook Pro, Orange Pi, et al)
available wasn't much larger. As the number of Hardware Models increased, I
created the 'community supported hardware' concept to help plug the gap.

The goal of the Slackware ARM project has always been to have an x86/64-like
experience, which means that Hardware Models should be supported “out of the box”.
As always, Slackware ARM / AArch64 is capable of running on many Hardware
Models, but each requires individual attention both at the initial integration
stage, and for long-term management. At this point in time, the Slackware ARM
community is sufficiently knowledgeable and has flourished beyond what I had
imagined. Additionally, the ARM / AArch64 hardware is (in the main) supported
by the mainline Linux Kernel. As such, I've redesigned how the support for
Hardware Models are integrated and managed, and have migrated the ARM port to
this new design. This will serve as templates and guidance around the standards.

For more information about these changes, have a look at the SlackChat podcast
season 2 episodes 11 & 12:
“Slackware ARM / AArch64 Kernel module loader”

S02E11 - https://youtu.be/54jffeL_jeY
S02E12 - https://youtu.be/-d7G8Rf631U

I've updated the Slackware ARM web site and migrated much of the installation
and Developer documentation to docs.slackware.com to enable collaboration.

To find out how you can contribute, please take a look here:

http://arm.slackware.com/slackwarearm-devel/

There are still some things to land (such as creating the mailing list), but the
wheels are already in motion.

You'll find details of the major changes below, but all of these should present
no visible change for the supported Hardware Models.

And with that, I bring you Slackware ARM 15.0 beta!

If there are any major issues, please email [email protected]

Enjoy!
Stuart ([email protected])
  • installdocs/INSTALL_QEMU.TXT
    QEMU is no longer a supported Hardware Model.
    It's too slow to be useful or representative of Slackware running on
    ARM/AArch64 hardware.
  • installdocs/INSTALL_Tegra20.TXT
    The Trimslice was used to build this 32bit ARMv7 port of Slackware ARM, and
    unfortunately (I think) was damaged during the build process due to poor
    heat dissipation, and had been unstable for a number of years.
    This Hardware Model has been EOS (End of Sale) for years at this point, and I
    can no longer test the support.
    The specially packaged versions of the installer and OS initrd for U-Boot have
    been removed, since the Trimslice was the only supported board still requiring
    them. This is a blessing in disguise as it's enabled all of the legacy code
    to be removed and has streamlined the testing.
  • initrd-armv7.img/[/etc/rc.d/rc.modules-arm]
    initrd-armv7.img/[/etc/rc.d/rc.S]:
    No longer call /etc/rc.d/rc.modules-arm
    Call /load_kernel_modules.
  • a/kernel-modules-armv7-5.10.36_armv7-arm-1.txz
  • a/kernel_armv7-5.10.36-arm-1.txz
    /boot/initrd-armv7/[load_kernel_modules]:
    Migrated to the new Slackware ARM / AArch64 Kernel module loader.
    For the supported Hardware Models, the modules are now loaded by helper script
    callouts.
    Added 'nvme' driver support as part of the base module set. Thanks to Brent Earl
    for the suggestion.
    /boot/initrd-armv7/[load_kernel_modules.src/platform/arm/*]:
    Added module loader helpers:
    allwinnerA20
    allwinnerH3
    baseline_arm (ARM platform catchall)
  • d/kernel-headers-5.10.36-arm-1.txz
  • k/kernel-source-5.10.36-arm-1.txz
  • /mkinitrd-1.4.11-arm-12.txz
    ARM / AArch64 improvements:
    /usr/doc/mkinitrd-*/README.initrd:
    Updated to cover the new Slackware ARM / AArch64 Kernel module loader.
    /usr/share/mkinitrd/mkinitrd_command_generator.sh: Replaced with a dummy,
    with instructions to read the above 'README'.
  • a/sysvinit-scripts-15.0-noarch-2.txz
    ARM / AArch64 improvements:
    install/doinst.sh:
    Improve the console serial port detection and handling code.
  • isolinux/*
    initrd-armv7.img/[load_kernel_modules]:
    Migrated to the new Slackware ARM / AArch64 Kernel module loader.
  • news/2021/05/11/slackwarearm-current-changelog.txt
  • Last modified: 3 weeks ago
  • by Giuseppe Di Terlizzi