The SP7350 supports six ten root file systems:
BusyBox 1.31.1
Ubuntu Server 20.04.6 / 22.04.4
Ubuntu MATE 20.04.6 / 22.04.4
Ubuntu XFCE 20.04.6 / 22.04.4
Buildroot 2024.02
Yocto 4.2.4
Yocto 3.0.2 (32-bit)
...
After completing the build process, the compiled root filesystem is located at:
Code Block |
---|
linux/rootfs/initramfs/disk/ |
The image of the target root filesystem is then made and stored at:
Code Block |
---|
out/rootfs.img |
2. BusyBox 1.31.1
BusyBox constructs a lightweight root file system for embedded Linux systems by combining tiny versions of many common UNIX utilities into a single small executable, often just a few hundred kilobytes. This reduces the overall memory footprint and system overhead compared to having separate executables for each utility, contributing to faster boot times.
...
Users can use menuconfig of BusyBox to select additional utilities. Navigate to the BusyBox directory (:
Code Block |
---|
linux/rootfs/initramfs/busybox-1.31.1 |
...
And run ‘make menuconfig’, for example:
Code Block |
---|
wellslu@scdiu3:~/Q654/linux/rootfs/initramfs/busybox-1.31.1$ make menuconfig |
A BusyBox Configuration menu will appear:
...
Code Block |
---|
wellslu@scdiu3:~/q654/test$Q654$ ll linux/rootfs/initramfs/disk/usr/sbin/tftp* lrwxrwxrwx 1 wellslu sp 17 Jun 4 18:57 linux/rootfs/initramfs/disk/usr/sbin/tftpd -> ../../bin/busybox* wellslu@scdiu3:~/q654/test$Q654$ |
To update your settings as the default configuration, copy the file 'linux/rootfs/initramfs/busybox-1.31.1/.config' to 'linux/rootfs/initramfs/configs/bbx_dynamic_defconfig':
Code Block |
---|
wellslu@scdiu3:~/q654Q654/test/linux/rootfs/initramfs/busybox-1.31.1$ cp .config ../configs/bbx_dynamic_defconfig wellslu@scdiu3:~/q654/testQ654/linux/rootfs/initramfs/busybox-1.31.1$ |
...
The snapshot of the virtual terminal (tty1) on LCD MIPI/DSI or HDMI display:
...
3. Ubuntu Server 20.04.6 / 22.04.4
...
ubuntu-standard
ubuntu-minimal
ubuntu-server
curl
iputils-ping
net-tools
network-manager
openssh-server
The pre-built root file-system has limited utilities or packages. Users can extend the functionality by installing extra utilities or packages from Ubuntu APT servers on the internet. For example, to install iperf3, users can issue the following commands:
...
ubuntu-standard
ubuntu-minimal
ubuntu-mate-desktop
curl
iputils-ping
net-tools
openssh-server
oem-config-gtk
The pre-built root file-system has limited utilities or packages. Users can extend the functionality by installing extra utilities or packages from Ubuntu APT servers on the internet.
...
ubuntu-standard
ubuntu-minimal
xubuntu-desktop
curl
iputils-ping
net-tools
openssh-server
oem-config-gtk
The following packages are removed:
...
Code Block |
---|
wellslu@scdiu3:~/q654/test$Q654$ ll linux/rootfs/initramfs/disk/lib64/libdrm* lrwxrwxrwx 1 wellslu sp 11 Jun 3 17:34 linux/rootfs/initramfs/disk/lib64/libdrm.so -> libdrm.so.2* lrwxrwxrwx 1 wellslu sp 15 Jun 3 17:34 linux/rootfs/initramfs/disk/lib64/libdrm.so.2 -> libdrm.so.2.4.0* -rwxr-xr-x 1 wellslu sp 91952 Jun 3 17:34 linux/rootfs/initramfs/disk/lib64/libdrm.so.2.4.0* wellslu@scdiu3:~/q654/test$Q654$ wellslu@scdiu3:~/q654/test$Q654$ ll linux/rootfs/initramfs/disk/usr/bin/modetest -rwxr-xr-x 1 wellslu sp 83864 Jun 3 17:34 linux/rootfs/initramfs/disk/usr/bin/modetest* wellslu@scdiu3:~/q654/testQ654 |
To save the modifications to the defconfig file, go to the Buildroot directory and run 'make savedefconfig':
Code Block |
---|
wellslu@scdiu3:~/q654/test$Q654$ cd linux/rootfs/initramfs/buildroot/ wellslu@scdiu3:~/q654/testQ654/linux/rootfs/initramfs/buildroot$ wellslu@scdiu3:~/q654/testQ654/linux/rootfs/initramfs/buildroot$ make savedefconfig |
...
Code Block |
---|
wellslu@scdiu3:~/q654/testQ654/linux/rootfs/initramfs/buildroot$ git diff diff --git a/initramfs/buildroot/configs/sp7350_defconfig b/initramfs/buildroot/configs/sp7350_defconfig index 428643a0..b13475db 100644 --- a/initramfs/buildroot/configs/sp7350_defconfig +++ b/initramfs/buildroot/configs/sp7350_defconfig @@ -6,6 +6,8 @@ BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_GCC_ENABLE_GRAPHITE=y BR2_INIT_SYSTEMD=y BR2_SYSTEM_BIN_SH_BASH=y +BR2_PACKAGE_LIBDRM=y +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y BR2_PACKAGE_BC=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_RELAY=y wellslu@scdiu3:~/q654/testQ654/linux/rootfs/initramfs/buildroot$ |
...