Last successful boot on the S8815 dongle on 2022-03-26 using kernel v5.17 with two minor patches.
The Nomadik SoC was created by ST Microelectronics in the early 2000s for mobile phone development. For details see the Wikipedia article.รถ>
Resources:
The latest Linaro GCC toolchain is what I usually use to compile recent kernels. For compiling the userspace for Nomadik you need to use a compiler built for ARMv5 or the stuff just won't work. You can use Rob Landleys precompiled ARMv5 binary if you like, it works for me.
Download the toolchain and install it such that it is always in your path. Sometimes the toolchain has been compiled for i686 and then you need to install a i686 multipath library to execute it on an x86_64 machine. A good way to get the cross compiler into your $PATH is to install it in /var/linus/gcc-linaro-arm-linux-gnueabihf-4.8-2013.08_linux/ and then add this to a file called /etc/profile.d/crosscompilers.sh
CS_BASE=/var/linus/gcc-linaro-arm-linux-gnueabihf-4.8-2013.08_linux/ export PATH=$PATH:${CS_BASE}/bin export MANPATH=$MANPATH:${CS_BASE}/share/doc/gcc-linaro-arm-linux-gnueabihf/man/
The nomadik.mak makefile is what I use to compile kernels for Nomadik
Using these also optionally use a minimal initramfs root filesystem placed in your home directory. (This is to get you to a prompt without a root filesystem installed in the flash.) This root filesystem is created using this script. A prebuilt version can be obtained here:
Copy the rootfs to you home directory and the nomdik.mak file to your linux/ git tree or base dir and simply:
> make -f nomadik.mak config > make -f nomadik.mak build
The Nomadik uses U-Boot which has an interactive boot loader prompt. Usually you want to boot the uImage from TFTP by first setting up a TFTP server and then issue something like this (with proper constants changed):
setenv serverip 169.254.1.1;setenv ipaddr 169.254.1.2;setenv bootfile uImage;tftpboot;bootm
UNFINISHED: TBD
This is a pretty straight-forward ARMv5 platform and ArchLinux can easily be brought up on the SD card:
umount /run/media/[username]/[path to sd card mount] dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=8 fdisk /dev/mmcblk0 [n p 1 ENTER ENTER w] mkfs.ext4 /dev/mmcblk0p1 mkdir /mnt/rootfs mount /dev/mmcblk0p1 /mnt/rootfs cd /tmp wget http://archlinuxarm.org/os/ArchLinuxARM-armv5-latest.tar.gz cd /mnt/rootfs tar xvfz /tmp/ArchLinuxARM-armv5-latest.tar.gz cd umount /mnt/rootfs
setenv bootargs console=ttyAMA1,115200n8 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 init=/sbin/init setenv serverip 169.254.1.1;setenv ipaddr 169.254.1.2;setenv bootfile uImage;tftpboot;bootm