RZ-G/RZ-G2 BSP Porting Ubuntu: Difference between revisions
Line 282: | Line 282: | ||
Run glmark2 test | Run glmark2 test | ||
glmark2-es2-wayland --fullscreen | glmark2-es2-wayland --fullscreen | ||
[[File:glmark1.png|thumb|glmark2 version]] | {| class="wikitable" | ||
|+ | |||
![[File:glmark1.png|thumb|glmark2 version]] | |||
![[File:glmark2.png|thumb|glmark2 result]] | |||
[[File:glmark2.png|thumb|glmark2 result]] | |} | ||
Revision as of 01:37, 23 May 2023
← Back to RZ-G/RZ-G2_BSP_Porting
SoC: All
Specification
Target Ubuntu OS Version: 20.04, 18.04
Target reference board: RZ/G2L,/G2LC,/G2UL SMARC
Host PC Environment: Ubuntu20.04
Ubuntu Filesystem Building
Install QEMU
Run below command on Host Ubuntu PC
sudo apt-get install qemu-user-static
Download Required Files
Select the package to download based on the desired file system |
wget https://cdimage.ubuntu.com/ubuntubase/releases/20.04/release/ubuntu-base-20.04.4-base-arm64.tar.gz
wget http://cdimage.ubuntu.com/ubuntubase/releases/18.04.5/release/ubuntu-base-18.04.5-basearm64.tar.gz |
Prepare Files
In the following example, please replace "version" as below name as you need
ubuntu-base-20.04.4-base-arm64: 20.04.4
ubuntu-base-18.04.5-base-arm64: 18.04.5
Initial preparation |
mkdir root
tar -xpf ubuntu-base-<version>-base-arm64.tar.gz -C root cp /usr/bin/qemu-aarch64-static ./root/usr/bin/ cp -b /etc/resolv.conf root/etc/resolv.conf |
Create a new script file |
vim ch-mount.sh
#!/bin/bash function mnt() { echo "MOUNTING" sudo mount -t proc /proc ${2}proc sudo mount -t sysfs /sys ${2}sys sudo mount -o bind /dev ${2}dev sudo chroot ${2} } function umnt() { echo "UNMOUNTING" sudo umount ${2}proc sudo umount ${2}sys sudo umount ${2}dev } if [ "$1" == "-m" ] && [ -n "$2" ] ; then mnt $1 $2 elif [ "$1" == "-u" ] && [ -n "$2" ]; then umnt $1 $2 else echo "" echo "Either 1'st, 2'nd or both parameters were missing" echo "" echo "1'st parameter can be one of these: -m(mount) OR -u(umount)" echo "2'nd parameter is the full path of rootfs directory(with trailing '/')" echo "" echo "For example: ch-mount -m /media/sdcard/" echo "" echo 1st parameter : ${1} echo 2nd parameter : ${2} fi |
Configure Filesystem
Enter Filesystem
chmod +x ch-mount.sh ./ch-mount.sh -m root/ chmod -R 777 /tmp
Install required software
apt-get install \ language-pack-en-base \ sudo \ ssh \ net-tools \ network-manager \ iputils-ping \ rsyslog \ bash-completion \ htop \ resolvconf \ dialog \ vim
Add users
Plesae replace the <name> with your user name |
useradd -s '/bin/bash' -m -G adm,sudo <name>
passwd <name> passwd root chown -R root:root /bin/su chmod u+s /bin/su |
Configure UART
vim /etc/init.d/ttyS0.conf |
start on stopped rc or RUNLEVEL=[12345]
stop on RUNLEVEL [!12345] respawn exec /sbin/getty -L 115200 ttyLP0 vt102 |
Exit FileSystem
exit ./ch-mount.sh -u
packaged FileSystem
cd root tar -cjf rootfs.tar.bz2 ./*
Deploy FileSystem to SD Card
Prepare a SD card with ext4 partition: Learning/Linux#Partitioning and Formatting an SD Card
extract ubuntu .bz2 package to SD card
Sudo tar -xvf rootfs.tar.gz -C /media/xxx/rootfs
Install Wayland, Wayland-Protocols and Weston
Environment Setup
network setup |
|
install required packages |
|
Compile and install Wayland
Copy the Wayland 1.18.0 source code from VLP Yocto build folder to SD card.
i.e. build/tmp/work/aarch64-poky-linux/wayland/1.18.0-r0/wayland-1.18.0/
Enter the wayland-1.18.0 folder on SD card
Run below command on Reference Board |
|
Compile and install Wayland-protocol
Copy the wayland-protocol1.20.0 source code from VLP Yocto build folder to SD card.
i.e. build/tmp/work/aarch64-poky-linux/wayland-protocols/1.20-r0/wayland-protocols-1.20/
Enter the wayland-protocols-1.20 folder on SD card
Run below command on Reference Board |
|
Compile and install Weston
Copy the weston8.0.0 source code from VLP Yocto build folder to SD card.
i.e. build/tmp/work/aarch64-poky-linux/weston/8.0.0-r0/weston-8.0.0/
Enter the weston-8.0.0 folder on SD card
Run below command on Reference Board |
|
If the configuration is correct, it will display below messages
User defined options libdir : /usr/lib/aarch64-linux-gnu prefix : /usr sysconfdir : /etc backend-drm-screencast-vaapi : false color-management-colord : false remoting : false xwayland : false
compile and install |
|
Port GPU Libraries
Please refer to the StartupGuide.txt document in meta-rz-features/recipes-graphics/mali/files/mali_pkg_eval_vx.x.tar.gz
Migrate GPU drivers
Copy the driver mali_kbase..ko from VLP Yocto build folder to SD card.
i.e. build/tmp/work/smarc_rzg2l-poky-linux/kernel-modulemali/r35-p0/image/lib/modules/5.10.83-cip1-yocto-standard/extra
install gpu .ko on reference board |
|
Migrate GPU Libraries
Copy the library files to SD card.
i.e. meta-rz-features/recipesgraphics/mali/files/mali_pkg_eval_vx.x.tar.gz
install library to reference board |
/usr/lib/aarch64-linux-gnu/
|
Testing
Install testing tool
sudo apt install glmark2-es2-wayland
Start Weston desktop
Only root user can launch weston service, please switch to root user in advance
insmod mali_kbase.ko weston --tty 1 &
Run glmark2 test
glmark2-es2-wayland --fullscreen