From 9a8b90d8104caa34bd7dc4105d711c9654ffd0cd Mon Sep 17 00:00:00 2001 From: GNU Date: Mon, 24 Jul 2023 15:41:53 +0800 Subject: [PATCH] Created How uConsole A06 OS image made (markdown) --- How-uConsole-A06-OS-image-made.md | 110 ++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 How-uConsole-A06-OS-image-made.md diff --git a/How-uConsole-A06-OS-image-made.md b/How-uConsole-A06-OS-image-made.md new file mode 100644 index 0000000..9b3da51 --- /dev/null +++ b/How-uConsole-A06-OS-image-made.md @@ -0,0 +1,110 @@ +Based on 26f52bfde573479960d8696f407d19b9 http://dl.clockworkpi.com/DevTerm_A06_v0.2h.img.bz2 + +Since uconsole and devterm are using the same main board + +Just need to update a new kernel for uconsole LCD screen + +## Kernel + +https://github.com/clockworkpi/uConsole/tree/master/Code/patch/a06/20230630 + +Combine linux-dtb-current-rockchip64_23.02.0-trunk_arm64.deb and linux-image-current-rockchip64_23.02.0-trunk_arm64.deb + +One of the more complicated tasks is merging preinst, postinst, postrm, and prerm files. + +``` +cat linux-image-current-rockchip64/preinst linux-dtb-current-rockchip64/preinst > preinst + +cat linux-image-current-rockchip64/postinst linux-dtb-current-rockchip64/postinst > postinst + +cat linux-image-current-rockchip64/postrm > postrm + +cat linux-image-current-rockchip64/prerm > prerm +``` + +## Expand img size +``` +dd if=/dev/zero bs=1MiB of=DevTerm_A06_v0.2h.img conv=notrunc oflag=append count=3000 +sudo losetup -f --show -P DevTerm_A06_v0.2h.img #assume got /dev/loop0 +sudo gparted /dev/loop0 #resize it,fullfill empty space with last partition by mouse drag +sudo losetup -D /dev/loop0 +``` + +## Chroot +Chroot into DevTerm_A06_v0.2h.img by + +``` +sudo mkdir -p /mnt/p1 +sudo losetup --show -f -P DevTerm_A06_v0.2h.img #assume loop0 +sudo mount /dev/loop0p1 /mnt/p1 + +cd /mnt/p1 +sudo mount --bind /dev dev/ +sudo mount --bind /sys sys/ +sudo mount --bind /proc proc/ +sudo mount --bind /dev/pts dev/pts +#sudo mv etc/ld.so.preload etc/ld_so_preload +sudo chroot . + +``` + +## In chroot +``` +sudo apt update +#update kernel +sudo apt install -y uconsole-kernel-current-cpi-a06 + + +#install additional games/emulators +sudo apt install -y devterm-tic80-cpi uconsole-love2d retroarch dosbox devterm-cavestory-cpi-cm4 uconsole-liko12 uconsole-lowresnx uconsole-dosbox-staging pppoe uconsole_4g_utils + + +#for 4G extension +sudo bash -c 'cat << EOF > /etc/modprobe.d/blacklist-qmi.conf +blacklist qmi_wwan +blacklist cdc_wdm +EOF' + +# uconsole does not have thermal printer +sudo apt remove devterm-thermal-printer # uconsole does not have thermal printer + +#pre configs +cd /usr/local/bin/ +git clone -b uconsole-a06 https://github.com/cuu/skel.git + +cp -rf skel/.config /home/cpi/ +cp -rf skel/.local /home/cpi +cp -rf skel/.dosbox /home/cpi +cp -rf skel/.opentyrian /home/cpi +cp -rf skel/etc/sudoers.d/cpi /etc/sudoers.d/ +chown -R cpi:cpi /home/cpi + +#remove old configs for screen rotation,since new uconsole a06 kernel did screen rotation + +* nano /boot/armbianEnv.txt ,remove "fbcon=rotate:1" +* rm -rf /etc/X11/Xsession.d/90custom_xrandr +* rm -rf /etc/lightdm/setup.sh +* rm -rf /etc/lightdm/lightdm.conf.d/13-rotate-dsi.conf + +exit #quit chroot +``` + +## Clean chroot + +do it everytime when you are done with chroot enviroment + +``` +cd - +sudo umount /mnt/p1/dev/pts +sudo umount /mnt/p1/dev +sudo umount /mnt/p1/proc +sudo umount /mnt/p1/sys +##clear bash +sudo rm -rf /mnt/p1/root/.bash_history +sudo umount /mnt/p1 +sudo losetup -D /dev/loop0 +``` +All uconsole image can be found at : https://github.com/clockworkpi/uConsole/tree/master/images + +That'it , happy hacking +