Skip to content

Instantly share code, notes, and snippets.

@albertfilice
Last active March 13, 2024 02:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save albertfilice/12c8c4817361c61272abb4371f893143 to your computer and use it in GitHub Desktop.
Save albertfilice/12c8c4817361c61272abb4371f893143 to your computer and use it in GitHub Desktop.
Beepy OrangePi Zero 2 W Attempt
1. Get image (Debian Bookworm):
- http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-Zero-2W.html
- Orangepizero2w_1.0.0_debian_bookworm_desktop_xfce_linux6.1.31.img
2. Use Etcher to burn the image on SD card
3. Edit the /boot/orangepi_first_run.txt.template file and rename it
4. Insert SD card into board/beepy and boot up
5. SSH into the system and run `sudo apt update && sudo apt upgrade`
6. Clone repo:
$ git clone https://github.com/LuRenJiasWorld/Beepy-OrangePi-Zero2W-Tweaks.git
7. Install Linux headers:
$ sudo dpkg -i /opt/linux-headers*
8. Unzip device tree folder
$ mkdir devicetree
$ unzip 适用香橙派的设备树修改.zip -d ./devicetree/
$ cd devicetree/beepy-kbd-2.2/
8. Install keyboard driver
$ sudo orangepi-add-overlay beepy-kbd.dts
$ make all -j 4
$ sudo cp beepy-kbd.ko /lib/modules/*-sun50iw9/
$ echo beepy-kbd | sudo tee -a /etc/modules
9. Keymap
$ sudo mkdir -p /usr/share/kbd/keymaps
$ sudo cp beepy-kbd.map /usr/share/kbd/keymaps
$ sudo rm -f /etc/console-setup/cached_setup_keyboard.sh
$ echo KMAP=/usr/share/kbd/keymaps/beepy-kbd.map | sudo tee -a /etc/default/keyboard
10. Extract Screen Driver
$ cd ../..
$ mkdir screendriver
$ unzip 支持dither算法的屏幕驱动.zip -d ./screendriver/
$ cd screendriver/sharp-drm-1.1
11. Install Screen Driver
$ sudo orangepi-add-overlay sharp-drm.dts
$ make all -j 4
$ sudo cp sharp-drm.ko /lib/modules/*-sun50iw9/
$ echo sharp-drm | sudo tee -a /etc/modules
12. Reload Kernel
$ sudo depmod -a
13. Restart
$ sudo shutdown now
- Manually toggle switch
Device boots and I'm left with a "_" in the top left
- SSH into device
- $ orangepi-config
- Disable desktop
- Install zsh and tmux
Device shows some lines of output on the display, but is now unresponsive.
Power cycle.
- SSH into device
- $ orangepi-config
- Disable desktop
- Exit
Device shows a "_" and I can type, but it's not executing commands.
I pressed the "accept call" button (left most) and my ssh screen on my mac flashed and output:
Message from syslogd@orangepizero2w at Mar 9 06:46:13 ...
kernel:[ 233.307772] Internal error: Oops: 000000008600000f [#1] SMP
Message from syslogd@orangepizero2w at Mar 9 06:46:13 ...
kernel:[ 233.570150] Code: 00000000 00000000 00000000 00000000 (c1800800)
Reboot
$ sudo shutdown -r now
- SSH connection ends at this point, but the display on the Beepy doesn't change
- Manually power cycle the Beepy
Success!
When I press "alt" the system locks up and I get this on my SSH session:
Message from syslogd@orangepizero2w at Mar 9 06:51:54 ...
kernel:[ 41.904968] Internal error: Oops: 0000000096000005 [#1] SMP
Message from syslogd@orangepizero2w at Mar 9 06:51:54 ...
kernel:[ 42.185854] Code: aa0003e3 f9490c40 b4000420 f9402804 (f9400884)
What look like relevant logs in /var/log/kern.log
2024-03-11T03:00:11.495999+00:00 orangepizero2w kernel: [ 106.289662] Unable to handle kernel execute from non-executable memory at virtual address ffff0000c025c000
2024-03-11T03:00:11.496071+00:00 orangepizero2w kernel: [ 106.304040] Mem abort info:
2024-03-11T03:00:11.496083+00:00 orangepizero2w kernel: [ 106.304049] ESR = 0x000000008600000f
2024-03-11T03:00:11.496093+00:00 orangepizero2w kernel: [ 106.304057] EC = 0x21: IABT (current EL), IL = 32 bits
2024-03-11T03:00:11.496103+00:00 orangepizero2w kernel: [ 106.304068] SET = 0, FnV = 0
2024-03-11T03:00:11.496160+00:00 orangepizero2w kernel: [ 106.304075] EA = 0, S1PTW = 0
2024-03-11T03:00:11.496171+00:00 orangepizero2w kernel: [ 106.304082] FSC = 0x0f: level 3 permission fault
2024-03-11T03:00:11.496180+00:00 orangepizero2w kernel: [ 106.304091] swapper pgtable: 4k pages, 48-bit VAs, pgdp=000000004136b000
2024-03-11T03:00:11.541346+00:00 orangepizero2w kernel: [ 106.346755] [ffff0000c025c000] pgd=180000013fff8003, p4d=180000013fff8003, pud=180000013f9fb003, pmd=180000013f9f9003, pte=006800010025c707
2024-03-11T03:00:11.834287+00:00 orangepizero2w kernel: [ 106.363137] Internal error: Oops: 000000008600000f [#1] SMP
2024-03-11T03:00:11.834374+00:00 orangepizero2w kernel: [ 106.363155] Modules linked in: rfcomm l2tp_ppp l2tp_netlink l2tp_core ip6_udp_tunnel xfrm_user xfrm_algo udp_tunnel pppox ppp_generic slhc overlay algif_hash algif_skcipher af_alg bnep hci_uart btqca btrtl btbcm btintel bluetooth ecdh_generic ecc uinput lz4hc lz4 zram sharp_drm(OE) sprdbt_tty sunxi_cedrus(C) videobuf2_dma_contig polyval_ce binfmt_misc v4l2_mem2mem polyval_generic videobuf2_memops sunxi_cir videobuf2_v4l2 rc_core videobuf2_common videodev mc beepy_kbd(OE) sprdwl_ng sunxi_addr cfg80211 rfkill uwe5622_bsp_sdio fuse dm_mod dw_hdmi_cec display_connector
2024-03-11T03:00:11.834386+00:00 orangepizero2w kernel: [ 106.433454] CPU: 3 PID: 66 Comm: kworker/3:2 Tainted: G C OE 6.1.31-sun50iw9 #1.0.0
2024-03-11T03:00:11.834393+00:00 orangepizero2w kernel: [ 106.433467] Hardware name: OrangePi Zero2 W (DT)
2024-03-11T03:00:11.834440+00:00 orangepizero2w kernel: [ 106.433475] Workqueue: events input_workqueue_handler [beepy_kbd]
2024-03-11T03:00:11.834448+00:00 orangepizero2w kernel: [ 106.451143] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
2024-03-11T03:00:11.834454+00:00 orangepizero2w kernel: [ 106.468451] pc : 0xffff0000c025c000
2024-03-11T03:00:11.834461+00:00 orangepizero2w kernel: [ 106.468461] lr : drm_set_indicator+0x90/0xcc [sharp_drm]
2024-03-11T03:00:11.834466+00:00 orangepizero2w kernel: [ 106.480361] sp : ffff8000099a3cf0
2024-03-11T03:00:11.834471+00:00 orangepizero2w kernel: [ 106.480365] x29: ffff8000099a3cf0 x28: 0000000000000000 x27: 0000000000000000
2024-03-11T03:00:11.834477+00:00 orangepizero2w kernel: [ 106.484718] x26: ffff0000c0279374 x25: ffff0000c0db4a80 x24: 0000000000000036
2024-03-11T03:00:11.834482+00:00 orangepizero2w kernel: [ 106.502902] x23: 00000000ffffffd0 x22: 0000000000000000 x21: 0000000000000038
2024-03-11T03:00:11.834487+00:00 orangepizero2w kernel: [ 106.502917] x20: 0000000000000170 x19: ffff0000c1831100 x18: 0000000000000000
2024-03-11T03:00:11.834492+00:00 orangepizero2w kernel: [ 106.520981] x17: 0000000000000000 x16: 0000000000000000 x15: 00000018e5ceb408
2024-03-11T03:00:11.834504+00:00 orangepizero2w kernel: [ 106.529973] x14: ffffffffffffffff x13: ffff0000c02f9025 x12: ffff8000099a3c24
2024-03-11T03:00:11.834511+00:00 orangepizero2w kernel: [ 106.539014] x11: 000000056be6b6bc x10: 0000000000000002 x9 : 0000000000000005
2024-03-11T03:00:11.834520+00:00 orangepizero2w kernel: [ 106.539031] x8 : 0000000000000000 x7 : ffff0000c0898e00 x6 : ffff0000c025c000
2024-03-11T03:00:11.834526+00:00 orangepizero2w kernel: [ 106.557215] x5 : 0000000000000001 x4 : ffff8000099a3d00 x3 : 0000000000000000
2024-03-11T03:00:11.834531+00:00 orangepizero2w kernel: [ 106.557230] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c3443700
2024-03-11T03:00:11.834536+00:00 orangepizero2w kernel: [ 106.575467] Call trace:
2024-03-11T03:00:11.834541+00:00 orangepizero2w kernel: [ 106.575472] 0xffff0000c025c000
2024-03-11T03:00:11.834546+00:00 orangepizero2w kernel: [ 106.582972] sharp_ioctl+0x4c/0x64 [sharp_drm]
2024-03-11T03:00:11.834552+00:00 orangepizero2w kernel: [ 106.588388] input_display_set_indicator+0x54/0x70 [beepy_kbd]
2024-03-11T03:00:11.834558+00:00 orangepizero2w kernel: [ 106.596077] transition_sticky_modifier+0x114/0x164 [beepy_kbd]
2024-03-11T03:00:11.834564+00:00 orangepizero2w kernel: [ 106.603857] input_workqueue_handler+0x694/0x800 [beepy_kbd]
2024-03-11T03:00:11.834569+00:00 orangepizero2w kernel: [ 106.603878] process_one_work+0x200/0x3c4
2024-03-11T03:00:11.834575+00:00 orangepizero2w kernel: [ 106.616369] worker_thread+0x16c/0x4fc
2024-03-11T03:00:11.834580+00:00 orangepizero2w kernel: [ 106.621062] kthread+0xd8/0xdc
2024-03-11T03:00:11.834585+00:00 orangepizero2w kernel: [ 106.625039] ret_from_fork+0x10/0x20
2024-03-11T03:00:11.834590+00:00 orangepizero2w kernel: [ 106.629532] Code: 00000000 00000000 00000000 00000000 (c3406000)
2024-03-11T03:00:11.834595+00:00 orangepizero2w kernel: [ 106.637410] ---[ end trace 0000000000000000 ]---
1. Flash Debian Bullseye
2. Boot and SSH into device
3. Update
$ sudo apt update && sudo apt upgrade
4. Copy drivers to device
$ git clone https://github.com/LuRenJiasWorld/Beepy-OrangePi-Zero2W-Tweaks.git
5. Install Linux headers
$ sudo dpkg -i /opt/linux-headers*
6. Keyboard driver extract
$ unzip 适用香橙派的设备树修改.zip -d devicetree
7. Install keyboard driver
$ cd devicetree/beepy-kbd-2.2
$ sudo orangepi-add-overlay beepy-kbd.dts
ERROR:
dtc: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by dtc)
dtc: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by dtc)
Error: dtc does not support compiling overlays
1. Flash Debian Bookworm
2. Boot and SSH into device
3. Update
$ sudo apt update && sudo apt upgrade
4. Reboot
5. Clone repo
$ git clone https://github.com/LuRenJiasWorld/Beepy-OrangePi-Zero2W-Tweaks.git
6. Install Linux headers
$ sudo dpkg -i /opt/linux-headers*
7. Extract files
$ cd Beepy-OrangePi-Zero2W-Tweaks/.resources/
$ unzip 适用香橙派的设备树修改.zip -d devicetree
$ cd devicetree/beepy-kbd-2.2
8. Set overlay
$ sudo orangepi-add-overlay beepy-kbd.dts
9. Compile module
$ make all -j 4
Output:
make -C '/lib/modules/6.1.31-sun50iw9/build' M='/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2'
make[1]: Entering directory '/usr/src/linux-headers-6.1.31-sun50iw9'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
You are using: gcc (Debian 12.2.0-14) 12.2.0
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/main.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/params_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/sysfs_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_meta.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_display.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_fw.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_rtc.o
DTCO /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:13.5-18: Warning (reg_format): /fragment@0/__overlay__/beepy_kbd@1f:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (pci_device_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:11.28-18.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/beepy_kbd@1f: Relying on default #address-cells value
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:11.28-18.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/beepy_kbd@1f: Relying on default #size-cells value
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.o
MODPOST /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/Module.symvers
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.mod.o
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.ko
make[1]: Leaving directory '/usr/src/linux-headers-6.1.31-sun50iw9'
1. Flash Debian Bookworm
2. Boot and SSH into device
3. Update
4. Clone repo
$ git clone https://github.com/LuRenJiasWorld/Beepy-OrangePi-Zero2W-Tweaks.git
5. Install linux headers
6. Extract files
$ unzip 适用香橙派的设备树修改.zip -d devicetree
7. Enter directory
$ cd /devicetree/sharp-drm-1.1/
8. Overlay
$ sudo orangepi-add-overlay sharp-drm.dts
Compiling the overlay
Copying the compiled overlay file to /boot/overlay-user/
Reboot is required to apply the changes
9. make all
make -C '/lib/modules/6.1.31-sun50iw9/build' M='/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1'
make[1]: Entering directory '/usr/src/linux-headers-6.1.31-sun50iw9'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
You are using: gcc (Debian 12.2.0-14) 12.2.0
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/src/main.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/src/drm_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/src/params_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/src/ioctl_iface.o
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/sharp-drm.o
DTCO /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/sharp-drm.dtbo
MODPOST /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/Module.symvers
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/sharp-drm.mod.o
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/sharp-drm-1.1/sharp-drm.ko
make[1]: Leaving directory '/usr/src/linux-headers-6.1.31-sun50iw9'
10. Copy module
$ sudo cp sharp-drm.ko /lib/modules/6.1.31-sun50iw9/
11. Rebuild
$ sudo depmod -a
12. Add sharp-drm to the end of /etc/modules
13. Move to keyboard directory
$ cd ../beepy-kbd-2.2/
14. Overlay
$ sudo orangepi-add-overlay beepy-kbd.dts
Compiling the overlay
Copying the compiled overlay file to /boot/overlay-user/
Reboot is required to apply the changes
15. make all
make -C '/lib/modules/6.1.31-sun50iw9/build' M='/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2'
make[1]: Entering directory '/usr/src/linux-headers-6.1.31-sun50iw9'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
You are using: gcc (Debian 12.2.0-14) 12.2.0
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/main.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/params_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/sysfs_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_meta.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_display.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_fw.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_rtc.o
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.o
DTCO /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:13.5-18: Warning (reg_format): /fragment@0/__overlay__/beepy_kbd@1f:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (pci_device_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:11.28-18.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/beepy_kbd@1f: Relying on default #address-cells value
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:11.28-18.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/beepy_kbd@1f: Relying on default #size-cells value
MODPOST /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/Module.symvers
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.mod.o
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.ko
make[1]: Leaving directory '/usr/src/linux-headers-6.1.31-sun50iw9'
16. Copy files
$ sudo cp beepy-kbd.ko /lib/modules/6.1.31-sun50iw9/
17. Rebuild
$ sudo depmod -a
18. Add "beepy-kbd" to the end of /ect/modules
19. Reboot to see where we're at and if the keyboard will lock up the display
20. Disable desktop in orangepi-config
21. Reboot
22. Keyboard works, doesn't lock up
23. Install zsh and tmux form orangepi-config
24. Move the cached_setup_keyboard file
$ mv /etc/console-setup/cached_setup_keyboard.sh /etc/console-setup/cached_setup_keyboard.sh.bak
25. Add "KMAP=/usr/share/kbd/keymaps/beepy-kbd.map" to the end of "/etc/default/keyboard"
26. Reboot
27. System locks up when pressing shift/alt/sym
I'm suspecting it's related to the little overlay on the top right of the screen
1. Flash Ubuntu
2. Boot and SSH into device
3. Update
4. Disable desktop in orangepi-config
5. Clone Repo
6. Install Linux headers
7. Extract 适用香橙派的设备树修改.zip
8. Set overlay
9. $ make all -j 4
make -C '/lib/modules/6.1.31-sun50iw9/build' M='/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2'
make[1]: Entering directory '/usr/src/linux-headers-6.1.31-sun50iw9'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
You are using: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/main.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/params_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/sysfs_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_meta.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_display.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_fw.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/src/input_rtc.o
DTCO /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:13.5-18: Warning (reg_format): /fragment@0/__overlay__/beepy_kbd@1f:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (pci_device_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (pci_device_bus_num): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (i2c_bus_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dtbo: Warning (spi_bus_reg): Failed prerequisite 'reg_format'
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:11.28-18.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/beepy_kbd@1f: Relying on default #address-cells value
/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.dts:11.28-18.6: Warning (avoid_default_addr_size): /fragment@0/__overlay__/beepy_kbd@1f: Relying on default #size-cells value
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.o
MODPOST /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/Module.symvers
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.mod.o
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/devicetree/beepy-kbd-2.2/beepy-kbd.ko
make[1]: Leaving directory '/usr/src/linux-headers-6.1.31-sun50iw9'
10. Copy module to folder
11. Set boot to load kernel
12. Copy and apply keymap
13. Unzip screen driver: 支持dither算法的屏幕驱动.zip
14. Set overlay
15. Compile Kernel module
make -C '/lib/modules/6.1.31-sun50iw9/build' M='/home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1'
make[1]: Entering directory '/usr/src/linux-headers-6.1.31-sun50iw9'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
You are using: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/src/main.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/src/drm_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/src/params_iface.o
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/src/ioctl_iface.o
DTCO /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/sharp-drm.dtbo
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/sharp-drm.o
MODPOST /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/Module.symvers
CC [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/sharp-drm.mod.o
LD [M] /home/orangepi/Beepy-OrangePi-Zero2W-Tweaks/.resources/screendriver/sharp-drm-1.1/sharp-drm.ko
make[1]: Leaving directory '/usr/src/linux-headers-6.1.31-sun50iw9'
16. Copy module to folders
17. Set boot to load kernel
18. Reload kernel
19. Change console to zsh in orangepi-config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment