§2023-11-10
- build kernel esseantial
$ sudo apt install build-essential bc bison flex rsync libelf-dev libssl-dev libncurses-dev dwarves
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9).
build-essential set to manually installed.
The following additional packages will be installed:
libfl-dev libfl2 libgpm2 libncurses6 m4 pahole zlib1g-dev
Suggested packages:
bison-doc flex-doc gpm ncurses-doc libssl-doc m4-doc python3-braceexpand
The following NEW packages will be installed:
bc bison dwarves flex libelf-dev libfl-dev libfl2 libgpm2 libncurses-dev libncurses6 libssl-dev m4 pahole rsync zlib1g-dev
0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
alexlai@hc4Bookworm:~$ sudo apt install python3 python3-pip
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3 is already the newest version (3.11.2-1+b1).
python3 set to manually installed.
The following additional packages will be installed:
javascript-common libexpat1-dev libjs-jquery libjs-sphinxdoc libjs-underscore libpython3-dev libpython3.11 libpython3.11-dev python3-dev
python3-distutils python3-lib2to3 python3-setuptools python3-wheel python3.11-dev
Suggested packages:
apache2 | lighttpd | httpd python-setuptools-doc
The following NEW packages will be installed:
javascript-common libexpat1-dev libjs-jquery libjs-sphinxdoc libjs-underscore libpython3-dev libpython3.11 libpython3.11-dev python3-dev
python3-distutils python3-lib2to3 python3-pip python3-setuptools python3-wheel python3.11-dev
0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
Need to get 9,685 kB of archives.
After this operation, 45.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]
- make
alexlai@hc4Bookworm:~$ cd build/src/linux-6.1.55/
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ cp -v /boot/config-6.1.0-odroid-arm64 .config
'/boot/config-6.1.0-odroid-arm64' -> '.config'
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ make oldconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/confdata.o
HOSTCC scripts/kconfig/expr.o
LEX scripts/kconfig/lexer.lex.c
YACC scripts/kconfig/parser.tab.[ch]
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTLD scripts/kconfig/conf
*
* Restart config...
*
*
* ARM errata workarounds via the alternatives framework
*
AmpereOne: AC03_CPU_38: Certain bits in the Virtualization Translation Control Register and Translation Control Registers do not follow RES0 semantics (AMPERE_ERRATUM_AC03_CPU_38) [Y/n/?] (NEW)
Cortex-A53: 826319: System might deadlock if a write cannot complete until read data is accepted (ARM64_ERRATUM_826319) [Y/n/?] y
Cortex-A53: 827319: Data cache clean instructions might cause overlapping transactions to the interconnect (ARM64_ERRATUM_827319) [Y/n/?] y
Cortex-A53: 824069: Cache line might not be marked as clean after a CleanShared snoop (ARM64_ERRATUM_824069) [Y/n/?] y
Cortex-A53: 819472: Store exclusive instructions might cause data corruption (ARM64_ERRATUM_819472) [Y/n/?] y
Cortex-A57: 832075: possible deadlock on mixing exclusive memory accesses with device loads (ARM64_ERRATUM_832075) [Y/n/?] y
Cortex-A57: 834220: Stage 2 translation fault might be incorrectly reported in presence of a Stage 1 fault (ARM64_ERRATUM_834220) [Y/n/?] y
Cortex-A57/A72: 1742098: ELR recorded incorrectly on interrupt taken between cryptographic instructions in a sequence (ARM64_ERRATUM_1742098) [Y/n/?] y
Cortex-A53: 845719: a load might read incorrect data (ARM64_ERRATUM_845719) [Y/n/?] y
Cortex-A53: 843419: A load or store might access an incorrect address (ARM64_ERRATUM_843419) [Y/n/?] y
Cortex-A55: 1024718: Update of DBM/AP bits without break before make might result in incorrect update (ARM64_ERRATUM_1024718) [Y/n/?] y
Cortex-A76/Neoverse-N1: MRC read following MRRC read of specific Generic Timer in AArch32 might give incorrect result (ARM64_ERRATUM_1418040) [Y/n/?] y
Cortex-A76: 1165522: Speculative AT instruction using out-of-context translation regime could cause subsequent request to generate an incorrect translation (ARM64_ERRATUM_1165522) [Y/n/?] y
Cortex-A57/A72: 1319537: Speculative AT instruction using out-of-context translation regime could cause subsequent request to generate an incorrect translation (ARM64_ERRATUM_1319367) [Y/n/?] y
Cortex-A55: 1530923: Speculative AT instruction using out-of-context translation regime could cause subsequent request to generate an incorrect translation (ARM64_ERRATUM_1530923) [Y/n/?] y
Cortex-A55: Completion of affected memory accesses might not be guaranteed by completion of a TLBI (ARM64_ERRATUM_2441007) [Y/n/?] y
Cortex-A76: Modification of the translation table for a virtual address might lead to read-after-read ordering violation (ARM64_ERRATUM_1286807) [Y/n/?] y
Cortex-A76: Software Step might prevent interrupt recognition (ARM64_ERRATUM_1463225) [Y/n/?] y
Neoverse-N1: workaround mis-ordering of instruction fetches (ARM64_ERRATUM_1542419) [Y/n/?] y
Cortex-A77: 1508412: workaround deadlock on sequence of NC/Device load and store exclusive or PAR read (ARM64_ERRATUM_1508412) [Y/n/?] y
Cortex-A510: 2051678: disable Hardware Update of the page table dirty bit (ARM64_ERRATUM_2051678) [Y/n/?] y
Cortex-A510: 2077057: workaround software-step corrupting SPSR_EL2 (ARM64_ERRATUM_2077057) [Y/n/?] y
Cortex-A510: 2658417: remove BF16 support due to incorrect result (ARM64_ERRATUM_2658417) [Y/n/?] y
Cortex-A710: 2054223: workaround TSB instruction failing to flush trace (ARM64_ERRATUM_2054223) [Y/n/?] y
Neoverse-N2: 2067961: workaround TSB instruction failing to flush trace (ARM64_ERRATUM_2067961) [Y/n/?] y
Cortex-A510: Completion of affected memory accesses might not be guaranteed by completion of a TLBI (ARM64_ERRATUM_2441009) [Y/n/?] y
Cortex-A510: 2457168: workaround for AMEVCNTR01 incrementing incorrectly (ARM64_ERRATUM_2457168) [Y/n/?] y
Cavium erratum 22375, 24313 (CAVIUM_ERRATUM_22375) [Y/n/?] y
Cavium erratum 23144: ITS SYNC hang on dual socket system (CAVIUM_ERRATUM_23144) [Y/n/?] y
Cavium errata 23154 and 38545: GICv3 lacks HW synchronisation (CAVIUM_ERRATUM_23154) [Y/n/?] y
Cavium erratum 27456: Broadcast TLBI instructions may cause icache corruption (CAVIUM_ERRATUM_27456) [Y/n/?] y
Cavium erratum 30115: Guest may disable interrupts in host (CAVIUM_ERRATUM_30115) [Y/n/?] y
Cavium ThunderX2 erratum 219: PRFM between TTBR change and ISB fails (CAVIUM_TX2_ERRATUM_219) [Y/n/?] y
Fujitsu-A64FX erratum E#010001: Undefined fault may occur wrongly (FUJITSU_ERRATUM_010001) [Y/n/?] y
Hip07 161600802: Erroneous redistributor VLPI base (HISILICON_ERRATUM_161600802) [N/y/?] n
Falkor E1003: Incorrect translation due to ASID change (QCOM_FALKOR_ERRATUM_1003) [Y/n/?] y
Falkor E1009: Prematurely complete a DSB after a TLBI (QCOM_FALKOR_ERRATUM_1009) [Y/n/?] y
QDF2400 E0065: Incorrect GITS_TYPER.ITT_Entry_size (QCOM_QDF2400_ERRATUM_0065) [Y/n/?] y
Falkor E1041: Speculative instruction fetches might cause errant memory access (QCOM_FALKOR_ERRATUM_E1041) [Y/n/?] y
NVIDIA Carmel CNP: CNP on Carmel semantically different than ARM cores (NVIDIA_CARMEL_CNP_ERRATUM) [Y/n/?] y
Socionext Synquacer: Workaround for GICv3 pre-ITS (SOCIONEXT_SYNQUACER_PREITS) [Y/n/?] y
*
* Camera sensor devices
*
Camera sensor devices (VIDEO_CAMERA_SENSOR) [Y/n/?] (NEW)
ON Semiconductor AR0521 sensor support (VIDEO_AR0521) [N/m/?] n
Hynix Hi-556 sensor support (VIDEO_HI556) [N/m/?] n
Hynix Hi-846 sensor support (VIDEO_HI846) [N/m/?] n
Hynix Hi-847 sensor support (VIDEO_HI847) [N/m/?] n
Sony IMX208 sensor support (VIDEO_IMX208) [N/m/?] n
Sony IMX214 sensor support (VIDEO_IMX214) [N/m/?] n
Sony IMX219 sensor support (VIDEO_IMX219) [N/m/?] n
Sony IMX258 sensor support (VIDEO_IMX258) [N/m/?] n
Sony IMX274 sensor support (VIDEO_IMX274) [N/m/?] n
Sony IMX290 sensor support (VIDEO_IMX290) [N/m/?] n
Sony IMX319 sensor support (VIDEO_IMX319) [N/m/?] n
Sony IMX334 sensor support (VIDEO_IMX334) [N/m/?] n
Sony IMX335 sensor support (VIDEO_IMX335) [N/m/?] n
Sony IMX355 sensor support (VIDEO_IMX355) [N/m/?] n
Sony IMX412 sensor support (VIDEO_IMX412) [N/m/?] n
mt9m001 support (VIDEO_MT9M001) [N/m/?] n
MT9M032 camera sensor support (VIDEO_MT9M032) [N/m/?] n
mt9m111, mt9m112 and mt9m131 support (VIDEO_MT9M111) [N/m/?] n
Aptina MT9P031 support (VIDEO_MT9P031) [N/m/?] n
Aptina MT9T001 support (VIDEO_MT9T001) [N/m/?] n
Aptina MT9T111/MT9T112 support (VIDEO_MT9T112) [N/m/?] n
Micron mt9v011 sensor support (VIDEO_MT9V011) [M/?] m
Micron MT9V032 sensor support (VIDEO_MT9V032) [N/m/?] n
Aptina MT9V111 sensor support (VIDEO_MT9V111) [N/m/?] n
Siliconfile NOON010PC30 sensor support (VIDEO_NOON010PC30) [N/m/?] n
OmniVision OG01A1B sensor support (VIDEO_OG01A1B) [N/m/?] n
OmniVision OV02A10 sensor support (VIDEO_OV02A10) [N/m/?] n
OmniVision OV08D10 sensor support (VIDEO_OV08D10) [N/m/?] n
OmniVision OV13858 sensor support (VIDEO_OV13858) [N/m/?] n
OmniVision OV13B10 sensor support (VIDEO_OV13B10) [N/m/?] n
OmniVision OV2640 sensor support (VIDEO_OV2640) [M/?] m
OmniVision OV2659 sensor support (VIDEO_OV2659) [N/m/?] n
OmniVision OV2680 sensor support (VIDEO_OV2680) [N/m/?] n
OmniVision OV2685 sensor support (VIDEO_OV2685) [N/m/?] n
OmniVision OV5640 sensor support (VIDEO_OV5640) [N/m/?] n
OmniVision OV5645 sensor support (VIDEO_OV5645) [N/m/?] n
OmniVision OV5647 sensor support (VIDEO_OV5647) [N/m/?] n
OmniVision OV5648 sensor support (VIDEO_OV5648) [N/m/?] n
OmniVision OV5670 sensor support (VIDEO_OV5670) [N/m/?] n
OmniVision OV5675 sensor support (VIDEO_OV5675) [M/n/?] m
OmniVision OV5693 sensor support (VIDEO_OV5693) [N/m/?] n
OmniVision OV5695 sensor support (VIDEO_OV5695) [N/m/?] n
OmniVision OV6650 sensor support (VIDEO_OV6650) [N/m/?] n
OmniVision OV7251 sensor support (VIDEO_OV7251) [N/m/?] n
OmniVision OV7640 sensor support (VIDEO_OV7640) [N/m/?] n
OmniVision OV7670 sensor support (VIDEO_OV7670) [N/m/?] n
OmniVision OV772x sensor support (VIDEO_OV772X) [N/m/?] n
OmniVision OV7740 sensor support (VIDEO_OV7740) [N/m/?] n
OmniVision OV8856 sensor support (VIDEO_OV8856) [N/m/?] n
OmniVision OV8865 sensor support (VIDEO_OV8865) [N/m/?] n
OmniVision OV9282 sensor support (VIDEO_OV9282) [N/m/?] n
OmniVision OV9640 sensor support (VIDEO_OV9640) [N/m/?] n
OmniVision OV9650/OV9652 sensor support (VIDEO_OV9650) [N/m/?] n
IMI RDACM20 camera support (VIDEO_RDACM20) [N/m/?] n
IMI RDACM21 camera support (VIDEO_RDACM21) [N/m/?] n
Sharp RJ54N1CB0C sensor support (VIDEO_RJ54N1) [N/m/?] n
Samsung S5C73M3 sensor support (VIDEO_S5C73M3) [N/m/?] n
Samsung S5K4ECGX sensor support (VIDEO_S5K4ECGX) [N/m/?] n
Samsung S5K5BAF sensor support (VIDEO_S5K5BAF) [N/m/?] n
Samsung S5K6A3 sensor support (VIDEO_S5K6A3) [N/m/?] n
Samsung S5K6AAFX sensor support (VIDEO_S5K6AA) [N/m/?] n
Siliconfile SR030PC30 sensor support (VIDEO_SR030PC30) [N/m/?] n
MIPI CCS/SMIA++/SMIA sensor support (VIDEO_CCS) [N/m/?] n
ET8EK8 camera sensor support (VIDEO_ET8EK8) [N/m/?] n
Fujitsu M-5MOLS 8MP sensor support (VIDEO_M5MOLS) [N/m/?] n
*
* Security options
*
Enable access key retention support (KEYS) [Y/?] y
Enable temporary caching of the last request_key() result (KEYS_REQUEST_CACHE) [N/y/?] n
Enable register of persistent per-UID keyrings (PERSISTENT_KEYRINGS) [N/y/?] n
TRUSTED KEYS (TRUSTED_KEYS) [M/n/y/?] m
TPM-based trusted keys (TRUSTED_KEYS_TPM) [Y/n/?] y
TEE-based trusted keys (TRUSTED_KEYS_TEE) [Y/n/?] y
ENCRYPTED KEYS (ENCRYPTED_KEYS) [M/n/y/?] m
Allow encrypted keys with user decrypted data (USER_DECRYPTED_DATA) [N/y/?] n
Diffie-Hellman operations on retained keys (KEY_DH_OPERATIONS) [N/y/?] n
Restrict unprivileged access to the kernel syslog (SECURITY_DMESG_RESTRICT) [N/y/?] n
Restrict unprivileged use of performance events (SECURITY_PERF_EVENTS_RESTRICT) [N/y/?] (NEW)
Enable different security models (SECURITY) [Y/n/?] y
Enable the securityfs filesystem (SECURITYFS) [Y/?] y
Socket and Networking Security Hooks (SECURITY_NETWORK) [Y/?] y
XFRM (IPSec) Networking Security Hooks (SECURITY_NETWORK_XFRM) [N/y/?] n
Security hooks for pathname based access control (SECURITY_PATH) [Y/?] y
Low address space for LSM to protect from user allocation (LSM_MMAP_MIN_ADDR) [32768] 32768
Harden memory copies between kernel and userspace (HARDENED_USERCOPY) [N/y/?] n
Harden common str/mem functions against buffer overflows (FORTIFY_SOURCE) [N/y/?] n
Force all usermode helper calls through a single binary (STATIC_USERMODEHELPER) [N/y/?] n
NSA SELinux Support (SECURITY_SELINUX) [Y/n/?] y
NSA SELinux boot parameter (SECURITY_SELINUX_BOOTPARAM) [Y/n/?] y
NSA SELinux runtime disable (SECURITY_SELINUX_DISABLE) [N/y/?] n
NSA SELinux Development Support (SECURITY_SELINUX_DEVELOP) [Y/n/?] y
NSA SELinux AVC Statistics (SECURITY_SELINUX_AVC_STATS) [Y/n/?] y
NSA SELinux checkreqprot default value (SECURITY_SELINUX_CHECKREQPROT_VALUE) [0] 0
NSA SELinux sidtab hashtable size (SECURITY_SELINUX_SIDTAB_HASH_BITS) [9] 9
NSA SELinux SID to context string translation cache size (SECURITY_SELINUX_SID2STR_CACHE_SIZE) [256] 256
Simplified Mandatory Access Control Kernel Support (SECURITY_SMACK) [N/y/?] n
TOMOYO Linux Support (SECURITY_TOMOYO) [N/y/?] n
AppArmor support (SECURITY_APPARMOR) [Y/n/?] y
Build AppArmor with debug code (SECURITY_APPARMOR_DEBUG) [N/y/?] n
Allow loaded policy to be introspected (SECURITY_APPARMOR_INTROSPECT_POLICY) [Y/n/?] y
Enable introspection of sha1 hashes for loaded profiles (SECURITY_APPARMOR_HASH) [Y/n/?] y
Enable policy hash introspection by default (SECURITY_APPARMOR_HASH_DEFAULT) [Y/n/?] y
Allow exporting the raw binary policy (SECURITY_APPARMOR_EXPORT_BINARY) [Y/n/?] y
Perform full verification of loaded policy (SECURITY_APPARMOR_PARANOID_LOAD) [Y/n/?] y
Pin load of kernel files (modules, fw, etc) to one filesystem (SECURITY_LOADPIN) [N/y/?] n
Yama support (SECURITY_YAMA) [Y/n/?] y
Gate setid transitions to limit CAP_SET{U/G}ID capabilities (SECURITY_SAFESETID) [N/y/?] n
Basic module for enforcing kernel lockdown (SECURITY_LOCKDOWN_LSM) [N/y/?] n
Landlock support (SECURITY_LANDLOCK) [N/y/?] n
Integrity subsystem (INTEGRITY) [Y/n/?] y
Digital signature verification using multiple keyrings (INTEGRITY_SIGNATURE) [N/y/?] n
Enables integrity auditing support (INTEGRITY_AUDIT) [Y/n/?] y
Integrity Measurement Architecture(IMA) (IMA) [N/y/?] n
EVM support (EVM) [N/y/?] n
First legacy 'major LSM' to be initialized
1. SELinux (DEFAULT_SECURITY_SELINUX)
2. AppArmor (DEFAULT_SECURITY_APPARMOR)
> 3. Unix Discretionary Access Controls (DEFAULT_SECURITY_DAC)
choice[1-3?]: 3
Ordered list of enabled LSMs (LSM) [yama,loadpin,integrity,selinux,smack,tomoyo,apparmor] yama,loadpin,integrity,selinux,smack,tomoyo,apparmor
#
# configuration written to .config
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ time make -j4
real 176m39.618s
user 641m5.075s
sys 52m29.978s
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ ls arch/arm64/boot -l
total 34608
drwxr-xr-x 35 alexlai alexlai 4096 Sep 23 17:11 dts
-rw-r--r-- 1 alexlai alexlai 25219080 Nov 10 11:41 Image
-rw-r--r-- 1 alexlai alexlai 10417322 Nov 10 11:41 Image.gz
-rwxr-xr-x 1 alexlai alexlai 962 Sep 23 17:11 install.sh
-rw-r--r-- 1 alexlai alexlai 1198 Sep 23 17:11 Makefile
- make modules_install
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ ls -l /lib/modules/
total 4
drwxr-xr-x 3 root root 4096 Nov 8 11:15 6.1.0-odroid-arm64
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make modules_install
...
INSTALL /lib/modules/6.1.55/kernel/sound/usb/line6/snd-usb-podhd.ko
INSTALL /lib/modules/6.1.55/kernel/sound/usb/line6/snd-usb-toneport.ko
INSTALL /lib/modules/6.1.55/kernel/sound/usb/line6/snd-usb-variax.ko
INSTALL /lib/modules/6.1.55/kernel/sound/usb/misc/snd-ua101.ko
INSTALL /lib/modules/6.1.55/kernel/sound/usb/snd-usb-audio.ko
INSTALL /lib/modules/6.1.55/kernel/sound/usb/snd-usbmidi-lib.ko
DEPMOD /lib/modules/6.1.55
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ ls -l /lib/modules/
total 8
drwxr-xr-x 3 root root 4096 Nov 8 11:15 6.1.0-odroid-arm64
drwxr-xr-x 3 root root 4096 Nov 10 12:40 6.1.55
make install
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ ls /boot -l
total 23912
-rw-r--r-- 1 root root 4450 Nov 8 14:13 boot.scr
-rw-r--r-- 1 root root 4450 Nov 8 14:20 boot.scr.bak
-rw-r--r-- 1 root root 231625 Jun 30 10:08 config-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 96 Nov 8 11:13 config.ini
lrwxrwxrwx 1 root root 53 Nov 8 11:25 dtb -> dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb
lrwxrwxrwx 1 root root 53 Nov 8 11:25 dtb-6.1.0-odroid-arm64 -> dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb
drwxr-xr-x 3 root root 4096 Nov 8 11:15 dtbs
drwxr-xr-x 2 root root 4096 Nov 8 11:25 grub
lrwxrwxrwx 1 root root 29 Nov 8 11:15 initrd.img -> initrd.img-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 10137159 Nov 8 11:25 initrd.img-6.1.0-odroid-arm64
lrwxrwxrwx 1 root root 29 Nov 8 11:15 initrd.img.old -> initrd.img-6.1.0-odroid-arm64
drwx------ 2 root root 16384 Nov 8 10:50 lost+found
lrwxrwxrwx 1 root root 40 Nov 8 11:25 overlays -> dtbs/6.1.0-odroid-arm64/amlogic/overlays
-rw-r--r-- 1 root root 3858715 Jun 30 10:08 System.map-6.1.0-odroid-arm64
lrwxrwxrwx 1 root root 26 Nov 8 11:15 vmlinuz -> vmlinuz-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 10206439 Jun 30 10:08 vmlinuz-6.1.0-odroid-arm64
lrwxrwxrwx 1 root root 26 Nov 8 11:15 vmlinuz.old -> vmlinuz-6.1.0-odroid-arm64
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 298.1G 0 disk
├─sda1 8:1 0 1.9G 0 part /boot
├─sda2 8:2 0 7.5G 0 part [SWAP]
├─sda3 8:3 0 29.8G 0 part /
└─sda4 8:4 0 89.4G 0 part /mnt/gentoo
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make install
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.1.55 /boot/vmlinuz-6.1.55
update-initramfs: Generating /boot/initrd.img-6.1.55
Using DTB: amlogic/meson64_odroidhc4.dtb
Couldn't find DTB meson64_odroidhc4.dtb in /usr/lib/linux-image-6.1.55 or /etc/flash-kernel/dtbs
Couldn't find DTB files in /usr/lib/linux-image-6.1.55/amlogic
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make: *** [arch/arm64/Makefile:169: install] Error 1
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ find /boot/dtbs/ -name meson64_odroidhc4.dtb
/boot/dtbs/6.1.0-odroid-arm64/meson64_odroidhc4.dtb
/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo cp -v /boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb /etc/flash-kernel/dtbs/
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb' -> '/etc/flash-kernel/dtbs/meson64_odroidhc4.dtb'
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make install
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.1.55 /boot/vmlinuz-6.1.55
update-initramfs: Generating /boot/initrd.img-6.1.55
Using DTB: amlogic/meson64_odroidhc4.dtb
Couldn't find DTB files in /usr/lib/linux-image-6.1.55/amlogic
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make: *** [arch/arm64/Makefile:169: install] Error 1
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo mkdir -p /usr/lib/linux-image-6.1.55/amlogic
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo cp -v /boot/dtbs/6.1.0-odroid-arm64/amlogic/* /usr/lib/linux-image-6.1.55/amlogic/
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidc2.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidc2.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidc4.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidc4.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidhc4.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidn2.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidn2.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidn2l.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidn2l.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidn2_plus.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidn2_plus.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson-g12b-odroid-n2.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson-g12b-odroid-n2.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson-g12b-odroid-n2l.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson-g12b-odroid-n2l.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson-g12b-odroid-n2-plus.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson-g12b-odroid-n2-plus.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson-gxbb-odroidc2.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson-gxbb-odroidc2.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson-sm1-odroid-c4.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson-sm1-odroid-c4.dtb'
'/boot/dtbs/6.1.0-odroid-arm64/amlogic/meson-sm1-odroid-hc4.dtb' -> '/usr/lib/linux-image-6.1.55/amlogic/meson-sm1-odroid-hc4.dtb'
cp: -r not specified; omitting directory '/boot/dtbs/6.1.0-odroid-arm64/amlogic/overlays'
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make install
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.1.55 /boot/vmlinuz-6.1.55
update-initramfs: Generating /boot/initrd.img-6.1.55
Using DTB: amlogic/meson64_odroidhc4.dtb
Installing amlogic into /boot/dtbs/6.1.55/amlogic/
Ignoring old or unknown version 6.1.55 (latest is 6.1.55.old)
Use --force if you want version 6.1.55.
Couldn't find DTB files in /usr/lib/linux-image-6.1.55.old/amlogic
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make: *** [arch/arm64/Makefile:169: install] Error 1
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ ls /boot/
boot.scr config.ini grub lost+found vmlinuz
boot.scr.bak dtb initrd.img overlays vmlinuz-6.1.0-odroid-arm64
config-6.1.0-odroid-arm64 dtb-6.1.0-odroid-arm64 initrd.img-6.1.0-odroid-arm64 System.map-6.1.0-odroid-arm64 vmlinuz-6.1.55
config-6.1.55 dtb-6.1.55 initrd.img-6.1.55 System.map-6.1.55 vmlinuz-6.1.55.old
config-6.1.55.old dtbs initrd.img.old System.map-6.1.55.old vmlinuz.old
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo rm -v /boot/*.old
removed '/boot/config-6.1.55.old'
removed '/boot/initrd.img.old'
removed '/boot/System.map-6.1.55.old'
removed '/boot/vmlinuz-6.1.55.old'
removed '/boot/vmlinuz.old'
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make install
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.1.55 /boot/vmlinuz-6.1.55
update-initramfs: Generating /boot/initrd.img-6.1.55
Using DTB: amlogic/meson64_odroidhc4.dtb
Installing amlogic into /boot/dtbs/6.1.55/amlogic/
Ignoring old or unknown version 6.1.55 (latest is 6.1.55.old)
Use --force if you want version 6.1.55.
Couldn't find DTB files in /usr/lib/linux-image-6.1.55.old/amlogic
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make: *** [arch/arm64/Makefile:169: install] Error 1
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make install
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.1.55 /boot/vmlinuz-6.1.55
update-initramfs: Generating /boot/initrd.img-6.1.55
Using DTB: amlogic/meson64_odroidhc4.dtb
Couldn't find DTB files in /usr/lib/linux-image-6.1.55/amlogic
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make: *** [arch/arm64/Makefile:169: install] Error 1
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo mv /usr/lib/linux-image-6.1.55.old/ /usr/lib/linux-image-6.1.55/
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make install
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.1.55 /boot/vmlinuz-6.1.55
update-initramfs: Generating /boot/initrd.img-6.1.55
Using DTB: amlogic/meson64_odroidhc4.dtb
Installing amlogic into /boot/dtbs/6.1.55/amlogic/
Ignoring old or unknown version 6.1.55 (latest is 6.1.55.old)
Use --force if you want version 6.1.55.
Couldn't find DTB files in /usr/lib/linux-image-6.1.55.old/amlogic
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make: *** [arch/arm64/Makefile:169: install] Error 1
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo mkdir /usr/lib/linux-image-6.1.55.old/
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo cp -v /usr/lib/linux-image-6.1.55/ /usr/lib/linux-image-6.1.55.old/
cp: -r not specified; omitting directory '/usr/lib/linux-image-6.1.55/'
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo cp -v /usr/lib/linux-image-6.1.55/* /usr/lib/linux-image-6.1.55.old/
cp: -r not specified; omitting directory '/usr/lib/linux-image-6.1.55/amlogic'
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo cp -rv /usr/lib/linux-image-6.1.55/* /usr/lib/linux-image-6.1.55.old/
'/usr/lib/linux-image-6.1.55/amlogic' -> '/usr/lib/linux-image-6.1.55.old/amlogic'
'/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidc2.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson64_odroidc2.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidc4.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson64_odroidc4.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidhc4.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson64_odroidhc4.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidn2.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson64_odroidn2.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidn2l.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson64_odroidn2l.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson64_odroidn2_plus.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson64_odroidn2_plus.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson-g12b-odroid-n2.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson-g12b-odroid-n2.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson-g12b-odroid-n2l.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson-g12b-odroid-n2l.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson-g12b-odroid-n2-plus.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson-g12b-odroid-n2-plus.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson-gxbb-odroidc2.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson-gxbb-odroidc2.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson-sm1-odroid-c4.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson-sm1-odroid-c4.dtb'
'/usr/lib/linux-image-6.1.55/amlogic/meson-sm1-odroid-hc4.dtb' -> '/usr/lib/linux-image-6.1.55.old/amlogic/meson-sm1-odroid-hc4.dtb'
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ sudo make install
INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.1.55 /boot/vmlinuz-6.1.55
update-initramfs: Generating /boot/initrd.img-6.1.55
Using DTB: amlogic/meson64_odroidhc4.dtb
Installing amlogic into /boot/dtbs/6.1.55/amlogic/
Ignoring old or unknown version 6.1.55 (latest is 6.1.55.old)
Use --force if you want version 6.1.55.
Installing amlogic into /boot/dtbs/6.1.55.old/amlogic/
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 2
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make: *** [arch/arm64/Makefile:169: install] Error 1
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ ls -l /boot/
total 91096
-rw-r--r-- 1 root root 4450 Nov 8 14:13 boot.scr
-rw-r--r-- 1 root root 4450 Nov 8 14:20 boot.scr.bak
-rw-r--r-- 1 root root 231625 Jun 30 10:08 config-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 231502 Nov 10 13:04 config-6.1.55
-rw-r--r-- 1 root root 231502 Nov 10 13:02 config-6.1.55.old
-rw-r--r-- 1 root root 96 Nov 8 11:13 config.ini
lrwxrwxrwx 1 root root 45 Nov 10 13:05 dtb -> dtbs/6.1.55.old/amlogic/meson64_odroidhc4.dtb
lrwxrwxrwx 1 root root 53 Nov 8 11:25 dtb-6.1.0-odroid-arm64 -> dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb
lrwxrwxrwx 1 root root 41 Nov 10 13:05 dtb-6.1.55 -> dtbs/6.1.55/amlogic/meson64_odroidhc4.dtb
lrwxrwxrwx 1 root root 45 Nov 10 13:05 dtb-6.1.55.old -> dtbs/6.1.55.old/amlogic/meson64_odroidhc4.dtb
drwxr-xr-x 5 root root 4096 Nov 10 13:05 dtbs
drwxr-xr-x 2 root root 4096 Nov 8 11:25 grub
lrwxrwxrwx 1 root root 29 Nov 8 11:15 initrd.img -> initrd.img-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 10137159 Nov 8 11:25 initrd.img-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 10157415 Nov 10 13:05 initrd.img-6.1.55
drwx------ 2 root root 16384 Nov 8 10:50 lost+found
lrwxrwxrwx 1 root root 32 Nov 10 13:05 overlays -> dtbs/6.1.55.old/amlogic/overlays
-rw-r--r-- 1 root root 3858715 Jun 30 10:08 System.map-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 3862263 Nov 10 13:04 System.map-6.1.55
-rw-r--r-- 1 root root 3862263 Nov 10 13:02 System.map-6.1.55.old
lrwxrwxrwx 1 root root 14 Nov 10 13:04 vmlinuz -> vmlinuz-6.1.55
-rw-r--r-- 1 root root 10206439 Jun 30 10:08 vmlinuz-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 25219080 Nov 10 13:04 vmlinuz-6.1.55
-rw-r--r-- 1 root root 25219080 Nov 10 13:02 vmlinuz-6.1.55.old
lrwxrwxrwx 1 root root 18 Nov 10 13:04 vmlinuz.old -> vmlinuz-6.1.55.old
alexlai@hc4Bookworm:~/build/src/linux-6.1.55$ cd /boot/
alexlai@hc4Bookworm:/boot$ ls dtbs/6.1.55
6.1.55/ 6.1.55.old/
alexlai@hc4Bookworm:/boot$ ls dtbs/6.1.55.old/
amlogic/ meson64_odroidhc4.dtb
alexlai@hc4Bookworm:/boot$ ls dtbs/6.1.55.old/amlogic/meson
meson64_odroidc2.dtb meson64_odroidn2.dtb meson-g12b-odroid-n2.dtb meson-gxbb-odroidc2.dtb
meson64_odroidc4.dtb meson64_odroidn2l.dtb meson-g12b-odroid-n2l.dtb meson-sm1-odroid-c4.dtb
meson64_odroidhc4.dtb meson64_odroidn2_plus.dtb meson-g12b-odroid-n2-plus.dtb meson-sm1-odroid-hc4.dtb
alexlai@hc4Bookworm:/boot$ sudo ln -sf initrd.img-6.1.55 initrd.img
alexlai@hc4Bookworm:/boot$ ls -l
total 91096
-rw-r--r-- 1 root root 4450 Nov 8 14:13 boot.scr
-rw-r--r-- 1 root root 4450 Nov 8 14:20 boot.scr.bak
-rw-r--r-- 1 root root 231625 Jun 30 10:08 config-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 231502 Nov 10 13:04 config-6.1.55
-rw-r--r-- 1 root root 231502 Nov 10 13:02 config-6.1.55.old
-rw-r--r-- 1 root root 96 Nov 8 11:13 config.ini
lrwxrwxrwx 1 root root 45 Nov 10 13:05 dtb -> dtbs/6.1.55.old/amlogic/meson64_odroidhc4.dtb
lrwxrwxrwx 1 root root 53 Nov 8 11:25 dtb-6.1.0-odroid-arm64 -> dtbs/6.1.0-odroid-arm64/amlogic/meson64_odroidhc4.dtb
lrwxrwxrwx 1 root root 41 Nov 10 13:05 dtb-6.1.55 -> dtbs/6.1.55/amlogic/meson64_odroidhc4.dtb
lrwxrwxrwx 1 root root 45 Nov 10 13:05 dtb-6.1.55.old -> dtbs/6.1.55.old/amlogic/meson64_odroidhc4.dtb
drwxr-xr-x 5 root root 4096 Nov 10 13:05 dtbs
drwxr-xr-x 2 root root 4096 Nov 8 11:25 grub
lrwxrwxrwx 1 root root 17 Nov 10 13:09 initrd.img -> initrd.img-6.1.55
-rw-r--r-- 1 root root 10137159 Nov 8 11:25 initrd.img-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 10157415 Nov 10 13:05 initrd.img-6.1.55
drwx------ 2 root root 16384 Nov 8 10:50 lost+found
lrwxrwxrwx 1 root root 32 Nov 10 13:05 overlays -> dtbs/6.1.55.old/amlogic/overlays
-rw-r--r-- 1 root root 3858715 Jun 30 10:08 System.map-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 3862263 Nov 10 13:04 System.map-6.1.55
-rw-r--r-- 1 root root 3862263 Nov 10 13:02 System.map-6.1.55.old
lrwxrwxrwx 1 root root 14 Nov 10 13:04 vmlinuz -> vmlinuz-6.1.55
-rw-r--r-- 1 root root 10206439 Jun 30 10:08 vmlinuz-6.1.0-odroid-arm64
-rw-r--r-- 1 root root 25219080 Nov 10 13:04 vmlinuz-6.1.55
-rw-r--r-- 1 root root 25219080 Nov 10 13:02 vmlinuz-6.1.55.old
lrwxrwxrwx 1 root root 18 Nov 10 13:04 vmlinuz.old -> vmlinuz-6.1.55.old