Created
July 16, 2023 11:14
-
-
Save cyring/51a43d71e1dc0ec736c0055b08f438ba to your computer and use it in GitHub Desktop.
linux-orangepi
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
linux-orangepi |
Make Debian package
cd /tmp
wget https://raw.githubusercontent.com/armbian/build/master/patch/misc/headers-debian-byteshift.patch
cd ; cd linux-orangepi
make -j8 deb-pkg
ls *.deb
linux-dtb-_5.10.110+-2_arm64.deb linux-image-_5.10.110+-2_arm64.deb
linux-headers-_5.10.110+-2_arm64.deb
sudo dpkg -i linux-image-_5.10.110+-2_arm64.deb linux-headers-_5.10.110+-2_arm64.deb linux-dtb-_5.10.110+-2_arm64.deb
Selecting previously unselected package linux-image-.
(Reading database ... 42068 files and directories currently installed.)
Preparing to unpack linux-image-_5.10.110+-2_arm64.deb ...
Unpacking linux-image- (5.10.110+-2) ...
Selecting previously unselected package linux-headers-.
Preparing to unpack linux-headers-_5.10.110+-2_arm64.deb ...
Unpacking linux-headers- (5.10.110+-2) ...
Selecting previously unselected package linux-dtb-.
Preparing to unpack linux-dtb-_5.10.110+-2_arm64.deb ...
Unpacking linux-dtb- (5.10.110+-2) ...
Setting up linux-image- (5.10.110+-2) ...
dkms: running auto installation service for kernel 5.10.110+.
dkms: autoinstall for kernel: 5.10.110+.
update-initramfs: Generating /boot/initrd.img-5.10.110+
update-initramfs: Converting to u-boot format
Free space after deleting the package linux-image- in /boot: 942.4M
Setting up linux-headers- (5.10.110+-2) ...
Compiling headers - please wait ...
Setting up linux-dtb- (5.10.110+-2) ...
Screenshot
sensors
gpu_thermal-virtual-0
Adapter: Virtual device
temp1: +61.0°C
littlecore_thermal-virtual-0
Adapter: Virtual device
temp1: +66.5°C
bigcore0_thermal-virtual-0
Adapter: Virtual device
temp1: +67.5°C
tcpm_source_psy_6_0022-i2c-6-22
Adapter: rk3x-i2c
in0: 0.00 V (min = +0.00 V, max = +0.00 V)
curr1: 0.00 A (max = +0.00 A)
npu_thermal-virtual-0
Adapter: Virtual device
temp1: +62.8°C
center_thermal-virtual-0
Adapter: Virtual device
temp1: +61.9°C
bigcore1_thermal-virtual-0
Adapter: Virtual device
temp1: +67.5°C
soc_thermal-virtual-0
Adapter: Virtual device
temp1: +65.6°C (crit = +115.0°C)
Cross compilation
sudo pacman -S aarch64-linux-gnu-gcc
git clone -b orange-pi-5.10-rk3588 git@github.com:orangepi-xunlong/linux-orangepi.git
cd linux-orangepi
make -j1 deb-pkg ARCH=arm64 CROSS_COMPILE=aarch64-unknown-linux-gnu-
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
CHK include/generated/compile.h
CC kernel/locking/semaphore.o
In file included from ./include/linux/rculist.h:10,
from ./include/linux/pid.h:5,
from ./include/linux/sched.h:14,
from kernel/locking/semaphore.c:30:
In function '__list_add',
inlined from 'list_add_tail' at ./include/linux/list.h:100:2,
inlined from '__down_common' at kernel/locking/semaphore.c:209:2:
./include/linux/list.h:70:20: warning: storing the address of local variable 'waiter' in '((struct list_head *)sem)[2].prev' [-Wdangling-pointer=]
error, forbidden warning:list.h:70
70 | next->prev = new;
| ~~~~~~~~~~~^~~~~
kernel/locking/semaphore.c: In function '__down_common':
kernel/locking/semaphore.c:207:33: note: 'waiter' declared here
207 | struct semaphore_waiter waiter;
| ^~~~~~
kernel/locking/semaphore.c:204:59: note: 'sem' declared here
204 | static inline int __sched __down_common(struct semaphore *sem, long state,
| ~~~~~~~~~~~~~~~~~~^~~
make[2]: *** [scripts/Makefile.build:273: kernel/locking/semaphore.o] Error 1
make[2]: *** Deleting file 'kernel/locking/semaphore.o'
make[1]: *** [scripts/Makefile.build:516: kernel/locking] Error 2
make: *** [Makefile:1920: kernel] Error 2
aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-linux-gnu-ld: ID map text too big or misaligned
aarch64-linux-gnu-ld: drivers/net/phy/sunxi-ephy.o: in function `ephy_config_init':
sunxi-ephy.c:(.text+0x5f4): undefined reference to `sun50i_ephy_calibrate_value'
aarch64-linux-gnu-ld: drivers/net/phy/sunxi-ephy.o: in function `ac200_ephy_enable.constprop.0':
sunxi-ephy.c:(.text+0x934): undefined reference to `ac200_enable'
aarch64-linux-gnu-ld: sunxi-ephy.c:(.text+0x95c): undefined reference to `ac200_enable'
aarch64-linux-gnu-ld: sunxi-ephy.c:(.text+0xa14): undefined reference to `sun50i_ephy_calibrate_value'
make[1]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1
make: *** [Makefile:1255: vmlinux] Error 2
make: *** Waiting for unfinished jobs....
Is it possible for me to get help?
Is it possible for me to get help?
aarch64-linux-gnu-ld
: apparently this is cross compilation; I didn't try further than that.
My Orange-Pi 5+ w/ NVMe storage is fast enough to build kernel directly inside the "box". See How-to above.
- Building and installing from the active branch
orange-pi-5.10-rk35xx
cd
git clone -b orange-pi-5.10-rk35xx git@github.com:orangepi-xunlong/linux-orangepi.git
cd /tmp
wget https://raw.githubusercontent.com/armbian/build/master/patch/misc/headers-debian-byteshift.patch
cd ; cd linux-orangepi
make -j8 bindeb-pkg
cd ; ls *.deb
linux-image-_5.10.160+-3_arm64.deb linux-headers-_5.10.160+-3_arm64.deb
linux-dtb-_5.10.160+-3_arm64.deb
sudo dpkg -i linux-image-_5.10.160+-3_arm64.deb linux-headers-_5.10.160+-3_arm64.deb linux-dtb-_5.10.160+-3_arm64.deb
Preparing to unpack linux-image-_5.10.160+-3_arm64.deb ...
Unpacking linux-image- (5.10.160+-3) over (5.10.110+-2) ...
Preparing to unpack linux-headers-_5.10.160+-3_arm64.deb ...
Unpacking linux-headers- (5.10.160+-3) over (5.10.110+-2) ...
Setting up linux-image- (5.10.160+-3) ...
dkms: running auto installation service for kernel 5.10.160+.
dkms: autoinstall for kernel: 5.10.160+.
update-initramfs: Generating /boot/initrd.img-5.10.160+
update-initramfs: Converting to u-boot format
Remove unused generated file: /boot/initrd.img-5.10.110+
Free space after deleting the package linux-image- in /boot: 942.1M
Setting up linux-headers- (5.10.160+-3) ...
Compiling headers - please wait ...
Preparing to unpack linux-dtb-_5.10.160+-3_arm64.deb ...
Unpacking linux-dtb- (5.10.160+-3) over (5.10.110+-2) ...
Setting up linux-dtb- (5.10.160+-3) ...
- Reboot
sudo /sbin/shutdown -r now
- Cleaning-up
sudo dpkg -l |grep 5.10.110
ii linux-dtb-legacy-rockchip-rk3588 1.0.6 arm64 Linux DTB, version 5.10.110-rockchip-rk3588
ii linux-image-legacy-rockchip-rk3588 1.0.6 arm64 Linux kernel, version 5.10.110-rockchip-rk3588
sudo dpkg -P linux-dtb-legacy-rockchip-rk3588 linux-image-legacy-rockchip-rk3588
- Loader
sudo nano /boot/orangepiEnv.txt
verbosity=1
bootlogo=false
extraargs=cma=128M
overlay_prefix=rk3588
fdtfile=rockchip/rk3588-orangepi-5-plus.dtb
rootdev=UUID=xxxx-xxxx-xxxx-xxxx-xxxx
rootfstype=ext4
docker_optimizations=off
verbosity=3
extraargs=nokaslr audit=0 nowatchdog efi=noruntime disable_ipv6=1 carrier_timeout=1 netpoll.carrier_timeout=1
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Build Kernel
In a working directory of your board, clone, build and install the kernel.
mm/page_alloc.c
include/linux/etherdevice.h
XFS_FS
SCSI_LPFC
RTLWIFI_DEBUG
CONFIG_RTL8192CU
CONFIG_RTL8723BE
BCMDHD
CONFIG_ATH11K
CONFIG_AT76C50X_USB
CONFIG_RTL8852BE
CONFIG_RTL8189ES
CONFIG_RTL8189FS
CONFIG_RTL8192EU
CONFIG_88XXAU
CONFIG_RTL8821CU
CONFIG_RTL8188EU
CONFIG_RTL8822BU
CONFIG_RTL8822CS
CONFIG_RTL8723DS
CONFIG_RTL8723DU
CONFIG_RTL8822BS
CONFIG_BONDING
CONFIG_MACSEC
CONFIG_MACVLAN
make -j8 CFLAGS='-Wno-deprecated-array-compare -Wno-dangling-pointer'