Edit: apt is not there, but apt-get is there. Unfortunately, I can’t install any package because perl version in the yocto layer is higher than the one used in apt, and trying to find a way to fix this
Ok, first of all, for anyone interested, I will provide some amateur information about the system (HW/OS) below.
May be it helps somebody else who is experimenting on this nice board.
SDnand on the RockPi-S has following approximate sequential write speed:
root@rockpi-s-rk3308:~# dd if=/dev/zero of=/dev/mmcblk1 bs=16M status=progress
1006632960 bytes (1.0 GB, 960 MiB) copied, 92 s, 10.9 MB/s
dd: error writing '/dev/mmcblk1': No space left on device
61+0 records in
60+0 records out
1010827264 bytes (1.0 GB, 964 MiB) copied, 99.1463 s, 10.2 MB/s
root@rockpi-s-rk3308:~#
@nish thank you, I finally completed building console image:
stulluk /F250/ROCKPI-S/yocto/poky/build (zeus) $ `bitbake -k radxa-console-image`
WARNING: Host distribution "linuxmint-19.3" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |##################################################################################################| Time: 0:00:00
Loaded 3580 entries from dependency cache.
Parsing recipes: 100% |################################################################################################| Time: 0:00:00
Parsing of 2453 .bb files complete (2452 cached, 1 parsed). 3581 targets, 115 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.44.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "aarch64-poky-linux"
MACHINE = "rockpi-s-rk3308"
DISTRO = "poky"
DISTRO_VERSION = "3.0.4"
TUNE_FEATURES = "aarch64 cortexa35 crc crypto"
TARGET_FPU = ""
meta
meta-poky
meta-yocto-bsp = "zeus:d88d62c20d7d8da85f02edb170dae0280624ad7e"
meta-oe
meta-networking
meta-python
meta-multimedia
meta-gnome
meta-xfce = "zeus:2b5dd1eb81cd08bc065bc76125f2856e9383e98b"
meta-radxa = "zeus:d489b2909b45112434d843fba1aa18f8229949f2"
Initialising tasks: 100% |#############################################################################################| Time: 0:00:03
Sstate summary: Wanted 410 Found 0 Missed 410 Current 966 (0% match, 70% complete)
NOTE: Executing Tasks
NOTE: Setscene tasks completed
NOTE: Tasks Summary: Attempted 3884 tasks of which 3117 didn't need to be rerun and all succeeded.
Summary: There was 1 WARNING message shown.
stulluk /F250/ROCKPI-S/yocto/poky/build (zeus) $
The image created is ( radxa-console-image-rockpi-s-rk3308-gpt.img ) around 400Mbyte:
stulluk /F250/ROCKPI-S/yocto/poky/build (zeus) $ ls -lah tmp/deploy/images/rockpi-s-rk3308/
total 776M
drwxr-xr-x 4 stulluk stulluk 4,0K Sep 20 15:40 .
drwxrwxr-x 3 stulluk stulluk 4,0K Sep 20 14:22 ..
-rw-r--r-- 2 stulluk stulluk 2,2K Sep 20 15:36 boot.cmd
-rw-r--r-- 2 stulluk stulluk 2,3K Sep 20 15:36 boot.scr
-rw-r--r-- 1 stulluk stulluk 127K Sep 20 15:40 idbloader.img
lrwxrwxrwx 2 stulluk stulluk 52 Sep 20 14:18 Image -> Image--4.4.143-r1-rockpi-s-rk3308-20200920092156.bin
-rw-r--r-- 2 stulluk stulluk 12M Sep 20 14:18 Image--4.4.143-r1-rockpi-s-rk3308-20200920092156.bin
lrwxrwxrwx 2 stulluk stulluk 52 Sep 20 14:18 Image-rockpi-s-rk3308.bin -> Image--4.4.143-r1-rockpi-s-rk3308-20200920092156.bin
-rwxr-xr-x 1 stulluk stulluk 190K Sep 20 15:35 mkimage
-rw-rw-r-- 2 stulluk stulluk 178M Sep 20 14:21 modules--4.4.143-r1-rockpi-s-rk3308-20200920092156.tgz
lrwxrwxrwx 2 stulluk stulluk 54 Sep 20 14:21 modules-rockpi-s-rk3308.tgz -> modules--4.4.143-r1-rockpi-s-rk3308-20200920092156.tgz
drwxr-xr-x 2 stulluk stulluk 4,0K Sep 20 14:21 overlays
drwxr-xr-x 2 stulluk stulluk 4,0K Sep 20 15:36 radxa-binary
-rw-r--r-- 2 stulluk stulluk 267M Sep 20 15:40 radxa-console-image-rockpi-s-rk3308-20200920123221.rootfs.ext4
-rw-r--r-- 2 stulluk stulluk 59K Sep 20 15:39 radxa-console-image-rockpi-s-rk3308-20200920123221.rootfs.manifest
-rw-r--r-- 2 stulluk stulluk 266K Sep 20 15:39 radxa-console-image-rockpi-s-rk3308-20200920123221.testdata.json
-rw-r--r-- 1 stulluk stulluk 112M Sep 20 15:40 radxa-console-image-rockpi-s-rk3308-boot.img
lrwxrwxrwx 2 stulluk stulluk 62 Sep 20 15:40 radxa-console-image-rockpi-s-rk3308.ext4 -> radxa-console-image-rockpi-s-rk3308-20200920123221.rootfs.ext4
-rw-r--r-- 1 stulluk stulluk 396M Sep 20 15:40 radxa-console-image-rockpi-s-rk3308-gpt.img
lrwxrwxrwx 2 stulluk stulluk 66 Sep 20 15:39 radxa-console-image-rockpi-s-rk3308.manifest -> radxa-console-image-rockpi-s-rk3308-20200920123221.rootfs.manifest
lrwxrwxrwx 2 stulluk stulluk 64 Sep 20 15:39 radxa-console-image-rockpi-s-rk3308.testdata.json -> radxa-console-image-rockpi-s-rk3308-20200920123221.testdata.json
-rw-r--r-- 2 stulluk stulluk 63K Sep 20 14:21 rk3308-rock-pi-s--4.4.143-r1-rockpi-s-rk3308-20200920092156.dtb
lrwxrwxrwx 2 stulluk stulluk 63 Sep 20 14:21 rk3308-rock-pi-s.dtb -> rk3308-rock-pi-s--4.4.143-r1-rockpi-s-rk3308-20200920092156.dtb
lrwxrwxrwx 2 stulluk stulluk 63 Sep 20 14:21 rk3308-rock-pi-s-rockpi-s-rk3308.dtb -> rk3308-rock-pi-s--4.4.143-r1-rockpi-s-rk3308-20200920092156.dtb
-rw-r--r-- 1 stulluk stulluk 1,0M Sep 20 15:40 trust.img
-rw-r--r-- 1 stulluk stulluk 173 Sep 20 15:40 trust.ini
lrwxrwxrwx 2 stulluk stulluk 33 Sep 20 15:36 u-boot.bin -> u-boot-rockpi-s-rk3308-1.0-r0.bin
-rw-r--r-- 1 stulluk stulluk 1,0M Sep 20 15:40 u-boot.img
-rw-r--r-- 2 stulluk stulluk 618K Sep 20 15:36 u-boot-rockpi-s-rk3308-1.0-r0.bin
lrwxrwxrwx 2 stulluk stulluk 33 Sep 20 15:36 u-boot-rockpi-s-rk3308.bin -> u-boot-rockpi-s-rk3308-1.0-r0.bin
-rw-r--r-- 2 stulluk stulluk 149 Sep 20 15:36 uEnv.txt
stulluk /F250/ROCKPI-S/yocto/poky/build (zeus) $
I don’t know which of these files correspond to bootloader, like the file:
rk3308_loader_uart0_m0_emmc_port_support_sd_20190717.bin
Building took around 2+ hours. Since Yocto is quite incremental, I can modify something, and trigger :
bitbake -k radxa-console-image
I burned this file to a fast SDcard via etcher, and the RockPi-S boots (drop to shell prompt) in around 10 seconds.
https://pastebin.pl/view/ce63d072
Quite impressive.
And it resizes rootfs during the 1st bootup.
In order to login, username is “root” and password is “rock”.
After bootup, storage consumption is:
root@rockpi-s-rk3308:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 14G 185M 14G 2% /
devtmpfs 212M 0 212M 0% /dev
tmpfs 213M 0 213M 0% /dev/shm
tmpfs 213M 8.7M 204M 5% /run
tmpfs 213M 0 213M 0% /sys/fs/cgroup
tmpfs 213M 0 213M 0% /tmp
tmpfs 213M 16K 213M 1% /var/volatile
tmpfs 43M 0 43M 0% /run/user/0
root@rockpi-s-rk3308:~#
And ssh is OK:
root@rockpi-s-rk3308:~# systemctl | grep ssh
sshd@1-192.168.1.111:22-192.168.1.247:35218.service loaded active running OpenSSH Per-Conne
sshdgenkeys.service loaded active exited OpenSSH Key Gener
system-sshd.slice loaded active active system-sshd.slice
sshd.socket loaded active listening sshd.socket
root@rockpi-s-rk3308:~#
And NetworkManager is also OK:
root@rockpi-s-rk3308:~# systemctl | grep NetworkManager
NetworkManager.service loaded active running Network Manager
root@rockpi-s-rk3308:~#
Unfortunately, there is no APT (yet):
root@rockpi-s-rk3308:~# apt
-sh: apt: command not found
root@rockpi-s-rk3308:~#
Then, I decided to test to burn this image to SDnand:
stulluk /F250/ROCKPI-S/yocto/poky/build (zeus) $ sudo rkdeveloptool db ../../../IMAGES/rk3308_loader_uart0_m0_emmc_port_support_sd_20190717.bin
Downloading bootloader succeeded.
stulluk /F250/ROCKPI-S/yocto/poky/build (zeus) $ sudo rkdeveloptool wl 0 tmp/deploy/images/rockpi-s-rk3308/radxa-console-image-rockpi-s-rk3308-gpt.img
Write LBA from file (100%)
stulluk /F250/ROCKPI-S/yocto/poky/build (zeus) $
After bootup, storage consumption is same as SDcard:
root@rockpi-s-rk3308:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 802M 185M 578M 25% /
devtmpfs 212M 0 212M 0% /dev
tmpfs 213M 0 213M 0% /dev/shm
tmpfs 213M 8.7M 204M 5% /run
tmpfs 213M 0 213M 0% /sys/fs/cgroup
tmpfs 213M 0 213M 0% /tmp
tmpfs 213M 16K 213M 1% /var/volatile
tmpfs 43M 0 43M 0% /run/user/0
root@rockpi-s-rk3308:~#
@nish : Thank you.
You can get get APT but you will need to compile other packages using yocto and host them. Better to just add packages you want using IMAGE_INSTALL_append in the local.conf.
How to do that? To be more precise, I want to run docker-pihole ( https://www.smarthomebeginner.com/run-pihole-in-docker-on-ubuntu-with-reverse-proxy/ ) on RockPi-S.
I did this on my DS167 board easily ( Allwinner A20 + 1GBRAM + 8Gbyte eMMC).
If I had APT + DOCKER in this yocto image, I thought that I could do it on RockPi-S too.
What is your suggestion to achieve this (docker-pihole on RockPi-S) via IMAGE_INSTALL_append ?