Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The SP7350 supports six The SP7350 supports 13 root file systems:

  • BusyBox 1.3137.10

  • Ubuntu Server 202020.04.6 / 22.04.4 / 24.04.1

  • Ubuntu MATE 202020.04.6 / 22.04.4 / 24.04.1

  • Ubuntu XFCE 202020.04.6 / 22.04.4 / 24.04.1

  • Buildroot 2024.02

  • Yocto 4.2.4

  • Yocto 3.0.2 (32-bit)

Users can choose a root file system based on their specific use case. The following sections provide detailed explanations of these root file systems.

...

Please type the corresponding number to select one of the listed root file systems. For example, enter “7” to select “Ubuntu MATE 24.04.1”.

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.

...

37.

...

0

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.

The source of BusyBox 1.3137.1 0 is be downloaded from:

https://busybox.net/downloads/busybox-1.3137.10.tar.bz2

Users can use menuconfig of BusyBox to select additional utilities. Navigate to the BusyBox directory (:

Code Block
linux/rootfs/initramfs/busybox-1.

...

37.0

And run ‘make menuconfig’, for example:

Code Block
wellslu@scdiu3:~/Q654/linux/rootfs/initramfs/busybox-1.37.0$ make menuconfig

A BusyBox Configuration menu will appear:

...

Users can move the cursor to enable the desired utilities. For example, to enable TFTP FTP server support, navigate to 'Networking Utilities' and enable 'tftpd ftpd (10 30 kb)'.

...

Exit BusyBox Configuration menu and choose ‘Save’ to save the changes to default configuration file ‘.config’. Run 'make' to rebuild the images. The 'tftpdftpd' utility will be included in the new root file system:

Code Block
wellslu@scdiu3:~/q654/test$Q654$ ll linux/rootfs/initramfs/disk/usr/sbin/tftpftp*
lrwxrwxrwx 1 wellslu sp 17 JunOct  47 1810:5707 linux/rootfs/initramfs/disk/usr/sbin/tftpdftpd -> ../../bin/busybox*
wellslu@scdiu3:~/q654/test$Q654$

To update your settings as the default configuration, copy the file 'linux/rootfs/initramfs/busybox-1.3137.10/.config' to 'linux/rootfs/initramfs/configs/bbx_dynamic_defconfig':

Code Block
wellslu@scdiu3:~/q654/testQ654/linux/rootfs/initramfs/busybox-1.3137.1$0$ cp .config ../configs/bbx_dynamic_defconfig 
wellslu@scdiu3:~/q654Q654/test/linux/rootfs/initramfs/busybox-1.31.1$.37.0$

The default account is 'root,' and no password is required.

Refer to the snapshot of the UART console when Linux has just started successfully:

...

The snapshot of the virtual terminal (tty1) on MIPI/DSI or HDMI display:

...

3. Ubuntu Server

...

20.04.6 / 22.04.4 / 24.04.1

Ubuntu Server is a popular open-source operating system designed to run on servers. Developed and maintained by Canonical Ltd., it provides a robust, secure, and versatile platform for various server tasks, from web hosting to cloud computing.

The base root file system of Ubuntu 20.04.6 is downloaded from:

ubuntu-base-20.04.6-base-arm64.tar.gz

The base root file system of Ubuntu 22.04.4 is downloaded from:

ubuntu-base-22.04.4-base-arm64.tar.gz

The base root file system of Ubuntu 24.04.1 is downloaded from:

ubuntu-base-24.04.51-base-arm64.tar.gz

The following packages or utilities are added to the base root file system:

  • ubuntu-standard

  • ubuntu-minimal

  • ubuntu-server

  • curlnet-tools

  • iputils-ping

  • net-tools

  • network-manager

  • openssh-server

  • xterm

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:

...

The default account and password are: sunplus, sunplus

The initial size of the root file-system is approximately 1.9 GB.

This root file-system is created using the shell script located at ‘linux/rootfs/initramfs/ubuntu/make-ubuntu-rootfs.sh’. Users can modify it to pre-install some packages, utilities, or adjust system settings.

Refer to the snapshot of the UART console when Linux has just started successfully:

...

The snapshot of the virtual terminal (tty1) on LCD display:

...

4. Ubuntu MATE

...

20.04.6 / 22.04.4 / 24.04.1

Ubuntu MATE is a user-friendly, open-source operating system that combines the robust foundation of Ubuntu with the MATE desktop environment. This combination offers a traditional, highly customizable desktop experience suitable for users of all levels, from beginners to experienced Linux enthusiasts.

...

The base root file system of Ubuntu 20.04.6 is downloaded from:

ubuntu-base-20.04.5.04.6-base-arm64.tar.gz

The base root file system of Ubuntu 22.04.4 is downloaded from:

ubuntu-base-22.04.4-base-arm64.tar.gz

The base root file system of Ubuntu 24.04.1 is downloaded from:

ubuntu-base-24.04.1-base-arm64.tar.gz

The following packages are added to the base root file system:

  • 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.

The default account and password are: sunplus, sunplus

The initial size of the root file-system is approximately 6.2 GB.

This root file-system is created using the shell script located at ‘linux/rootfs/initramfs/ubuntu/make-ubuntu-rootfs.sh’. Users can modify it to pre-install some packages, utilities, or adjust system settings. For example, users can add to run ‘oem-config-prepare' to arrange for 'oem-config-firstboot’ to be run when the system first boots.

...

This is particularly helpful for OEM installations where end-users need to complete the initial setup.

Refer to the snapshot of the UART console when Linux has just started successfully:

...

The snapshot of the MATE 20.04 Desktop on LCD display:

...

5. Ubuntu XFCE

...

20.04.6 / 22.04.4 / 24.04.1

Ubuntu XFCE, also known as Xubuntu, is an official flavor of Ubuntu that features the lightweight XFCE desktop environment. It is designed to provide a fast, stable, and visually appealing user experience, making it an excellent choice for users seeking efficiency and performance, especially on older or less powerful hardware. It consumes less system resources than MATE desktop environment.

The base root file system of Ubuntu 20.04.6 is downloaded from:

ubuntu-base-20.04.6-base-arm64.tar.gz

The base root file system of Ubuntu 22.04.4 is downloaded from:

ubuntu-base-22.04.4-base-arm64.tar.gz

The base root file system of Ubuntu 24.04.1 is downloaded from:

ubuntu-base-24.04.51-base-arm64.tar.gz

The following packages are added to the base root file system:

  • ubuntu-standard

  • ubuntu-minimal

  • xubuntu-desktop

  • curl

  • iputils-ping

  • net-tools

  • openssh-server

  • oem-config-gtk

The following packages are removed:

...

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.

This root file-system is created using the shell script located at ‘linux/rootfs/initramfs/ubuntu/make-ubuntu-rootfs.sh’. Users can modify it to pre-install some packages, utilities, or adjust system settings.

The default account and password are: sunplus, sunplus

The initial size of the root file-system is approximately 6.1 GB.

Refer to the snapshot of the UART console when Linux has just started successfully:

...

The snapshot of the XFCE 20.04 Desktop on LCD display:

...

6. Buildroot 2024.02

Buildroot is a popular open-source tool used for building embedded Linux systems. It automates the process of compiling and configuring various components to create a custom Linux distribution tailored for embedded devices. Buildroot uses a configuration file where you specify the target architecture, desired packages, filesystem layout, kernel configuration, and other parameters. It includes a package management system that allows you to select which components to include in your embedded Linux system.

The source of Buildroot is downloaded from:

https://buildroot.org/downloads/buildroot-2024.02.tar.xz

SP7350 integrates Buildroot for generating the root file system. Depending on your computer's performance, downloading and compiling Buildroot sources may take several tens minutes.

...

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:~/q654Q654/test/linux/rootfs/initramfs/buildroot$

...

are added to defconfig file: initramfs/buildroot/configs/sp7350_defconfigDefault account is: root

The initial size of the root file-system is approximately 815 MB.

The default account is root, and the system will log in automatically upon successful boot. For reference, see the snapshot of the UART console right after Linux has started successfully.

...

The default username is root, and no password is required to access the virtual terminal (available via MIPI/DSI or HDMI display). For reference, see the snapshot of the virtual terminal on the HDMI LCD panel after Linux has booted successfully.

...

6. Yocto

...

4.2.4

Yocto is an open-source project that provides a set of tools and frameworks to create custom Linux-based systems, specifically for embedded devices. It is a collection of tools, metadata, and workflows that allow developers to generate tailored Linux distributions.

Yocto uses a modular and layered structure, where you can add or remove layers of functionality (e.g., additional software packages or hardware support). This allows for great flexibility in tailoring the distribution. The build tool, BitBake, in Yocto that automates the compilation and packaging of software components. It uses recipes (metadata files) to describe how software should be built and integrated. Yocto provides thousands of existing recipes for common software components used in embedded systems.

The source of Yocto is downloaded from:

poky-yocto-4.2.4.tar.gz

SP7350 integrates Yocto for generating the root file system. Depending on your computer's performance, downloading and compiling Yocto sources may take several tens minutes.

The initial size of the root file-system is approximately 621 MB.

To customize the root file system, users can modify the BitBake recipe img-sp7350.bb located in the following directory:

Code Block
linux/rootfs/initramfs/yocto/meta-sunplus/recipes-img/images

For example, if you want to add a package (recipe) named xxx, you can append the package to the build process by adding the following line to img-sp7350.bb:

Code Block
IMAGE_INSTALL:append = " xxx"

Where xxx represents the name of the package you wish to install. Notice the space before xxx; it ensures it is added correctly to the list.

The UART console will automatically log in upon boot. For reference, see the snapshot of the UART console when Linux starts successfully.

...

To log in to the virtual terminal on MIPI/DSI or HDMI display, use the passwd command to set the root password. For example:

Code Block
root@sp7350-ev:~# passwd
New password:
Retype new password:
passwd: password updated successfully
root@sp7350-ev:~#

Refer to the snapshot of the virtual terminal on the HDMI LCD panel once Linux has successfully booted.

...

7. Yocto 3.0.2 (32-bit)

This is a pre-built 32-bit root file system created by the Sunplus Yocto server. It is originally designed for Sunplus SP7021 platforms and includes a limited set of packages and utilities. The size of the root file system is approximately 896 MB.

The UART console will automatically log in. For reference, see the snapshot of the UART console when Linux starts successfully.

...

The default username and password are root and 123, respectively, for the virtual terminal (accessible via MIPI/DSI or HDMI display). Refer to the snapshot of the virtual terminal on the HDMI LCD panel after Linux has started successfully.

...