Suzie Linux for ARM boards

News 8 Kalamazoo
Michigan weather
Radio Canada
98.5 FM Montréal
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 not yet supported by funtoo. funtoo doesn't have official support for the beagleboard and beaglebone 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

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)

# 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

This one uses a FAT partition for the boot. The u-boot and kernel are based on the version from TI's Industrial SDK 6

You need to download the stage 3 here : Funtoo Beableboard X15 stage 3

Micro SD Card Creation

You need to do this as root or as a user with the sudo command to give you root access. root permissions are needed to copy u-boot and the rootfs to the micro SD card. You can easily wipe out your system if you use the device identification of your hard disk instead of that of the micro SD card.

Replace sdX in the following instructions with the device name for the micro SD card as it appears on your computer. Unmount the micro SD card that will be used.

  1. Zero the beginning of the micro SD card:
    dd if=/dev/zero of=/dev/sdX bs=1M count=8  
  2. Start fdisk to partition the micro SD card:
    fdisk /dev/sdX
  3. At the fdisk prompt, delete old partitions and create a new one:

    1. Type o. This will clear out any partitions on the drive.
    2. Type p to list partitions. There should be no partitions left.
    3. Type n, then p for primary, 1 for the first partition on the drive, 2048 for the first sector, and ENTER
    4. Type +90M and press ENTER
    5. Type n, then p for primary, 2 for the seconds partition on the drive, press ENTER to accept the default start
    6.  Press ENTER to accept the default last sector.
    7. Type a and ENTER to set the boot flag on
    8. Write the partition table and exit by typing w.

  4. Create the FAT filesystem:

          mkfs.vfat -F 32 -n "boot" /dev/sdX1

  5. Create the ext4 filesystem:

    1. For e2fsprogs < 1.43:

      mkfs.ext4 -L rootfs /dev/sdX2

    2. For e2fsprogs >= 1.43:

      mkfs.ext4 -L rootfs -O ^metadata_csum,^64bit /dev/sdX2

    3. Mount the filesystem:

      mkdir boot
      mkdir rootfs
      mount /dev/sdX1 boot
      mount /dev/sdX2 rootfs

      tar xvfzp stage3-funtoo-beagleboard-x15-201909291744.tgz -C rootfs
      cp rootfs/boot/MLO boot
      cp rootfs/boot/u-boot.img boot

      umount rootfs
      umount boot

This page has been hit   times.

Copyright 2015-2024 Michel Catudal