CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors

CRUX-ARM Documentation

  1. Introduction
  2. Why use CRUX-ARM
  3. Getting started
  4. Obtaining and installing additional software
  5. Supported devices
  6. Documentation
  7. Development information and documentation

Introduction

If you have in mind to use CRUX-ARM we assume that you are familiarized with CRUX. This is not a requisite but could answer many of the questions you have and maybe are not relevant to ARM devices in particular.

You can check About page for a detailed description about what's CRUX-ARM.

Why use CRUX-ARM?

CRUX's simplicity and lightweightness is especially valuable when you only have little disk space like you often do on ARM-powered devices. CRUX-ARM provides you a basic framework which you could extend and tweak without wasting too much time learning distribution-specific tools and configuration files, as CRUX one are very basic and simple.

Getting started

ARM devices are very different in their nature, so there cannot be one general guide for all of them, unlike x86 arch, so this section explains only basic steps you would need to perform.

First, make sure you can run a linux kernel on your device. Way to run Linux is very device-specific. Many devices are shipped with pre-installed Linux based operating systems, like Android or ChromeOS, others will require installing some bootloader and finding a suitable kernel sources or binaries.

Assuming you already can run Linux and can get to root shell, second step would be unpacking corresponding CRUX-ARM rootfs, which is shipped in tar archive. There are two options of running CRUX-ARM. First you could use other distribution's shell to chroot into CRUX-ARM and second is installing CRUX-ARM on place of other OS or into separate partition.

Obtaining and installing additional software.

CRUX-ARM uses same ports system as CRUX, but it also uses specific ports collections called overlays, like core-arm, core-arm64, opt-arm, opt-arm64, xorg-arm and xorg-arm64. Overlays are just regular port collections containing ports which require specific build options or have different footprints. They are listed first in prt-get.conf in order to have higher priority over same packages located in general port collections.

You can check our supported devices to get the right rootfs for any of them. If your device isn't officially supported, you can get the generic rootfs and run it itself, or start with an optimized release for your device, rebuilding the entire core collection ports for it.

If you need additional ports you can use port collections from general CRUX. You can also try ports from other CRUX versions, it will probably work, but they aren't officially supported.

You can also obtain some pre-built core ARM packages here https://crux-arm.nu/pkg

Supported devices

If you have an ARM device not listed here, please contact to CRUX-ARM System Team or check HowToContribute.
Theoretically if there is kernel support for the ARM device, then it should run CRUX-ARM without problems. In addition, knowledge of the device's bootloader (usually U-Boot) is required.
Donations to CRUX-ARM System Team are welcome, so that the team can test as well as support the project itself.

ARM 64b (aarch64)

 DeviceInstruction setKernel VersionOS VersionPorts Overlay
Pine64armv83.10.105CRUX-ARM 3.8pine64-arm64
Raspberrypi 3barmv86.6.74-v8+CRUX-ARM 3.8raspberrypi3-arm64
Raspberrypi 4armv86.1.61-v8CRUX-ARM 3.8raspberrypi4-arm64
?Raspberrypi 5armv86.6.74-v8-16kCRUX-ARM 3.8raspberrypi5-arm64

ARM 32b (armhf)

 DeviceInstruction setKernel VersionOS VersionPorts Overlay
Cubieboardarmv73.4CRUX-ARM 3.8cubieboard-arm
Cubieboard2armv73.4.104CRUX-ARM 3.8cubieboard2-arm
Odroid-xu4armv76.1.90+CRUX-ARM 3.8odroidxu4-arm

Contributed Supported Devices

 DeviceInstruction setKernel VersionOS VersionPorts Overlay
OVHSysARMarmv74.9.124CRUX-ARM 3.4 
Gk802armv73.0.35CRUX-ARM 3.1 
BananaPiarmv73.0.35CRUX-ARM 3.1 
Hackberryarmv73.4.43CRUX-ARM 3.0 

Old ARM 32b (discontinuous)

 DeviceInstruction setKernel VersionOS VersionPorts Overlay
Genesi EfikaMX-SmartToparmv72.6.31CRUX-ARM 3.2efikamx-arm
Raspberrypiarmv63.6.1CRUX-ARM 3.2raspberrypi-arm
Raspberrypi 2armv74.5.4CRUX-ARM 3.2raspberrypi2-arm
Samsung Chromebook XE303C12armv73.8CRUX-ARM 3.2samsungchromebook-arm
OrangePi PCarmv73.4.39-01-loboCRUX-ARM 3.3cubieboard2-arm
WonderMedia WM8505arm92.6.29CRUX-ARM 2.6 noeabi 
Versatile Express 64barmv8a4.1.1CRUX-ARM 3.3 
Versatile Expressarmv74.9.6CRUX-ARM 3.2 
Versatilearm93.5.4CRUX-ARM 2.8 noeabi 
HP Jornada 720armv42.6.32CRUX-ARM 2.6 noeabi 
HTC Prophetarm92.6.25CRUX-ARM 2.6 noeabi 
HTC Elfarm92.6.25CRUX-ARM 2.6 noeabi 
HP Ipaq 1910armv5te2.6.16CRUX-ARM 2.6 noeabi 

Documentation

Development information and documentation