From 18cbeae99535393c94921fce240dfd5c4b111613 Mon Sep 17 00:00:00 2001 From: cuu Date: Sun, 15 Dec 2024 16:11:10 +0800 Subject: [PATCH] _wiki as submodule --- .gitmodules | 3 + _wiki | 1 + wiki/7110-dev-board-note.md | 16 - wiki/Compile-Devterm-CM4-kernel.md | 59 --- wiki/Compile-and-run-devterm-printer.md | 15 - wiki/Compile-andriod-kernel-for-cm4.md | 53 -- ...ompile-keyboard-bootloader-and-firmware.md | 64 --- ...le-lineage-os-19.1-kernel-for-rpi4(cm4).md | 57 --- ...sion-of-Cave-Story-from-the-source-code.md | 61 --- ...reate-DevTerm-A04-OS-image-from-scratch.md | 233 --------- ...reate-DevTerm-A06-OS-image-from-scratch.md | 212 -------- ...reate-DevTerm-CM3-OS-image-from-scratch.md | 94 ---- ...reate-DevTerm-CM4-OS-image-from-scratch.md | 140 ------ ...reate-DevTerm-R01-OS-image-from-scratch.md | 471 ------------------ wiki/DevTerm-A06-Install-ibus-input-method.md | 33 -- wiki/Devterm-CM3-rpi-os-image.md | 78 --- wiki/Devterm-CM3-ubuntu-server-image.md | 83 --- wiki/Devterm-CM4-GPIO-map.md | 19 - ...-Setup-thermal-printer-from-source-code.md | 71 --- wiki/Home.md | 6 - ...-to-Compile-cool-retro-term-for-DevTerm.md | 26 - wiki/How-to-compile-DevTerm-CM3-Kernel.md | 54 -- wiki/Keyboard-with-FPC-60pin-0.5mm.md | 25 - wiki/nmcli-with-gsm.md | 328 ------------ 24 files changed, 4 insertions(+), 2198 deletions(-) create mode 100644 .gitmodules create mode 160000 _wiki delete mode 100644 wiki/7110-dev-board-note.md delete mode 100644 wiki/Compile-Devterm-CM4-kernel.md delete mode 100644 wiki/Compile-and-run-devterm-printer.md delete mode 100644 wiki/Compile-andriod-kernel-for-cm4.md delete mode 100644 wiki/Compile-keyboard-bootloader-and-firmware.md delete mode 100644 wiki/Compile-lineage-os-19.1-kernel-for-rpi4(cm4).md delete mode 100644 wiki/Compile-the-widescreen-version-of-Cave-Story-from-the-source-code.md delete mode 100644 wiki/Create-DevTerm-A04-OS-image-from-scratch.md delete mode 100644 wiki/Create-DevTerm-A06-OS-image-from-scratch.md delete mode 100644 wiki/Create-DevTerm-CM3-OS-image-from-scratch.md delete mode 100644 wiki/Create-DevTerm-CM4-OS-image-from-scratch.md delete mode 100644 wiki/Create-DevTerm-R01-OS-image-from-scratch.md delete mode 100644 wiki/DevTerm-A06-Install-ibus-input-method.md delete mode 100644 wiki/Devterm-CM3-rpi-os-image.md delete mode 100644 wiki/Devterm-CM3-ubuntu-server-image.md delete mode 100644 wiki/Devterm-CM4-GPIO-map.md delete mode 100644 wiki/Guide-To-Setup-thermal-printer-from-source-code.md delete mode 100644 wiki/Home.md delete mode 100644 wiki/How-to-Compile-cool-retro-term-for-DevTerm.md delete mode 100644 wiki/How-to-compile-DevTerm-CM3-Kernel.md delete mode 100644 wiki/Keyboard-with-FPC-60pin-0.5mm.md delete mode 100644 wiki/nmcli-with-gsm.md diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a64cda3 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "_wiki"] + path = _wiki + url = git@github.com:clockworkpi/DevTerm.wiki.git diff --git a/_wiki b/_wiki new file mode 160000 index 0000000..cf7fa60 --- /dev/null +++ b/_wiki @@ -0,0 +1 @@ +Subproject commit cf7fa6031a3a6bcca41f659b1599fef47f5267af diff --git a/wiki/7110-dev-board-note.md b/wiki/7110-dev-board-note.md deleted file mode 100644 index d2529ff..0000000 --- a/wiki/7110-dev-board-note.md +++ /dev/null @@ -1,16 +0,0 @@ -# Upgrade bootloader and firmware - -for os image 69 and later - -https://forum.rvspace.org/t/visionfive-2-debian-image-december-released/1097/43?page=2 - -https://github.com/starfive-tech/VisionFive2/releases/ download latest sdcard.img, dd to sd card, then hdmi or serial port wait for the system to start - -## Flash files -``` -flashcp -v u-boot-spl.bin.normal.out /dev/mtd0 -flashcp -v visionfive2_fw_payload.img /dev/mtd1 -``` - -## 7110 full os large mirror address -https://debian.starfivetech.com/ \ No newline at end of file diff --git a/wiki/Compile-Devterm-CM4-kernel.md b/wiki/Compile-Devterm-CM4-kernel.md deleted file mode 100644 index 6a5bcb5..0000000 --- a/wiki/Compile-Devterm-CM4-kernel.md +++ /dev/null @@ -1,59 +0,0 @@ -# System -ubuntu 22.04 gcc8.4.0 -``` -sudo apt install gcc-8 gcc-8-aarch64-linux-gnu gcc-8-arm-linux-gnueabihf -``` - -# Download patch -``` -git clone https://github.com/clockworkpi/DevTerm.git -``` - -# Download kernel and patch it -``` -git clone https://github.com/raspberrypi/linux -cd linux -git checkout 3a33f11c48572b9dd0fecac164b3990fc9234da8 -cp ~/DevTerm/Code/patch/cm4/cm4_kernel_0704.patch . -git apply cm4_kernel_0704.patch - -#Strongly recommend to use gcc 8.4.0 as the cross compiler -KERNEL=kernel7l make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2711_defconfig -KERNEL=kernel7l make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j1 -INSTALL_MOD_PATH=./modules make modules_install -rm modules/lib/modules/*/build -rm modules/lib/modules/*/source - -mkdir output -mkdir output/boot -mkdir output/lib/modules -p -mkdir output/boot/overlays - -cp -rf modules/lib/modules/5.10.17-v7l+ output/lib/modules/ -cp arch/arm/boot/dts/overlays/*.dtbo output/boot/overlays/ -cp arch/arm/boot/dts/bcm2711-rpi-cm4.dtb output/boot/ -cp arch/arm/boot/zImage output/boot/kernel7l.img - -``` - -output is the folder contains all kernel stuff - -# config.txt -``` -disable_overscan=1 -dtparam=audio=on -[pi4] -dtoverlay=vc4-fkms-v3d -max_framebuffers=2 - -[all] -dtoverlay=dwc2,dr_mode=host -dtoverlay=vc4-kms-v3d-pi4,cma-384 -dtoverlay=devterm-pmu -dtoverlay=devterm-panel -dtoverlay=devterm-misc -dtoverlay=audremap,pins_12_13 - -dtparam=spi=on -gpio=10=ip,np -``` diff --git a/wiki/Compile-and-run-devterm-printer.md b/wiki/Compile-and-run-devterm-printer.md deleted file mode 100644 index 364f0cd..0000000 --- a/wiki/Compile-and-run-devterm-printer.md +++ /dev/null @@ -1,15 +0,0 @@ -# a06 a04 -``` -git clone https://github.com/clockworkpi/DevTerm.git -sudo systemctl stop devterm-socat devterm-printer - -sudo apt remove devterm-wiringpi-cpi - -cd DevTerm/Code/devterm_wiringpi_cpi/ - -sudo ./build -cd ~/DevTerm/Code/thermal_printer/ -sudo apt install -y libfreetype-dev -make - - diff --git a/wiki/Compile-andriod-kernel-for-cm4.md b/wiki/Compile-andriod-kernel-for-cm4.md deleted file mode 100644 index 752219d..0000000 --- a/wiki/Compile-andriod-kernel-for-cm4.md +++ /dev/null @@ -1,53 +0,0 @@ -# Download kernel source for andriod of rpi4 - -**sync-andriod-kernel.sh** -``` -#!/bin/bash - -BIN_DIR=$HOME/bin -REPO_PATH=$BIN_DIR/repo - -if [ ! -d $BIN_DIR ] -then - mkdir $BIN_DIR - add_path_env $BIN_DIR - curl https://storage.googleapis.com/git-repo-downloads/repo > $REPO_PATH - chmod a+x $REPO_PATH -else - echo "folder already exits. $BIN_DIR" -fi - -export PATH=$PATH:$BIN_DIR - -cd /data/andriod-kernel -repo init -u https://github.com/android-rpi/kernel_manifest -b arpi-5.10 -repo sync - - -``` - -# Compile -``` -cd /data/andriod-kernel/ -./build/build.sh -``` - -# Replace files - -``` -sudo losetup --show -f -P lineage-19.1-20220511-UNOFFICIAL-KonstaKANG-rpi4.img # assume /dev/loop0 -sudo mount /dev/loop0p1 /mnt/p1 - -# Copy kernel binaries to boot partition -cp -rf /data/andriod-kernel/out/arpi-5.10/dist/Image to /mnt/p1 -cp -rf /data/andriod-kernel/out/arpi-5.10/dist/bcm2711-rpi-*.dtb /mnt/p1 -cp -rf /data/andriod-kernel/out/arpi-5.10/dist/vc4-kms-v3d-pi4.dtbo to /mnt/p1/overlays/ - -sudo umount /mnt/p1 -sudo losetup -D /dev/loop0 - -``` - -# Reference Url -* https://github.com/android-rpi/kernel_manifest -* https://github.com/android-rpi/device_arpi_rpi4 \ No newline at end of file diff --git a/wiki/Compile-keyboard-bootloader-and-firmware.md b/wiki/Compile-keyboard-bootloader-and-firmware.md deleted file mode 100644 index c3f0dc8..0000000 --- a/wiki/Compile-keyboard-bootloader-and-firmware.md +++ /dev/null @@ -1,64 +0,0 @@ -# Build bin - -``` -git clone https://github.com/rogerclarkmelbourne/STM32duino-bootloader - -cd STM32duino-bootloader - -make generic-pc13 - -``` -this will produce `bootloader_only_binaries/generic_boot20_pc13.bin` -## Convert bootloader to hex format -using `srec_cat` to convert -windows: http://srecord.sourceforge.net/ -linux: sudo apt install srecord - -``` -srec_cat bootloader_only_binaries/generic_boot20_pc13.bin -Binary -offset 0x08000000 -output bootloader_only_binaries/generic_boot20_pc13.hex -Intel -``` - -## Next is to use stm32Cube to flash the bootloader -* Download the stm32cube programmer - [stm32cube programmer](https://www.st.com/en/development-tools/stm32cubeprog.html) - -* Put 1 ON in the back of keyboard -* Connect keyboard with a usb-serial convert by fpc, in order of [IO MAP](https://github.com/clockworkpi/DevTerm/wiki/Keyboard-with-FPC-60pin-0.5mm) -* Click connect on STM32cube programmer -* flash it - -![2022-09-26_13-04](https://user-images.githubusercontent.com/523580/192197890-dcb6d6fc-0ef5-4870-b9d3-ae03fc5f5110.png) -![2022-09-26_13-04_1](https://user-images.githubusercontent.com/523580/192197900-c7f8b448-3812-403f-b7b0-728248533790.png) -![2022-09-26_13-09](https://user-images.githubusercontent.com/523580/192198205-8edecc5f-c30e-4837-8b3c-7f97c97ba40a.png) - - - -# Flash Arudino -## Arduino IDE -* add stm32duino pacakage index in **Preference panel** : http://dan.drown.org/stm32duino/package_STM32duino_index.json as **Additional Boards Manager URLs:** and install STM32F1xx/GD32F1xx boards - -![image](https://user-images.githubusercontent.com/523580/192198944-fd0fbf55-0977-42bb-9256-f7bcdf331466.png) - -* verbose all outputs: -![image](https://user-images.githubusercontent.com/523580/192198967-d4738c42-897e-412a-b630-afab45d274c3.png) - -* Select upload method ,board type is **Generic STM32F103R series ** -![image](https://user-images.githubusercontent.com/523580/192198991-9757e354-c8ec-4859-95e9-dba732773fb1.png) - -* Set cpu mhz to 48Mhz -![image](https://user-images.githubusercontent.com/523580/192199043-7f877adb-830e-4323-8799-06e115843b46.png) - - -* Put 1 OFF in the back of keyboard -* User arduino IDE to open [devterm_keyboard.ino](https://github.com/clockworkpi/DevTerm/blob/main/Code/devterm_keyboard/devterm_keyboard.ino) -* flash it -![image](https://user-images.githubusercontent.com/523580/192199494-8778bfcc-fcff-4bd0-9f51-f034a080f981.png) - - -# CN version -https://shimo.im/docs/Tc8RVQWdjvXtwhYv/ 《GD32f103rgt6/CKSF103R* 与stm32duino bootloader》 - -custom keyboard: - -https://forum.clockworkpi.com/t/keyboard-stuck-in-bootloader-mode/8830/11 - diff --git a/wiki/Compile-lineage-os-19.1-kernel-for-rpi4(cm4).md b/wiki/Compile-lineage-os-19.1-kernel-for-rpi4(cm4).md deleted file mode 100644 index 7602f8f..0000000 --- a/wiki/Compile-lineage-os-19.1-kernel-for-rpi4(cm4).md +++ /dev/null @@ -1,57 +0,0 @@ -# Prepare -``` -mkdir -p ~/data/andriod -mkdir -p ~/data/github/lineage-rpi -cd ~/data/github/lineage-rpi - -git clone https://github.com/lineage-rpi/android_kernel_brcm_rpi -b lineage-19.1 -git clone https://github.com/lineage-rpi/proprietary_vendor_brcm -b lineage-19.1 - -cd ~/data/andriod - -git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9 -b pie-release -``` -# Fix firmware path - -edit `~/data/github/lineage-rpi/android_kernel_brcm_rpi/arch/arm64/configs/lineageos_rpi4_defconfig` line 1537 -to be -`CONFIG_EXTRA_FIRMWARE_DIR="/home/cpi/data/github/lineage-rpi/proprietary_vendor_brcm/rpi4/proprietary/vendor/firmware"` - -# Compile - -``` -cd ~/data/github/lineage-rpi/android_kernel_brcm_rpi -``` - -create **m.sh** with content like: - -``` -#!/bin/bash - -export PATH=/home/cpi/data/andriod/aarch64-linux-android-4.9/bin:$PATH - -ARCH=arm64 CROSS_COMPILE=aarch64-linux-androidkernel- make lineageos_rpi4_defconfig -ARCH=arm64 CROSS_COMPILE=aarch64-linux-androidkernel- make Image dtbs -j1 -``` - -``` -chmod +x m.sh -./m.sh # start kernel compile -``` - -# Replace files -copy -* bcm2711-rpi-400.dtb -* bcm2711-rpi-4-b.dtb -* bcm2711-rpi-cm4.dtb -* bcm2711-rpi-cm4s.dtb - - -from `~/data/github/lineage-rpi/android_kernel_brcm_rpi/arch/arm64/boot/dts/broadcom/` to lineage os image boot partition - -copy `~/data/github/lineage-rpi/android_kernel_brcm_rpi/arch/arm64/boot/Image` to to lineage os image boot partition - -copy `~/data/github/lineage-rpi/android_kernel_brcm_rpi/arch/arm64/boot/dts/overlays/vc4-kms-v3d.dtbo` to to lineage os image boot partition/overlays - -# Kernel config -https://gist.github.com/cuu/92bfa28a9b6de421834e5f9f408a12a4 diff --git a/wiki/Compile-the-widescreen-version-of-Cave-Story-from-the-source-code.md b/wiki/Compile-the-widescreen-version-of-Cave-Story-from-the-source-code.md deleted file mode 100644 index 2772796..0000000 --- a/wiki/Compile-the-widescreen-version-of-Cave-Story-from-the-source-code.md +++ /dev/null @@ -1,61 +0,0 @@ -# Compile the widescreen version of Cave Story from the source code - -### Install the necessary packages: - -``` -sudo apt update - -sudo apt install build-essential libpng-dev libjpeg-dev make cmake cmake-data git libsdl2-dev libsdl2-doc libsdl2-gfx-dev libsdl2-gfx-doc libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev cmake -y -qq -``` - - -### Compile the engine (it takes about 1 hour): -``` -cd ~ -git clone https://github.com/nxengine/nxengine-evo -``` -### Modified to the widescreen version: - -`vim ~/nxengine-evo/src/graphics/Renderer.cpp` - - -### Edit the 225 line and save and exit the following line -``` -{(char *)"1280x480", 1280, 480, 640, 240, 2, true, true}, -``` - -``` -cd nxengine-evo -mkdir build -cd build -cmake -DCMAKE_BUILD_TYPE=Release .. -make -cd ~/nxengine-evo -wget https://www.cavestory.org/downloads/cavestoryen.zip -unzip cavestoryen.zip -cp -r CaveStory/data/* data/ -cp CaveStory/Doukutsu.exe . -./build/nxextract -cd build -sudo make install -``` - -### Confirm that the original version can run normally: -`./nxengine-evo` - - - - -### Run the modified version: -`./nxengine-evo` - -### After running, press the Esc key, enter Options->Graphics, select the resolution as 1280x480, and open the full screen. - - -### Reinstall after confirming that there is no problem: -``` -cd ~/nxengine-evo/build -sudo make install -``` - -You can use the command **nxengine-evo **to run the game in any directory \ No newline at end of file diff --git a/wiki/Create-DevTerm-A04-OS-image-from-scratch.md b/wiki/Create-DevTerm-A04-OS-image-from-scratch.md deleted file mode 100644 index 7cddbd5..0000000 --- a/wiki/Create-DevTerm-A04-OS-image-from-scratch.md +++ /dev/null @@ -1,233 +0,0 @@ -**This wiki maybe outdated since armbian build system is always updating , so don't panic** - - - -# Generate the prototype os image -``` -cd ~ -git clone https://github.com/armbian/build.git -git clone https://github.com/clockworkpi/DevTerm.git - -cd build - -git reset --hard 5fa022603c0948cc59688ba782b3711f980a0be3 - -cp -rf ~/DevTerm/Code/patch/armbian_build_a04/userpatches/* userpatches/ -cp -rf ~/DevTerm/Code/patch/armbian_build_a04/config/boards/* config/boards/ -cp -rf ~/DevTerm/Code/patch/armbian_build_a04/config/kernel/* config/kernel/ - -#Then exec ./compile.sh under armbian build -cd ~/build && ./compile.sh -``` -after image done -uncompress the -`linux-dtb-current-sunxi64_21.11.0-trunk_arm64.deb` -`linux-image-current-sunxi64_21.11.0-trunk_arm64.deb` - -and then combine all files ,all the postinst, preinst,prerm,postrm -to be one `devterm-kernel-current-cpi-a04.deb` -the reason is if not doing this , `apt-get upgrade` will replace the linux-dto,linux-image* in future, which will cause boot failed -so to keep a04 linux kernel in safe , I made devterm-kernel-current-cpi-a04 - -# Prepare to chroot into the image -``` -sudo apt install -y qemu-user-static -sudo losetup -f # find the avaiable loop device number,eg:loop11 -sudo losetup -P /dev/loop11 ~/build/output/images/Armbian_21.11.0-trunk_Clockworkpi-a04_hirsute_current_5.10.75_xfce_desktop.img -sudo mount /dev/loop11p1 /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 chroot . -``` -## Inside chroot -(inside) -### import clockworpi apt -``` -curl https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | tee /etc/apt/trusted.gpg.d/clockworkpi.asc -echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | tee /etc/apt/sources.list.d/clockworkpi.list -``` - -### Preset cpi username and password -``` -sh /etc/profile.d/armbian-check-first-login.sh -``` -### Install kernel -``` -sudo apt update -sudo apt install -y devterm-kernel-current-cpi-a04 -apt install -y xfce4-power-manager -touch /home/cpi/.first_start -chown cpi:cpi /home/cpi/.first_start -``` - -### Allow sudo cpi without password prompt - -``` -echo -e "cpi\tALL=(ALL:ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cpi - -``` -### Config xrandr -``` -sudo bash -c 'cat << EOF > /etc/X11/Xsession.d/100custom_xrandr -xrandr --output DSI-1 --rotate right -xrandr --output None-1 --rotate right -EOF' -``` - -### Config lightdm -#### autologin - -``` -sudo bash -c 'cat < /etc/lightdm/lightdm.conf.d/12-autologin.conf -[Seat:*] -autologin-user=cpi -autologin-user-timeout=0 -EOF' -``` - -``` -sudo bash -c 'cat < /etc/lightdm/lightdm.conf.d/13-rotate-dsi.conf -[Seat:*] -greeter-setup-script=/etc/lightdm/setup.sh -EOF' -``` -``` -sudo bash -c 'cat </etc/lightdm/setup.sh -#!/bin/bash -xrandr --output DSI-1 --rotate right -xrandr --output None-1 --rotate right -exit 0 -EOF' - -sudo chmod +x /etc/lightdm/setup.sh -``` - -#### config lightdm background -``` -sudo sed -i '/background/c\background = #202020' /etc/lightdm/slick-greeter.conf - -``` - -### Disable app crash report dialog -``` -sudo sed -i '/enabled=1/c\enabled=0' /etc/default/apport -``` - -### Hide suspend button -cd /home/cpi/.config/xfce4/xfconf/xfce-perchannel-xml -``` -sudo sed -i 's/\(name\=\".*ShowSuspend.*\"\s\)value="\(true\|false\)"/\1value=\"false\"/gi' xfce4-session.xml - -sudo sed -i 's/\(type\=\".*string.*\"\s\)value="\(+suspend\)"/\1value=\"-suspend\"/gi' xfce4-panel.xml - -``` - -### Add framebuffer console rotate /boot/armbianEnv.txt -``` -extraargs=fbcon=rotate:1 -``` - -### Change ssh login banner -In `/etc/update-motd.d/10-armbian-header` -``` -TERM=linux toilet -f standard -F metal $(echo $BOARD_NAME | sed 's/Orange Pi/OPi/' | sed 's/NanoPi/NPi/' | sed 's/Banana Pi/BPi/' | sed 's/Clockworkpi A04/Clockworkpi/') -``` - -### Install devterm packages -``` -sudo apt update -sudo apt install -y devterm-wiringpi-cpi-a04 devterm-thermal-printer devterm-thermal-printer-cups devterm-first-start-a04 devterm-fan-daemon-cpi-a04 devterm-audio-patch - -``` -### Disable sshd -``` -sudo touch /etc/ssh/sshd_not_to_be_run - -``` -### Install ibus input method for CJK - -`sudo apt install ibus ibus-pinyin ibus-gtk ibus-gtk3 -y` -``` -cat </home/cpi/.config/autostart/ibus.desktop -[Desktop Entry] -Exec=ibus-daemon -drxR -GenericName=IBus -Name[zh_CN]=IBus -Name=IBus -Name[en_US]=IBus -StartupNotify=true -Terminal=false -Type=Application -EOF -``` - -``` -sudo bash -c 'cat </etc/profile.d/ibus.sh -#!/bin/bash - -export XIM_PROGRAM=ibus -export XIM=ibus -export XMODIFIERS=@im=ibus -export GTK_IM_MODULE=ibus -export QT_IM_MODULE=ibus -EOF' -``` -### GDM3 -due to the panfrost screen flashing issue with lightdm,use gdm3 instead of lightdm -` sudo apt install gdm3` -``` -sudo bash -c 'cat < /usr/share/gdm/greeter/autostart/01_rotate.desktop -[Desktop Entry] -Version=1.0 -Type=Application -Name=Rotate Screen -Exec=/etc/lightdm/setup.sh -Terminal=false -NoDisplay=true -EOF' -``` -#### gdm3 background and hide poweroff,suspend -In `/etc/gdm3/greeter.dconf-defaults ` -``` -... -[org/gnome/desktop/background] -picture-options='none' -primary-color='#222222' -... - -[org/gnome/login-screen] -disable-restart-buttons=true -``` -#### config gdm3 autologin -/etc/gdm3/custom.conf - -``` -[daemon] -... -AutomaticLoginEnable = true -AutomaticLogin = cpi -``` - -## libreoffice fix for panfrost issue -` sudo apt install libreoffice-gtk3 ` - -# Exit from chroot -``` -exit -(out) -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 root/.bash_history -cd - -sudo umount /mnt/p1 -sudo losetup -D /dev/loop11 -``` diff --git a/wiki/Create-DevTerm-A06-OS-image-from-scratch.md b/wiki/Create-DevTerm-A06-OS-image-from-scratch.md deleted file mode 100644 index 6c33f3f..0000000 --- a/wiki/Create-DevTerm-A06-OS-image-from-scratch.md +++ /dev/null @@ -1,212 +0,0 @@ -# Intro -DevTerm A06 os image based on Armbian with current kernel branch, XFCE desktop -and it is better to run a Ubuntu 21.04 in a VirtualBox with a good bandwidth network to do all the jobs -If the condition of the network is not so well, -the Armbian build process will fail on some packages downloading or mirrors connecting - -The entire operation requires a certain experience in linux -be careful - -**This wiki maybe outdated since armbian build system is always updating , so don't panic** - -# Build armbian image for A06 -``` -cd ~ -git clone https://github.com/armbian/build.git -git clone https://github.com/clockworkpi/DevTerm.git - -cd build -git reset --hard 43d179914ae9e1ebb5d72315d9f9f68f5fb3e330 - -mkdir -p userpatches/kernel/rockchip64-current/ -mkdir -p userpatches/u-boot/u-boot-rockchip64-mainline/ - -git apply ~/DevTerm/Code/patch/armbian_build_a06/patch/armbian.patch -cp ~/DevTerm/Code/patch/armbian_build_a06/patch/kernel*.patch userpatches/kernel/rockchip64-current/ -cp ~/DevTerm/Code/patch/armbian_build_a06/patch/uboot*.patch userpatches/u-boot/u-boot-rockchip64-mainline/ -cp -f ~/DevTerm/Code/patch/armbian_build_a06/patch/lib.config userpatches/ -cp ~/DevTerm/Code/patch/armbian_build_a06/patch/clockworkpi-a06.conf config/boards/ - -#Then exec ./compile.sh under armbian build -cd ~/build && sudo ./compile.sh BOARD=clockworkpi-a06 BRANCH=current BUILD_MINIMAL=no BUILD_DESKTOP=no KERNEL_ONLY=yes KERNEL_CONFIGURE=no -``` - -after image done -uncompress the -`linux-dtb-current-rockchip64_21.08.0-trunk_arm64.deb` -`linux-image-current-rockchip64_21.08.0-trunk_arm64.deb` - -and then combine all files ,all the postinst, preinst,prerm,postrm -to be one `devterm-kernel-current-cpi-a06.deb` -the reason is if not doing this , `apt-get upgrade` will replace the linux-dto,linux-image* in future, which will cause boot failed -so to keep a06 linux kernel in safe , I made devterm-kernel-current-cpi-a06 - -# Chroot image -``` -sudo losetup -P /dev/loop0 Armbian_21.08.0-trunk_Clockworkpi-a06_focal_current_5.10.55_xfce_desktop.img -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 . -``` - -## Inside Chroot -### Run password wizard -``` -sh /etc/profile.d/armbian-check-first-login.sh -``` -set **root** password,create default user **cpi** with password **cpi** -``` -touch /home/cpi/.first_start -chown cpi:cpi /home/cpi/.first_start -``` -### Install devterm software -``` -sudo apt update -sudo apt install curl wget -y - -curl https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | sudo tee /etc/apt/trusted.gpg.d/clockworkpi.asc -echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | sudo tee /etc/apt/sources.list.d/clockworkpi.list - -sudo apt update -sudo apt remove linux-image* -sudo apt install devterm-kernel-current-cpi-a06 devterm-fan-daemon-cpi-a06 devterm-thermal-printer devterm-thermal-printer-cups devterm-wiringpi-cpi devterm-first-start-a06 devterm-audio-patch -``` - -### /boot/ArmbianEnv.txt -``` -bootlogo=false -extraargs= fbcon=rotate:1 -... -``` - - -### autologin -``` -sudo bash -c 'cat < /etc/lightdm/lightdm.conf.d/12-autologin.conf - -[Seat:*] -autologin-user=cpi -autologin-user-timeout=0 -EOF' -``` - -### config lightdm -``` -sudo bash -c 'cat << EOF > /etc/lightdm/lightdm.conf.d/13-rotate-dsi.conf -[Seat:*] -greeter-setup-script=/etc/lightdm/setup.sh -EOF' - -sudo bash -c 'cat </etc/lightdm/setup.sh -#!/bin/bash -xrandr --output DSI-1 --rotate right -exit 0 -EOF' - -sudo chmod +x /etc/lightdm/setup.sh -``` - -### config xrandr -``` -sudo bash -c 'cat << EOF > /etc/X11/Xsession.d/100custom_xrandr -xrandr --output DSI-1 --rotate right -EOF' -``` - -### additional software -``` -sudo apt remove celluloid mpv -sudo apt install -y arandr chromium-browser vlc cpupower-gui xfce4-power-manager -``` -### /etc/default/apport -`enable=0` - -### ssh banner fix -/etc/update-motd.d/10-armbian-header -``` -.... sed 's/Banana Pi/BPi/' | sed 's/Clockworkpi A06/Clockworkpi/') - -``` -### Disable Display power management in xfce4 power manager -display power management must be disabled ,once the display turn off, you need to reboot to get it back -~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml - -``` - - - - - - - - - - - - - - - - - - - - - - - - - - -``` -### Default wallpaper -``` -/usr/share/backgrounds/xfce/xfce-verticals.png -``` -# Quit Chroot -``` -exit -sudo mv etc/ld_so_preload etc/ld.so.preload - -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 root/.bash_history -sudo rm usr/bin/qemu-arm-static - -cd - -sudo umount /mnt/p1 -``` - -umount may failed at /mnt/p1/dev -just use `ps aux | grep cupsd` to see if there a process named like `/usr/bin/qemu-aarch64-static /usr/sbin/cupsd -C /etc/cups/cupsd.conf -s /etc/cups/cups-files.conf` - -find the pid ,use `sudo kill -9 ${pid}` with that pid -then umount again - - - -# Flash the image to SD card -* Linux -`sudo dd if=Armbian_21.08.0-trunk_Clockworkpi-a06_focal_current_5.10.55_xfce_desktop.img of=/dev/sdX bs=8M status=progress` - - -# Ubuntu 2104 Hirsute went offline -fix: -https://forum.clockworkpi.com/t/hirsute-went-offline-late-july-2022-how-to-manage/8770/3 - -new os image: 26f52bfde573479960d8696f407d19b9 http://dl.clockworkpi.com/DevTerm_A06_v0.2h.img.bz2 -switched to ubuntu jammy ,LTS up to 2037 - -# 2023 06 30 new kernel patch: -https://github.com/clockworkpi/uConsole/tree/master/Code/patch/a06/20230630 - - diff --git a/wiki/Create-DevTerm-CM3-OS-image-from-scratch.md b/wiki/Create-DevTerm-CM3-OS-image-from-scratch.md deleted file mode 100644 index 25b6e30..0000000 --- a/wiki/Create-DevTerm-CM3-OS-image-from-scratch.md +++ /dev/null @@ -1,94 +0,0 @@ -## Intro -The image based on raspberry pi os -and it is better to run a Ubuntu 21.04 in a VirtualBox to do all the jobs -The entire operation requires a certain experience in linux -be careful - -## Start a chroot env -``` -wget https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-full.zip - -unzip 2021-05-07-raspios-buster-armhf-full.zip - -sudo losetup --show -f -P 2021-05-07-raspios-buster-armhf-full.img #assume loop0 -sudo mount /dev/loop0p2 /mnt/p2 -sudo mount /dev/loop0p1 /mnt/p2/boot - -cd /mnt/p2 -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 . -``` - -## Inside chroot -``` -curl https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | sudo tee /etc/apt/trusted.gpg.d/clockworkpi.asc - -echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | sudo tee -a /etc/apt/sources.list.d/clockworkpi.list - -sudo apt update && sudo apt install devterm-thermal-printer devterm-keyboard-firmware devterm-fan-temp-daemon-rpi devterm-thermal-printer-cups devterm-kernel-rpi devterm-audio-patch -y -``` -**Config xrandr** -``` -sudo bash -c 'cat << EOF > etc/X11/Xsession.d/100custom_xrandr -xrandr --output DSI-1 --rotate right -EOF' -``` -**config lightdm** - -`/etc/lightdm/lightdm.conf` - -`greeter-setup-script=/etc/lightdm/setup.sh` -``` -sudo bash -c 'cat </etc/lightdm/setup.sh -#!/bin/bash -xrandr --output DSI-1 --rotate right -exit 0 -EOF' -``` -`sudo chmod +x /etc/lightdm/setup.sh` - -**Modify /etc/dphys-swapfile** -``` -CONF_SWAPSIZE=512 -``` - -**Change the default wallpaper** -The following files changed - -* /etc/xdg/pcmanfm/LXDE-pi/desktop-items-0.conf -* /etc/xdg/pcmanfm/LXDE-pi/desktop-items-1.conf -* /etc/lightdm/pi-greeter.conf -* /home/pi/.config/pcmanfm/LXDE-pi/desktop-items-0.conf - -Delete wallpaper address `temple.jpg`,change the `desktop_bg` color to `#202020` -change `/etc/hostname` to clockworkpi -in `/boot/cmdline.txt` ,add `fbcon=rotate:1`, remove `quiet` - -### Now quit the chroot env -``` -exit -#sudo mv etc/ld_so_preload etc/ld.so.preload - -sudo umount /mnt/p2/dev/pts -sudo umount /mnt/p2/dev -sudo umount /mnt/p2/proc -sudo umount /mnt/p2/sys -##clear bash -sudo rm -rf root/.bash_history -#sudo rm usr/bin/qemu-arm-static - -cd - -sudo umount /mnt/p2/boot -sudo umount /mnt/p2 -sudo losetup -D /dev/loop0 #assume loop0 -``` - -### Flash the image to SD card -* Linux -`sudo dd if=2021-05-07-raspios-buster-armhf-full.img of=/dev/sdX bs=8M status=progress` - - diff --git a/wiki/Create-DevTerm-CM4-OS-image-from-scratch.md b/wiki/Create-DevTerm-CM4-OS-image-from-scratch.md deleted file mode 100644 index 8a47526..0000000 --- a/wiki/Create-DevTerm-CM4-OS-image-from-scratch.md +++ /dev/null @@ -1,140 +0,0 @@ -## Intro -The image based on raspberry pi os -for raspberry pi cm4 with devterm cm4 adapter -and it is better to run a Ubuntu 21.04 in a VirtualBox to do all the jobs -The entire operation requires a certain experience in linux -be careful - -## Start a chroot env -```bash -wget https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-full.zip - -unzip 2021-05-07-raspios-buster-armhf-full.zip - -sudo losetup --show -f -P 2021-05-07-raspios-buster-armhf-full.img #assume loop0 -sudo mount /dev/loop0p2 /mnt/p2 -sudo mount /dev/loop0p1 /mnt/p2/boot - -cd /mnt/p2 -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 . -``` - -## Inside chroot -```bash -curl https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | sudo tee /etc/apt/trusted.gpg.d/clockworkpi.asc - -echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | sudo tee -a /etc/apt/sources.list.d/clockworkpi.list - -sudo apt update && sudo apt install devterm-thermal-printer-cm4 devterm-fan-temp-daemon-cm4 devterm-kernel-cm4-rpi devterm-audio-patch devterm-wiringpi-cm4-cpi -y - -sudo apt install -y devterm-thermal-printer-cups -``` -**Config xrandr** -``` -sudo bash -c 'cat << EOF > etc/X11/Xsession.d/100custom_xrandr -xrandr --output DSI-1 --rotate right -EOF' -``` -**config lightdm** - -`/etc/lightdm/lightdm.conf` - -`greeter-setup-script=/etc/lightdm/setup.sh` -``` -sudo bash -c 'cat </etc/lightdm/setup.sh -#!/bin/bash -xrandr --output DSI-1 --rotate right -exit 0 -EOF' -``` -`sudo chmod +x /etc/lightdm/setup.sh` - -**Modify /etc/dphys-swapfile** -``` -CONF_SWAPSIZE=512 -``` - -**Change the default wallpaper** -The following files changed - -* /etc/xdg/pcmanfm/LXDE-pi/desktop-items-0.conf -* /etc/xdg/pcmanfm/LXDE-pi/desktop-items-1.conf -* /etc/lightdm/pi-greeter.conf -* /home/pi/.config/pcmanfm/LXDE-pi/desktop-items-0.conf - -Delete wallpaper address `temple.jpg`,change the `desktop_bg` color to `#202020` -change `/etc/hostname` to clockworkpi -in `/boot/cmdline.txt` ,add `fbcon=rotate:1`, remove `quiet` - -**Screen rotation** -change -``` -/etc/skel/.config/monitors.xml -/home/{pi,rpi-first-boot-wizard}/.config/monitors.xml -``` -to be like -```xml - - - - 0 - 0 - yes - - - DSI-1 - unknown - unknown - unknown - - - 480 - 1280 - 60.000 - - - - right - - - - -``` -for uConsole, replace **480 to 720** in above **monitors.xml** - -### console rotation -/boot/cmdline.txt add **fbcon=rotate:1** in the end of -``` -console=......... fbcon=rotate:1 - -``` - - -### Now quit the chroot env -```bash -exit -#sudo mv etc/ld_so_preload etc/ld.so.preload - -sudo umount /mnt/p2/dev/pts -sudo umount /mnt/p2/dev -sudo umount /mnt/p2/proc -sudo umount /mnt/p2/sys -##clear bash -sudo rm -rf root/.bash_history -#sudo rm usr/bin/qemu-arm-static - -cd - -sudo umount /mnt/p2/boot -sudo umount /mnt/p2 -sudo losetup -D /dev/loop0 #assume loop0 -``` - -### Flash the image to SD card -* Linux -`sudo dd if=2021-05-07-raspios-buster-armhf-full.img of=/dev/sdX bs=8M status=progress` - diff --git a/wiki/Create-DevTerm-R01-OS-image-from-scratch.md b/wiki/Create-DevTerm-R01-OS-image-from-scratch.md deleted file mode 100644 index d703872..0000000 --- a/wiki/Create-DevTerm-R01-OS-image-from-scratch.md +++ /dev/null @@ -1,471 +0,0 @@ - -# Before start -Our system image is modified based on fedora wiki -Mainly replace the kernel and rootfs -Some linux experience is required to handle every possible situation -there are some discrepancies with the final system image -So this document is more suitable for the guidance of the R-01 system image - - -# Prepare - -a ubuntu linux system, like ubuntu 21.04 - -install riscv64 gcc -``` -sudo apt install gcc-11-riscv64-linux-gnu binutils-riscv64-linux-gnu -sudo apt install git -sudo apt install make -sudo apt install build-essential -sudo apt install libfontconfig1 -sudo apt install ncurses-devel -sudo apt install libncurses-dev -sudo apt install build-essential -sudo apt install flex bison -sudo apt install python3-distutils -sudo apt install swig -sudo apt install python3-dev -sudo apt install openssl -sudo apt install libssl-dev - -``` - -install qemu static for chroot - -`sudo apt install qemu-user-static` - - -manually fix default compiler link: - -``` -sudo ln -s /usr/bin/riscv64-linux-gnu-cpp-11 /usr/bin/riscv64-linux-gnu-cpp -sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-nm-11 /usr/bin/riscv64-linux-gnu-gcc-nm -sudo ln -s /usr/bin/riscv64-linux-gnu-gcov-dump-11 /usr/bin/riscv64-linux-gnu-gcov-dump -sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-11 /usr/bin/riscv64-linux-gnu-gcc -sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-ranlib-11 /usr/bin/riscv64-linux-gnu-gcc-ranlib -sudo ln -s /usr/bin/riscv64-linux-gnu-gcov-tool-11 /usr/bin/riscv64-linux-gnu-gcov-tool -sudo ln -s /usr/bin/riscv64-linux-gnu-gcc-ar-11 /usr/bin/riscv64-linux-gnu-gcc-ar -sudo ln -s /usr/bin/riscv64-linux-gnu-gcov-11 /usr/bin/riscv64-linux-gnu-gcov -sudo ln -s /usr/bin/riscv64-linux-gnu-lto-dump-11 /usr/bin/riscv64-linux-gnu-lto-dump -``` - - -# Bootloader - -### reference doc: -https://fedoraproject.org/wiki/Architectures/RISC-V/Allwinner - - -``` -git clone https://github.com/smaeul/sun20i_d1_spl -pushd sun20i_d1_spl -git checkout origin/mainline -make CROSS_COMPILE=riscv64-linux-gnu- p=sun20iw1p1 mmc -popd -``` - -``` -pushd sun20i_d1_spl -sudo dd if=nboot/boot0_sdcard_sun20iw1p1.bin of=/dev/sdX bs=512 seek=16 -``` - -git clone https://github.com/tekkamanninja/opensbi -b allwinner_d1 -pushd opensbi -CROSS_COMPILE=riscv64-linux-gnu- PLATFORM=generic FW_PIC=y BUILD_INFO=y make -popd - -``` -git clone https://github.com/tekkamanninja/u-boot -b allwinner_d1 -pushd u-boot -make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv nezha_defconfig -make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv menuconfig -make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv u-boot.bin u-boot.dtb -popd -``` -**in menuconfig, there is an import option must be selected:** - - ![menuconfig](https://raw.githubusercontent.com/clockworkpi/DevTerm/main/Pictures/Image%202022-04-11%20112248.png) - -otherwises, the boot will hang - - -## u-boot.toc1 - -**toc1.cfg** - -``` -[opensbi] -file = fw_dynamic.bin -addr = 0x40000000 -[dtb] -file = u-boot.dtb -addr = 0x44000000 -[u-boot] -file = u-boot.bin -addr = 0x4a000000 -``` -``` -pushd u-boot -cp ${PATH_TO_TOC1_CFG}/toc1.cfg ${PATH_TO_OPENSBI}/fw_dynamic.bin . -tools/mkimage -T sunxi_toc1 -d toc1.cfg u-boot.toc1 -popd -``` - -pushd u-boot -sudo dd if=u-boot.toc1 of=/dev/sdX bs=512 seek=32800 -![boot ](https://raw.githubusercontent.com/clockworkpi/DevTerm/main/Pictures/Image%202022-04-10%20192110.png) - - -# Disk partition prepare - -## Original fedora image fdisk partition -``` -Units: sectors of 1 * 512 = 512 bytes -Sector size (logical/physical): 512 bytes / 512 bytes -I/O size (minimum/optimal): 512 bytes / 512 bytes -Disklabel type: dos -Disk identifier: 0xda568ce2 - -Device Boot Start End Sectors Size Id Type -fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-20211124-132603.n.0-sda.raw.img2 69632 319487 249856 122M c W95 FAT32 (LBA) -fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-20211124-132603.n.0-sda.raw.img3 * 319488 1320959 1001472 489M 83 Linux -fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-20211124-132603.n.0-sda.raw.img4 1320960 25319423 23998464 11.5G 83 Linux -``` - - -## Create disk image file - -### create image file with dd -``` -MEGA=16777216 - -dd if=/dev/zero bs=$MEGA count=1024 of=disk.img -echo -e "o\nn\np\n2\n69632\n319487\nn\np\n3\n319488\n1320959\nn\np\n4\n1320960\n\n\nt\n2\nc\na\n3\n\nw" | fdisk disk.img -fdisk -l disk.img -``` -``` -sudo losetup --show -f -P disk.img #/dev/loop1 -sudo mkfs.vfat /dev/loop1p2 -sudo mkfs.ext4 /dev/loop1p3 -sudo mkfs.ext4 /dev/loop1p4 -``` - -# Download ubuntu riscv image for rootfs - -https://wiki.ubuntu.com/RISC-V - -https://cdimage.ubuntu.com/releases/21.04/release/ - -https://cdimage.ubuntu.com/releases/21.04/release/ubuntu-21.04-preinstalled-server-riscv64+unmatched.img.xz - -## Take rootfs of ubuntu out -``` -sudo losetup --show -f -P ubuntu-21.04-preinstalled-server-riscv64+unmatched.img # eg: /dev/loop1,depends on your linux system - -sudo mount /dev/loop1p1 /mnt/p1 -sudo tar cpjfv ubuntu-21.04-preinstalled-server-riscv64+unmatched_rootfs.tar.bz2 -C /mnt/p1/ . -sudo umount /mnt/p1 -sudo losetup -D /dev/loop1 #dettach,release /dev/loop1 -``` -download link: -https://mega.nz/file/IQFlWZKL#_ERlz3GXoUgxsIoaLHK8oQ2A6SNFcHhZpS2tF3N6RaQ -https://mega.nz/file/IIlAHKST#PP8feOr6tHxdbD-Zoyj64G4TfG7HG_1s3VHasisP6h0 - - - -## Prebuilt files - -### boot partition - - -#### ubuntu_2104_devterm_d1_boot.tar.bz2 -``` -https://mega.nz/file/NEsV1SRQ#FexV7wJhiUQKLcfBol4bB5m8UsX1O5qWet8geONclY4 -https://mega.nz/file/YJUjiKKb#nrxH6BDvyGjpNSyZEzbRqbHk9ed9RE7jcuOPbTdximM -``` - -*included files* - -``` -├── board.dtb -├── **boot** -│ └── uEnv.txt -├── config-5.4.61 -├── **efi** -├── **extlinux** -│ ├── extlinux.conf -│ └── extlinux.conf.cpi.bak -├── **grub2** -│ └── **themes** -│ └── **system** -│ └── **background.png** -├── grub.cfg -├── System.map-5.4.61 -├── **uEnv.txt** -\> boot/uEnv.txt -└── vmlinuz-5.4.61 -``` - -#### ubuntu_2104_devterm_d1_EFI.tar.bz2 - -https://mega.nz/file/kNUBRBIB#NsPzKTDWbfBSTth7-eVz9gPjeaEdYnP7PfuYGz28cOk - -**extlinux.conf is the file actually do the boot configuration** - -# How to compile kernel - -## get kernel source -https://github.com/cuu/last_linux-5.4.git - -it is a mirror kernel code from tina_d1_h of all winner with all patched for devterm R-01 -## Official toolchain -https://github.com/cuu/toolchain-thead-glibc #It's official allwinner toolchain -download toolchain - -## Steps for compiling kernel - -extract and put toolchain in any folder you like - -then edit **m.sh** in `last_linux-5.4` - -set correct path of toolchain for PATH - -``` -export PATH=/data/tina_d1_h/prebuilt/gcc/linux-x86/riscv/toolchain-thead-glibc/riscv64-glibc-gcc-thead_20200702/bin/:$PATH - -``` -to be -``` -export PATH=/wherever_you_put_toolchain/riscv64-glibc-gcc-thead_20200702/bin/:$PATH -``` - -then simply run ./m.sh to compile kernel - -we just simple use the prebuit toolchain from all-winner to compile the patched kernel code based on all-winner tina for devterm_r01 - -and we have to ,because allwinner prebuilt toolchain has the neccessary custom opcode for the kernel of R-01 - -kernel patch url: https://github.com/clockworkpi/DevTerm/tree/main/Code/patch/d1 - -to get original tina code from allwinner ,visit https://open.allwinnertech.com/ - -## Mainline toolchain -https://github.com/riscv/riscv-gnu-toolchain -all the same as Official toolchain except need to disable Vector in kernel `make menuconfig` - -![d1_disable_vector_kernel](https://raw.githubusercontent.com/clockworkpi/DevTerm/main/Pictures/d1_disable_vector_kernel.jpg) - -# Make alpha os image - -required file list: -* ubuntu_2104_devterm_d1_EFI.tar.bz2 -* ubuntu_2104_devterm_d1_boot.tar.bz2 -* ubuntu-21.04-preinstalled-server-riscv64+unmatched_rootfs.tar.bz2 -* boot0_sdcard_sun20iw1p1.bin -* u-boot.toc1 -* disk.img with all partitions formatted - - -``` -sudo losetup --show -f -P disk.img ## assume we will have /dev/loop1 -sudo dd if=boot0_sdcard_sun20iw1p1.bin of=/dev/loop1 bs=512 seek=16 -sudo dd if=u-boot.toc1 of=/dev/loop1 bs=512 seek=32800 - -sudo mount /dev/loop1p2 /mnt/p2 -sudo mount /dev/loop1p3 /mnt/p3 -sudo mount /dev/loop1p4 /mnt/p4 -sudo tar xpjfv ubuntu_2104_devterm_d1_EFI.tar.bz2 -C /mnt/p2 -sudo tar xpjfv ubuntu_2104_devterm_d1_boot.tar.bz2 -C /mnt/p3 -sudo tar xpjfv ubuntu-21.04-preinstalled-server-riscv64+unmatched_rootfs.tar.bz2 -C /mnt/p4 - -``` - -## Chroot part -``` -sudo mount /dev/loop1p3 /mnt/p4/boot -cd /mnt/p4 - -sudo mount --bind /dev dev/ -sudo mount --bind /sys sys/ -sudo mount --bind /proc proc/ -sudo mount --bind /dev/pts dev/pts -sudo chroot . -``` -### upgrade to devel -now we are in chroot -``` -touch /etc/cloud/cloud-init.disabled -apt remove update-notifier-common -apt-get update && apt-get purge needrestart -``` -then edit `/etc/apt/source.list`, replace all hirsute to devel -then -``` -apt update -apt-get dist-upgrade -``` -wait a long time until upgrade done(or retry if failed,it is neccessary for having a newer xorg/mesa in riscv to display) - -after upgrade -``` -apt update -apt install mesa-utils libgl1-mesa-glx libglx-mesa0 libgles2-mesa libegl-mesa0 -apt install -y xterm cmus alsamixergui qutebrowser elinks vim emacs tilde bc gnuplot dosbox chocolate-doom gimp xfig xpdf xaos x11-apps gkrellm imagemagick inkscape -apt remove multipath-tools -``` - -### add cpi user -``` -useradd -m cpi - -#add into groups -usermod -a -G adm,dialout,cdrom,floppy,sudo,audio,dip,video,plugdev,netdev,lxd,pulse,pulse-access cpi -``` -### Deploy the TWM window manager env. - -The R-01 uses twm as default window manager for low resource usage - -``` -wget https://github.com/clockworkpi/DevTerm/blob/main/Code/R01/d1_twm.tar.bz2?raw=true - -tar xpjfv d1_twm.tar.bz2 -C /home/cpi - -chown -R cpi:cpi /home/cpi - -``` - -### xorg fbdev config -rotate Xorg -``` -ubuntu@ubuntu:~$ cat /etc/X11/xorg.conf.d/10-d1.conf -Section "Device" - Identifier "FBDEV" - Driver "fbdev" - Option "fbdev" "/dev/fb0" - Option "Rotate" "cw" - Option "SwapbuffersWait" "true" -EndSection - -Section "Screen" - Identifier "Screen0" - Device "FBDEV" - DefaultDepth 24 - - Subsection "Display" - Depth 24 - Modes "1280x480" "480x1280" - EndSubsection - -EndSection -``` - -### Optmise time of boot -``` -sudo systemctl mask apt-daily.service apt-daily-upgrade.service -sudo systemctl disable apt-daily.service apt-daily-upgrade.service -sudo systemctl disable apt-daily.timer apt-daily-upgrade.timer - -sudo systemctl disable NetworkManager-wait-online.service -sudo systemctl disable systemd-random-seed.service - -sudo systemctl disable e2scrub_reap.service -sudo systemctl disable systemd-networkd-wait-online.service - -sudo systemctl disable lvm2-monitor.service - -sudo systemctl disable snapd.seeded.service -sudo systemctl disable pppd-dns.service - -sudo systemctl disable avahi-daemon.service -sudo systemctl disable ModemManager.service - -sudo systemctl disable apport.service -sudo systemctl mask apport.service -sudo systemctl disable accounts-daemon.service -sudo systemctl mask accounts-daemon.service -sudo systemctl disable udisks2.service -``` - -### faster login -``` -All scripts in /etc/update-motd.d/ transferred to other place or just deleted them all -``` - -### Install devterm related package -``` -curl https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | sudo tee /etc/apt/trusted.gpg.d/clockworkpi.asc -echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | sudo tee /etc/apt/sources.list.d/clockworkpi.list - -apt update - -apt install devterm-audio-patch devterm-backlight-cpi devterm-keyboard-firmware devterm-thermal-printer devterm-thermal-printer-cups devterm-wiringpi-cpi -``` - -## Get out chroot - -``` -exit -cd - -sudo umount /mnt/p4/dev/pts -sudo umount /mnt/p4/dev/ -sudo umount /mnt/p4/proc -sudo umount /mnt/p4/sys -sudo umount /mnt/p4/boot - -sudo umount /mnt/p3 -sudo umount /mnt/p2 -sudo umount /mnt/p4 - -sudo losetup -D /dev/loop1 - -``` - -# Final part - -now we have a chroot edited os image file disk.img in 16GB with ubuntu devel branch root fs - -you can still use -``` -sudo losetup --show -f -P disk.img -sudo gparted /dev/loop1 -``` -to shrink the disk size to be like 8G or less to fit your sd card - -then dd it into sd card - - -# Compiling other stuff - -## WiringPI -``` -git clone https://github.com/clockworkpi/DevTerm.git -wget https://github.com/WiringPi/WiringPi/archive/refs/tags/final_official_2.50.tar.gz -tar zxvf final_official_2.50.tar.gz -cd WiringPi-final_official_2.50/ -cp ../DevTerm/Code/patch/d1/wiringCP0329.patch . -git apply wiringCP0329.patch -sudo ./build -#Choice: 2 - -``` - -# For apt upgrade - -apt upgrade on R01 os will mess up the content of extlinux.conf -lead the boot failed - -so mount the sd card(with R01 os) on a PC (like Linux ) - -then go into the **boot partition** of the sd card - -you will see -``` -extlinux.conf -extlinux.conf.cpi.bak -``` -replace extlinux.conf with extlinux.conf.cpi.bak - -the **extlinux.conf.cpi.bak** is for this kind of situation - -# Hints -https://forum.clockworkpi.com/t/r01-os-early-hints/8636 \ No newline at end of file diff --git a/wiki/DevTerm-A06-Install-ibus-input-method.md b/wiki/DevTerm-A06-Install-ibus-input-method.md deleted file mode 100644 index cb4d545..0000000 --- a/wiki/DevTerm-A06-Install-ibus-input-method.md +++ /dev/null @@ -1,33 +0,0 @@ -`sudo apt install ibus ibus-pinyin -y` -``` -cat <~/.config/autostart/ibus.desktop -[Desktop Entry] -Exec=ibus-daemon -drxR -GenericName=IBus -Name[zh_CN]=IBus -Name=IBus -Name[en_US]=IBus -StartupNotify=true -Terminal=false -Type=Application -EOF -``` - -``` -sudo bash -c 'cat </etc/profile.d/ibus.sh -#!/bin/bash - -export XIM_PROGRAM=ibus -export XIM=ibus -export XMODIFIERS=@im=ibus -export GTK_IM_MODULE=ibus -export QT_IM_MODULE=ibus -EOF' -``` - -`sudo reboot ` - -Then right-click the ibus icon in the upper right corner of the top menu -select preferences -add (Add) **pinyin** input method, the default is super+space to enable the input method -you can change the shortcut in **iBus Preferences** diff --git a/wiki/Devterm-CM3-rpi-os-image.md b/wiki/Devterm-CM3-rpi-os-image.md deleted file mode 100644 index 0d962a1..0000000 --- a/wiki/Devterm-CM3-rpi-os-image.md +++ /dev/null @@ -1,78 +0,0 @@ -### Orginal image download URL -https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-full.zip - - -#### Modification request list -- [x] screen rotation for xrandr,fbcon,lightdm -- [x] Remove the wallpaper and change the solid color #202020 -- [x] Install all rpi-related debs in the apt source - -#### Packages in devterm apt source -1. devterm-audio-patch (check whether the 3.5 audio interface is plugged in, pull up a certain GPIO) -1. devterm-fan-temp-daemon-rpi (detect the temperature of rpi, raise the io drive fan, written in python) -1. devterm-kernel-rpi (modified kernel, 4.x series) -1. devterm-keyboard-firmware (Devterm keyboard firmware flashing tool, Advanced users only!) -1. devterm-thermal-printer (thermal printer program and systemd scripts) -1. devterm-thermal-printer-cups (CUPS filter for the thermal printer, and add the thermal printer to cups, so devterm printer can be seen in chromium) - - - - -##### Add clockworkpi to apt source list -see https://github.com/clockworkpi/apt/tree/main/debian -``` -wget -O - https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | sudo apt-key add - - -echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | sudo tee -a /etc/apt/sources.list.d/clockworkpi.list -``` - -##### Config xrandr -``` -sudo bash -c 'cat << EOF > etc/X11/Xsession.d/100custom_xrandr -xrandr --output DSI-1 --rotate right -EOF' -``` - -##### Config lightdm -in `/etc/lightdm/lightdm.conf` -``` -greeter-setup-script=/etc/lightdm/setup.sh -``` -*setup.sh* -``` -#!/bin/bash -xrandr --output DSI-1 --rotate right -exit 0 -``` -`sudo chmod +x etc/lightdm/setup.sh` - - -##### Modify /etc/dphys-swapfile -``` -CONF_SWAPSIZE=512 -``` - -##### Change the default wallpaper -The following files changed - -* /etc/xdg/pcmanfm/LXDE-pi/desktop-items-0.conf -* /etc/xdg/pcmanfm/LXDE-pi/desktop-items-1.conf -* /etc/lightdm/pi-greeter.conf -* /home/pi/.config/pcmanfm/LXDE-pi/desktop-items-0.conf - -Delete wallpaper address `temple.jpg` -Modify the `desktop_bg` color to `#202020` - - - -#### config.txt - -Add `dtparam=audio=on` to solve the problem of no sound card under HDMI - -##### /etc/hostname to clockworkpi - -##### /boot/cmdline.txt ,add fbcon=rotate:1, remove quiet - -### Image download url -https://forum.clockworkpi.com/t/devterm-os-cm3-image-files/7151/1 - diff --git a/wiki/Devterm-CM3-ubuntu-server-image.md b/wiki/Devterm-CM3-ubuntu-server-image.md deleted file mode 100644 index 64d2677..0000000 --- a/wiki/Devterm-CM3-ubuntu-server-image.md +++ /dev/null @@ -1,83 +0,0 @@ -### Img file - -[ubuntu-21.04-preinstalled-server-armhf+raspi.img](https://cdimage.ubuntu.com/releases/21.04/release/ubuntu-21.04-preinstalled-server-armhf+raspi.img.xz) - -### Prepare -Edit /boot/cmdline.txt and /etc/fstab of this img -**/boot/cmdline.txt** -``` -console=serial0,115200 console=tty1 root=PARTUUID=78e1086a-02 rootfstype=ext4 elevator=deadline rootwait fixrtc splash fbcon=rotate:1 -``` -to use HDMI console,consider to remove **fbcon=rotate:1** in `/boot/cmdline.txt` - -**/etc/fstab** -``` -PARTUUID=78e1086a-02 / ext4 discard,errors=remount-ro 0 1 -PARTUUID=78e1086a-01 /boot/ vfat defaults 0 1 -``` - -### Enter chroot -``` -sudo losetup -P /dev/loop10 ubuntu-21.04-preinstalled-server-armhf+raspi.img -sudo mount /dev/loop10p2 /mnt/p2 -sudo mount /dev/loop10p1 /mnt/p2/boot -cd /mnt/p2 -sudo mount --bind /dev dev/ -sudo mount --bind /sys sys/ -sudo mount --bind /proc proc/ -sudo mount --bind /dev/pts dev/pts - -sudo chroot . -``` - -### Inside chroot -``` -sudo unlink /etc/resolv.conf -echo -en "nameserver 1.1.1.1\nnameserver 8.8.8.8\n" > /etc/resolv.conf - -sudo apt remove linux-image-raspi linux-image-5.11.0-1007-raspi -y -sudo apt install net-tools network-manager -y - -wget -O - https://raw.githubusercontent.com/clockworkpi/apt/main/debian/KEY.gpg | sudo apt-key add -echo "deb https://raw.githubusercontent.com/clockworkpi/apt/main/debian/ stable main" | sudo tee -a /etc/apt/sources.list.d/clockworkpi.list -sudo apt update && sudo apt install devterm-thermal-printer devterm-keyboard-firmware devterm-fan-temp-daemon-rpi devterm-thermal-printer-cups devterm-kernel-rpi devterm-audio-patch devterm-backlight-rpi -y - -``` - -``` -mkdir /etc/lightdm/lightdm.conf.d/ -p - -sudo bash -c 'cat </etc/lightdm/lightdm.conf.d/99-cpi.conf -[SeatDefaults] - -greeter-setup-script=/etc/lightdm/setup.sh -EOF' - -sudo bash -c 'cat </etc/lightdm/setup.sh -#!/bin/bash -xrandr --output DSI-1 --rotate right -exit 0 -EOF' - -sudo chmod +x /etc/lightdm/setup.sh - -sudo bash -c 'cat << EOF > /etc/X11/Xsession.d/100custom_xrandr -xrandr --output DSI-1 --rotate right -EOF' -``` - -`sudo apt-get install tasksel` - -`sudo cp -f /lib/firmware/brcm/brcmfmac43456-sdio.raspberrypi,400.txt /lib/firmware/brcm/brcmfmac43456-sdio.txt` - -`sudo apt install wiringpi` -`sudo ln -s /lib/arm-linux-gnueabihf/libwiringPi.so.2 /lib/arm-linux-gnueabihf/libwiringPi.so` - -### Outside chroot - -dd img to sd card -power on CM3 -config the network - -`sudo tasksel` to select desktop env to install - diff --git a/wiki/Devterm-CM4-GPIO-map.md b/wiki/Devterm-CM4-GPIO-map.md deleted file mode 100644 index 2c0d20f..0000000 --- a/wiki/Devterm-CM4-GPIO-map.md +++ /dev/null @@ -1,19 +0,0 @@ -The GPIO on cm4 is different - -| old | new | -|-----|-----| -| 28 | 18 | -| 29 | 19 | -| 30 | 20 | -| 31 | 21 | -| 32 | 14 | -| 33 | 15 | -| 34 | 24 | -| 35 | 25 | -| 36 | 26 | -| 37 | 27 | -| 38 | 6 | -| 39 | 7 | -| 40 | 16 | -| 41 | 17 | -| 43 | 23 | diff --git a/wiki/Guide-To-Setup-thermal-printer-from-source-code.md b/wiki/Guide-To-Setup-thermal-printer-from-source-code.md deleted file mode 100644 index 29b3e40..0000000 --- a/wiki/Guide-To-Setup-thermal-printer-from-source-code.md +++ /dev/null @@ -1,71 +0,0 @@ -# Prepare -Before everything -We assume that you have a Devterm with stock os running -and a little bit of Linux compiling experience -know how to install packages by package manager like apt - -## WiringPi -### CM3 or CM4 -``` -sudo apt install -y wiringpi libwiringpi-dev libcups2-dev -``` - -### A06 A04 -``` -git clone https://github.com/clockworkpi/DevTerm.git -cd DevTerm/Code/devterm_wiringpi_cpi/ -sudo ./build -#chose 0 or 1 depend which board you have -``` - -### R01 -``` -git clone https://github.com/clockworkpi/DevTerm.git -wget https://github.com/WiringPi/WiringPi/archive/refs/tags/final_official_2.50.tar.gz -tar zxvf final_official_2.50.tar.gz -cd WiringPi-final_official_2.50/ -cp ../DevTerm/Code/patch/d1/wiringCP0329.patch . -git apply wiringCP0329.patch -sudo ./build -#Choice: 2 -``` - -# Compile thermal printer driver code -``` -git clone https://github.com/clockworkpi/DevTerm.git -cd DevTerm/Code/thermal_printer -make -sudo systemctl stop devterm-printer -sudo cp -rf devterm_thermal_printer.elf /usr/local/bin -sudo systemctl start devterm-printer -``` -## Debug or run it from manually -1. setup socat socket for data receving for thermal printer -``` - sudo systemctl stop devterm-printer #stop service - sudo systemctl stop devterm-socat #stop service - sudo socat -d -d pty,link=/tmp/DEVTERM_PRINTER_OUT,raw,echo=0 pty,link=/tmp/DEVTERM_PRINTER_IN,raw,echo=0 - sudo ./usr/local/bin/devterm_socat.sh # <- this .sh file is in DevTerm/Code/thermal_printer/usr/local/bin/ -``` -1. run devterm_thermal_printer.elf -``` - sudo ./devterm_thermal_printer.elf -``` - -now you can test the printer by cat or echo something into `/tmp/DEVTERM_PRINTER_IN` -eg: `echo "hello world\n\n\n\n\n\n\n\n\n\n" > /tmp/DEVTERM_PRINTER_IN - -we recommend use [tmux](https://github.com/tmux/tmux/wiki) to do this job -so that you can run and see all the commands output in a single terminal window - -## For CUPS -just install `devterm-thermal-printer-cups` -``` sudo apt install devterm-thermal-printer-cups``` - -this package will add a CUPS serial printer adapter,a CUPS filter for the DevTerm's thermal printer -and will let other programs to print content through image printing using DevTerm's thermal printer -source code is in https://github.com/clockworkpi/DevTerm/tree/main/Code/devterm_thermal_printer_cups - -all devterm related deb packages available at - -https://github.com/clockworkpi/apt \ No newline at end of file diff --git a/wiki/Home.md b/wiki/Home.md deleted file mode 100644 index c10271a..0000000 --- a/wiki/Home.md +++ /dev/null @@ -1,6 +0,0 @@ -Welcome to the DevTerm wiki! - -If you want to edit the wiki, just clone https://github.com/clockworkpi/DevTerm, and add markdown files to the **wiki** folder - -Then Send Pull Request , once got merged, wiki will be shown at https://github.com/clockworkpi/DevTerm/wiki - diff --git a/wiki/How-to-Compile-cool-retro-term-for-DevTerm.md b/wiki/How-to-Compile-cool-retro-term-for-DevTerm.md deleted file mode 100644 index 611ac1b..0000000 --- a/wiki/How-to-Compile-cool-retro-term-for-DevTerm.md +++ /dev/null @@ -1,26 +0,0 @@ -# cool-retro-term - -### Install the necessary packages: -#### CM3 -``` -sudo apt update -sudo apt install build-essential qmlscene qt5-qmake qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtgraphicaleffects qml-module-qtquick-dialogs qml-module-qtquick-localstorage qml-module-qtquick-window2 qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel -``` -#### ubuntu (A06) -``` -sudo apt update -sudo apt install build-essential qmlscene qt5-qmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtgraphicaleffects qml-module-qtquick-dialogs qml-module-qtquick-localstorage qml-module-qtquick-window2 qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel -``` -### Compile (it takes about 30 minutes): -``` -cd ~ -git clone --recursive https://github.com/Swordfish90/cool-retro-term.git -cd cool-retro-term -git reset --hard dac2b4 -qmake && make -cp -r qmltermwidget/src/qmldir qmltermwidget/lib/kb-layouts qmltermwidget/lib/color-schemes qmltermwidget/src/QMLTermScrollbar.qml qmltermwidget/QMLTermWidget -``` - -### Run - -`./cool-retro-term --fullscreen` \ No newline at end of file diff --git a/wiki/How-to-compile-DevTerm-CM3-Kernel.md b/wiki/How-to-compile-DevTerm-CM3-Kernel.md deleted file mode 100644 index 2a09213..0000000 --- a/wiki/How-to-compile-DevTerm-CM3-Kernel.md +++ /dev/null @@ -1,54 +0,0 @@ -## Env -VirtualBox with ubuntu 20.04 - -## Toolchain - -https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin - - -## Get kernel -1. git clone https://github.com/raspberrypi/linux.git -1. cd linux -1. git checkout remotes/origin/rpi-4.19.y -1. git reset --hard cc39f1c9f82f6fe5a437836811d906c709e0661c -1. git apply [devterm-4.19_v0.1.patch](https://raw.githubusercontent.com/clockworkpi/DevTerm/main/Code/kernel/devterm-4.19_v0.1.patch) - - -## Compile -``` -KERNEL=kernel7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig -KERNEL=kernel7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j3 -export INSTALL_MOD_PATH=./modules -rm -rf $INSTALL_MOD_PATH -make modules_install -rm $INSTALL_MOD_PATH/lib/modules/*/build -rm $INSTALL_MOD_PATH/lib/modules/*/source -``` - -## copy kernel to SD card -$1 is the sd card location (mount point) -``` -export INSTALL_MOD_PATH=./modules -sudo cp -r $INSTALL_MOD_PATH/lib/modules $1/rootfs/lib/ -cat config_a >> $1/boot/config.txt -cp arch/arm/boot/zImage $1/boot/kernel7.img -cp arch/arm/boot/dts/bcm2710-rpi-cm3.dtb $1/boot/bcm2710-rpi-cm3.dtb -cp arch/arm/boot/dts/overlays/*.dtbo $1/boot/overlays/ -``` - -## config_a -``` -ignore_lcd=1 -dtoverlay=vc4-kms-v3d,audio=0,cma-384 -dtoverlay=devterm-pmu -dtoverlay=devterm-panel -dtoverlay=devterm-wifi -dtoverlay=devterm-bt -dtoverlay=devterm-misc -gpio=5=op,dh -gpio=9=op,dh -gpio=10=ip,np -gpio=11=op,dh - -enable_uart=1 -``` \ No newline at end of file diff --git a/wiki/Keyboard-with-FPC-60pin-0.5mm.md b/wiki/Keyboard-with-FPC-60pin-0.5mm.md deleted file mode 100644 index 9d4deef..0000000 --- a/wiki/Keyboard-with-FPC-60pin-0.5mm.md +++ /dev/null @@ -1,25 +0,0 @@ -usb-serial | keyboard IO number | keyboard IO register --- | -- | -- -3v3 | 3 | 3v3 -TXD | 16 | PA10 -RXD | 15 | PA9 -GND | 1 | GND - - -USB | keyboard IO number | keyboard IO register --- | -- | -- -5v power | 5 | 5v -GND | 22 | GND -data + | 18 | PA12(USB_DP) -data - | 17 | PA11(USB_DM) - -can not have USB and usb-serial both ON -sudo stm32flash -r devterm.kbd.0.3_48mhz.bin -S 0x08000000:65536 /dev/ttyUSB0 -srec_cat devterm.kbd.0.3_48mhz.bin -Binary -offset 0x08000000 -output devterm.kbd.0.3_48mhz.hex -Intel - -stm32flash -w devterm_kbd.bin -v -S 0x08000000 /dev/ttyUSB0 - -![WechatIMG50](https://user-images.githubusercontent.com/523580/186061860-02efc332-eae9-4200-ae37-c312af5d0f96.jpeg) - - - diff --git a/wiki/nmcli-with-gsm.md b/wiki/nmcli-with-gsm.md deleted file mode 100644 index b28b926..0000000 --- a/wiki/nmcli-with-gsm.md +++ /dev/null @@ -1,328 +0,0 @@ -4G modem -# Packages - -``` -sudo apt install -y modemmmanager network-manager pppoe -``` - - -# Power ON 4G ext(uconsole) -``` -echo "pulling up gpio 34" -sudo gpio mode 34 out -sudo gpio write 34 1 - -echo "pulling up 33 to reset " -sudo gpio mode 33 out -sudo gpio write 33 1 - -sleep 5 -sudo gpio write 33 0 -echo "pulling back 33" -sleep 10 -echo "done" - -``` -## cm4 version -``` -sudo gpio mode 24 out -sudo gpio write 24 1 - -sudo gpio mode 15 out -sudo gpio write 15 1 - -sleep 5 -sudo gpio write 15 0 -``` - -## devterm 4G module -POWER 42 -RESET 43 - -# Power OFF 4G ext(uconsole) - -``` -echo "Power off 4G module" -sudo gpio mode 34 out -sudo gpio write 34 0 - -sudo gpio write 34 1 -sleep 3 -sudo gpio write 34 0 - -sleep 10 -echo "Done" -``` - -## cm4 version -``` -echo "Power off 4G module" -sudo gpio mode 24 out -sudo gpio write 24 0 - -sudo gpio write 24 1 -sleep 3 -sudo gpio write 24 0 - -sleep 10 -echo "Done" -``` - -## List modem -``` -mmcli -L -``` - -/org/freedesktop/ModemManager1/Modem/0 [QUALCOMM INCORPORATED] SIMCOM_SIM7600G-H - -## Enable modem -``` -sudo mmcli -m 0 - e -``` - -## How to use nmcli to create a NetworkManager 4G connection - -``` -sudo nmcli c add type gsm ifname cdc-wdm0 con-name 4GNet apn yourapn gsm.username gsmusername gsm.password gsmpassword -``` - -replace **yourapn** and **gsmusername** with your carrier service - -then we can see a `4GNet` in NetworkManager (like KDE's network manager UI) - -I got the cdc-wdm0 from with **qmi_wwan** driver -``` -mmcli -m 0 | grep "primary port" -``` -it will be **ttyUSB2** if use **qcdm** driver - - -Now we can use **nmtui** to connect 4GNet -or -``` -sudo nmcli connection up 4GNet -sudo nmcli connection down 4GNet -``` -if everything is right ,you will have your **ppp0** in `sudo ifconfig` - -Here is reference arguments I've used for nmcli - -``` -connection.id: Movistar -connection.uuid: acab2207-347a-424c-b366-b2c4ef4e4c75 -connection.stable-id: -- -connection.type: gsm -connection.interface-name: ttyAMA0 -connection.autoconnect: no -connection.autoconnect-priority: 0 -connection.autoconnect-retries: -1 (default) -connection.multi-connect: 0 (default) -connection.auth-retries: -1 -connection.timestamp: 0 -connection.read-only: no -connection.permissions: -- -connection.zone: -- -connection.master: -- -connection.slave-type: -- -connection.autoconnect-slaves: -1 (default) -connection.secondaries: -- -connection.gateway-ping-timeout: 0 -connection.metered: unknown -connection.lldp: default -connection.mdns: -1 (default) -connection.llmnr: -1 (default) -ipv4.method: auto -ipv4.dns: -- -ipv4.dns-search: -- -ipv4.dns-options: "" -ipv4.dns-priority: 0 -ipv4.addresses: -- -ipv4.gateway: -- -ipv4.routes: -- -ipv4.route-metric: -1 -ipv4.route-table: 0 (unspec) -ipv4.ignore-auto-routes: no -ipv4.ignore-auto-dns: no -ipv4.dhcp-client-id: -- -ipv4.dhcp-timeout: 0 (default) -ipv4.dhcp-send-hostname: yes -ipv4.dhcp-hostname: -- -ipv4.dhcp-fqdn: -- -ipv4.never-default: no -ipv4.may-fail: yes -ipv4.dad-timeout: -1 (default) -ipv6.method: auto -ipv6.dns: -- -ipv6.dns-search: -- -ipv6.dns-options: "" -ipv6.dns-priority: 0 -ipv6.addresses: -- -ipv6.gateway: -- -ipv6.routes: -- -ipv6.route-metric: -1 -ipv6.route-table: 0 (unspec) -ipv6.ignore-auto-routes: no -ipv6.ignore-auto-dns: no -ipv6.never-default: no -ipv6.may-fail: yes -ipv6.ip6-privacy: -1 (unknown) -ipv6.addr-gen-mode: stable-privacy -ipv6.dhcp-duid: -- -ipv6.dhcp-send-hostname: yes -ipv6.dhcp-hostname: -- -ipv6.token: -- -serial.baud: 115200 -serial.bits: 8 -serial.parity: none -serial.stopbits: 1 -serial.send-delay: 0 -ppp.noauth: yes -ppp.refuse-eap: no -ppp.refuse-pap: no -ppp.refuse-chap: no -ppp.refuse-mschap: no -ppp.refuse-mschapv2: no -ppp.nobsdcomp: no -ppp.nodeflate: no -ppp.no-vj-comp: no -ppp.require-mppe: no -ppp.require-mppe-128: no -ppp.mppe-stateful: no -ppp.crtscts: no -ppp.baud: 115200 -ppp.mru: 0 -ppp.mtu: auto -ppp.lcp-echo-failure: 0 -ppp.lcp-echo-interval: 0 -gsm.number: *99# -gsm.username: -- -gsm.password: -gsm.password-flags: 0 (none) -gsm.apn: internet.movistar.com.co -gsm.network-id: -- -gsm.pin: -gsm.pin-flags: 0 (none) -gsm.home-only: no -gsm.device-id: -- -gsm.sim-id: -- -gsm.sim-operator-id: -- -gsm.mtu: auto -proxy.method: none -proxy.browser-only: no -proxy.pac-url: -- -proxy.pac-script: -- -``` - -if nmcli can not start the gsm connection with errors like Ipv4 stack ,dual-stack addressing not supported by the modem -that means we need to re-compile the kernel - -requires all ppp driver in kernel -**Devices drivers ->Network device support** -and compile as *, not module - -``` -Linux Kernel Configuration -└─> Device Drivers - └─> USB support - └─> USB Wireless Device Management support -as module -``` - -``` -Linux Kernel Configuration -└─> Device Drivers - └─> Network device support - └─> USB Network Adapters - └─> QMI WWAN driver for Qualcomm MSM based 3G and LTE modems - -as module -``` - -on A06 -``` -sudo apt install pppoe -``` - -## In order to use SIMCOM_SIM7600G-H to call or receive calls -we have to blacklist some kernel modules - -``` -$ cat /etc/modprobe.d/blacklist-qmi.conf -blacklist qmi_wwan -blacklist cdc_wdm -``` - -``` -mmcli -m 0 --messaging-list-sms - -mmcli -m 0 --voice-list-calls - -mmcli -m 0 --voice-create-call='number=xxxxxxxxxxxx' - -mmcli -m 0 --voice-list-calls - -mmcli -m 0 --start -o 0 - -mmcli -m 0 --accept -o 1 -``` - -# Enable ModemManager debug -change `/etc/systemd/system/dbus-org.freedesktop.ModemManager1.service` -add --debug after `/usr/sbin/ModemManager` -```bash -... -[Service] -Type=dbus -BusName=org.freedesktop.ModemManager1 -ExecStart=/usr/sbin/ModemManager --debug -StandardError=null -Restart=on-abort -... -``` -Then - -``` -sudo systemctl daemon-reload -sudo systemctl restart ModemManager.service -``` - -## show audio levels -``` -sudo mmcli -m 0 --command "AT+CLVL=?" -response: '+CLVL: (0-5)' -``` -## show current levels -``` -sudo mmcli -m 0 --command "AT+CLVL?" -response: '+CLVL: 4' -``` -``` -sudo mmcli -m 0 --command "AT+CLVL=5" -response: '' -``` -``` -sudo mmcli -m 0 --command "AT+CLVL=10" -error: command failed: 'GDBus.Error:org.freedesktop.ModemManager1.Error.MobileEquipment.Unknown: Unknown error' -``` - -## mute mic -``` -sudo mmcli -m 0 --command "AT+CMUT=?" -response: '+CMUT: (0-1)' -``` -``` -sudo mmcli -m 0 --command "AT+CMUT?" -response: '+CMUT: 0' -``` -``` -Mute (but may need to be used during a call) -sudo mmcli -m 0 --command "AT+CMUT=1" -``` - -no ring volume - -## Test signal -``` -sudo mmcli -m any --signal-setup=10 # 10secs to refresh -sudo mmcli -m any # to see signal quality -``` \ No newline at end of file