Suzie Linux for ARM boards

News 8 Kalamazoo
Michigan weather
Radio Canada
98.5 FM Montréal
News for the Nerds
Weather Channel
Language translation
Vieux site humoristique des tatas
Donations are needed to help continuing work on Suzie Linux.
It can be a dollar, two dollars or more, whatever you can afford.

Funtoo support for ARM boards

Suzie Linux is the name I use for my linux images. They are all based on Funtoo 1.4

The goal of this site is to provide stages 3 for different arm boards.

The first one is the Beaglebone AI


You can download the Beaglebone AI Funtoo stage 3 here : Funtoo Beablebone-AI stage 3

You need to install u-boot after you format your micro SD : u-boot

u-boot and kernel were created using the scripts from the digi-key wiki.

This stage 3 includes the kernel. If you don't wish to keep Debian in the internal Flash you may want to copy the rootfs on the internal flash.
Make sure that you do not have a bootable micro SD plugged in when trying to run out of the internal flash.

If you need to modify the kernel you can get the latest one from the digi-key Beaglebone-AI wiki.
Keep in mind not to follow the instructions to the letter since there are errors. u-boot looks for the am5729-beagleboneai.dtb device tree on the boot directory and not in the dtbs subdirectory.
For u-boot I used the compiler from Funtoo

$ armv7a-hardfloat-linux-gnueabi-gcc --version
armv7a-hardfloat-linux-gnueabi-gcc (Gentoo 9.1.0-r9 p1.1) 9.1.0

For the kernel I had to use the one from Linaro due to bugs in the digi-key kernel that will not compile with that cross compiler

$ ./travail/gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (Linaro GCC 6.5-2018.12) 6.5.0

I will eventually have a kernel 5 on it. For now that is the one that works with this board, for now what stops me from doing it is the fact that the EGL from TI is not available yet for kernel 5.
I will likely have kernel 4.19 first which is supported by TI.

Connect a micro SD on the PC and check to see where it is so you do not accidentally wipe out your system.
Here I plugged in a 128G disk for the example. You do not need to use such a big device, a 32G device should be good enough for development

$ lsblk
sda      8:0    0   3.7T  0 disk
├─sda1   8:1    0   500M  0 part /boot
├─sda2   8:2    0    20G  0 part [SWAP]
└─sda3   8:3    0   3.6T  0 part /
sdb      8:16   0   7.3T  0 disk
└─sdb1   8:17   0   7.3T  0 part
sde      8:64   1 119.1G  0 disk
└─sde1   8:65   1 119.1G  0 part /run/media/michel/3130-3931
sr0     11:0    1  1024M  0 rom 

$ su -    (you will need to enter your root password)

# export DISK=/dev/mmcblk0
# cd ~
# mkdir rootfs
# umount /run/media/michel/3130-3931

Define DISK for where the micro SD is situated

# export DISK=/dev/sde1

Erase partition table/labels on microSD card:

dd if=/dev/zero of=${DISK} bs=1M count=10

Download u-boot and decompress it here

# tar xvfz u-boot.tgz

Install Bootloader:

# dd if=./u-boot/MLO of=${DISK} count=2 seek=1 bs=128k
# dd if=./u-boot/u-boot.img of=${DISK} count=4 seek=1 bs=384k

We need to create a partition, we do not use a swap partition because it will eventually damage the disk
If you need swap you can put it temporarily on a USB device.

We will use sfdisk for the partitioning

We first check to see which version we have

# sfdisk --version
sfdisk de util-linux 2.34

We now create a partition

# sfdisk ${DISK} <<-__EOF__

if the version had been smaller or equal to 2.25.x this would have been a bit different

# sfdisk --unit M ${DISK} <<-__EOF__

We then format the partition. It is important that if you mkfs.ext4 version is new you will need to pass the correct parameter so it doesn't set the disk for 64 bits which will not boot

On Funtoo 1.4 you need to enter this :

# mkfs.ext4 -L rootfs -O ^metadata_csum,^64bit

If you have a version of e2fsprogs < 1.43 you would just enter this :

# mkfs.ext4 -L rootfs

We then need to mount the partition

# mount ${DISK} rootfs

Download the stage 3 and decompress it on the rootfs directory

# cd rootfs
# tar xvfp ../stage3-funtoo-beaglebone-AI-201908252226.tgz

The file needs to be written to the disk, if you use a slow device it may take quite a while so you need to be patient.

# sync
# cd ..
# umount rootfs

You then plug the device on the Beaglebone-AI. There is no user so you need to boot on root. You can use an HDMI display, ssh or Serial connection.
There is no password so don't forget to create a secure password;

The system is compiled for French, Spanish, English and Chinese. If your language is not one of those you may want to add your locale in /etc/locale.gen and run locale-gen
All information on this is available on line in the Funtoo installation area.
The default locale is  fr_CA.utf8 and the keyboard is the Québec QWERTY keyboard.

It is easy to change

$ eselect locale list
suzie /etc/conf.d # eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   POSIX
  [3]   en_AG
  [4]   en_AG.utf8
  [5]   en_AU.utf8
  [6]   en_BW.utf8
  [7]   en_CA.utf8
  [8]   en_DK.utf8
  [9]   en_GB.utf8
  [10]  en_HK.utf8
  [11]  en_IE.utf8
  [12]  en_IN
  [13]  en_IN.utf8
  [14]  en_NG
  [15]  en_NG.utf8
  [16]  en_NZ.utf8
  [17]  en_PH.utf8
  [18]  en_SG.utf8
  [19]  en_US.utf8
  [20]  en_ZA.utf8
  [21]  en_ZM
  [22]  en_ZM.utf8
  [23]  en_ZW.utf8
  [24]  eo.utf8
  [25]  es_AR.utf8
  [26]  es_BO.utf8
  [27]  es_CL.utf8
  [28]  es_CO.utf8
  [29]  es_CR.utf8
  [30]  es_CU
  [31]  es_CU.utf8
  [32]  es_DO.utf8
  [33]  es_EC.utf8
  [34]  es_ES.utf8
  [35]  es_GT.utf8
  [36]  es_HN.utf8
  [37]  es_MX.utf8
  [38]  es_NI.utf8
  [39]  es_PA.utf8
  [40]  es_PE.utf8
  [41]  es_PR.utf8
  [42]  es_PY.utf8
  [43]  es_SV.utf8
  [44]  es_US.utf8
  [45]  es_UY.utf8
  [46]  es_VE.utf8
  [47]  fr_BE.utf8
  [48]  fr_CA.utf8 *
  [49]  fr_FR.utf8
  [50]  fr_LU.utf8
  [51]  zh_CN
  [52]  zh_CN.gb18030
  [53]  zh_CN.gb2312
  [54]  zh_CN.gbk
  [55]  zh_CN.utf8
  [56]  zh_HK
  [57]  zh_HK.big5hkscs
  [58]  zh_HK.utf8
  [59]  zh_SG
  [60]  zh_SG.gb2312
  [61]  zh_SG.gbk
  [62]  zh_SG.utf8
  [63]  zh_TW
  [64]  zh_TW.big5
  [65]  zh_TW.euctw
  [66]  zh_TW.utf8
  [ ]   (free form)

For example if you want  to switch to Spanish
 # eselect locale set 44
Setting LANG to es_US.utf8 ...
Run ". /etc/profile" to update the variable in your shell.

You can change the keyboard setting in the file /etc/conf.d/keymaps

Beagleboard X15

The same stage3 used for Beaglebone-AI will work, you just need to copy the appropriate dtb files to the boot directory : Beablebone-A15 device tree files

I am working on one that uses a kernel created with yocto, more in line with TI's automotive boards.
TI's EGL support is not included with the kernel and u-boot that I just published, those came from the beagleboard team.

The next stage 3 will be for the Odroid N2, Odroid H2 and Jetson Nano.

Others will follow eventually

This page has been hit   times.

Copyright 2015-2019 Michel Catudal