KV1 Posted 23 hours ago Posted 23 hours ago When trying to rebuild the kernel, the image is not taking the updated kernel image: ./compile.sh BOARD=espressobin CLEAN_LEVEL=make-kernel RELEASE=trixie ..... -rwxrwxr-x 1 root root 296665952 Apr 7 16:47 vmlinux.unstripped -rw-rw-r-- 1 root root 220926 Apr 7 16:47 modules.builtin.modinfo -rw-rw-r-- 1 root root 16667 Apr 7 16:47 modules.builtin -rwxrwxr-x 1 root root 296215160 Apr 7 16:47 vmlinux drwxrwxr-x 23 root root 12288 Apr 7 16:47 kernel/ drwxrwxr-x 79 root root 12288 Apr 7 16:47 fs/ drwxrwxr-x 5 root root 36864 Apr 7 16:47 crypto/ drwxrwxr-x 22 root root 20480 Apr 7 16:47 lib/ drwxrwxr-x 27 root root 4096 Apr 7 16:47 sound/ drwxrwxr-x 23 root root 12288 Apr 7 16:47 scripts/ $ armbian-imager # installed the new image... 16:55:21 ● custom_image: Check decompression for /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img: false 16:55:21 ● operations: Starting flash: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img -> /dev/sdb (verify: true) 16:55:21 ● flash::linux::writer: Starting flash: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img -> /dev/sdb 16:55:21 ● flash::linux::writer: Image size: 2252341248 bytes (2.10 GB) 16:55:21 ● flash::linux::writer: Unmounting device partitions... 16:55:21 ● flash::linux::writer: Writing image... 16:55:27 ● flash::linux::writer: Write complete: 2148.0 MB in 5.4s (avg 398.9 MB/s) 16:55:27 ● flash::linux::writer: Starting verification... 16:55:27 ● flash::verify: Starting verification of 2252341248 bytes (2.10 GB) 16:55:32 ● flash::verify: Verify complete: 2148.0 MB in 4.9s (avg 441.9 MB/s) 16:55:32 ● flash::linux::writer: Flash complete! 16:55:32 ● operations: Flash completed successfully 16:55:32 ● custom_image: Deleting decompressed custom image: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img 16:55:32 ● custom_image: Attempted to delete file outside custom-decompress cache: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img $ sudo mount /dev/sdb1 /mnt/ $> ls -ltr /mnt/boot/vmlinux-6.18.21-edge-mvebu64 -rw-r--r-- 1 root root 36108800 Apr 3 18:36 /mnt/boot/vmlinux-6.18.21-edge-mvebu64 When booting: [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.18.21-edge-mvebu64 (build@armbian) (aarch64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT Thu Apr 2 07:23:33 EDT 2026 [ 0.000000] KASLR enabled
KV1 Posted 22 hours ago Author Posted 22 hours ago Even more confusing the file on the disk, written with armbian-imager is a text file, looks like an apt sources file: > file /mnt/boot/vmlinux-6.18.21-edge-mvebu64 /mnt/boot/vmlinux-6.18.21-edge-mvebu64: ASCII text, with very long lines (1483) > head /mnt/boot/vmlinux-6.18.21-edge-mvebu64 com/daniel-casanueva/haskell/graphviz Description-md5: bd02d2c14f791ffca367313e1957b329 Ghc-Package: graphviz-2999.20.2.0-JKUYtUkvYwE3GbOspxTTfB Section: haskell Priority: optional Filename: pool/main/h/haskell-graphviz/libghc-graphviz-dev_2999.20.2.0-1+b1_arm64.deb Size: 3696512 MD5sum: 36c93a1f30f0234eadffbf9ae0d2336b SHA256: 5b95053c25c02020e9eca717df070591259432e5c125435f5514761417bc8879 The built file looks fine: 1348921 717100 -rw-rw-r-- 1 root root 734305912 Apr 7 17:45 ./cache/sources/linux-kernel-worktree/6.18__mvebu64__arm64/vmlinux.o > file ./cache/sources/linux-kernel-worktree/6.18__mvebu64__arm64/vmlinux.o ./cache/sources/linux-kernel-worktree/6.18__mvebu64__arm64/vmlinux.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not stripped
eselarm Posted 12 hours ago Posted 12 hours ago (edited) 11 hours ago, KV1 said: $ armbian-imager I used it once as test. Good thing is it does verification. Hopefully that will help kill the counterfeit SD-card sales and various rubbish SD-card adapters. Bad thing (for me at least) is that there is some image caching option on by default. Good for saving excessive re-downloads, but I did not look how it works and where it is stored. I use differential backups, also via slow/expensive mobile links potentially, so don't want to wast bandwidth and volume on some cache image or chunk of data. To help people with images on this forum, I did run/boot various images as container, can be done with sudo systemd-nspawn -b -i <imagefile> (if rootfs in image is just 1 partition ) You need some working ARM64 computer of course, but that can be the old/running version of the one you want to upgrade. So I suggest you do that, or maybe the build environment cache cleaning fails (your setup). Also you involve an SD-card already. What if that card internal firmware messes up blocks. If you anyhow build image yourself, maybe use Btrfs as rootfs, also make sure U-Boot has option enabled, than you have much better ways to pin-point where the problem is. But you already did bold text for file dates I see, so I guess some caching issue somewhere. Edited 12 hours ago by eselarm
KV1 Posted 2 hours ago Author Posted 2 hours ago Armbian-imager is just.. not doing anything useful... I manually deleted the 'kernel' on the device... which was really an apt packages list somehow... rebuilt & 'flashed'... 14:03:51 ● custom_image: Board detection completed successfully 14:03:51 ● frontend::app: Detected board from filename: Espressobin (espressobin) 14:03:52 ● board_queries: Device(s) added: ["/dev/sda", "/dev/sdb", "/dev/nvme0n1"] 14:03:55 ● operations: Requesting write authorization for device: /dev/sdb 14:03:55 ● flash::linux::privileges: Authorization will be requested via polkit when accessing: /dev/sdb 14:03:55 ● operations: Authorization granted for /dev/sdb 14:03:55 ● custom_image: Check decompression for /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img: false 14:03:55 ● operations: Starting flash: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img -> /dev/sdb (verify: true) 14:03:55 ● flash::linux::writer: Starting flash: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img -> /dev/sdb 14:03:55 ● flash::linux::writer: Image size: 2139095040 bytes (1.99 GB) 14:03:55 ● flash::linux::writer: Unmounting device partitions... 14:03:55 ● flash::linux::writer: Writing image... 14:04:01 ● flash::linux::writer: Write complete: 2040.0 MB in 5.5s (avg 373.2 MB/s) 14:04:01 ● flash::linux::writer: Starting verification... 14:04:01 ● flash::verify: Starting verification of 2139095040 bytes (1.99 GB) 14:04:05 ● flash::verify: Verify complete: 2040.0 MB in 4.6s (avg 441.9 MB/s) 14:04:05 ● flash::linux::writer: Flash complete! 14:04:05 ● operations: Flash completed successfully 14:04:05 ● custom_image: Deleting decompressed custom image: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img 14:04:05 ● custom_image: Attempted to delete file outside custom-decompress cache: /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img > sudo mount /dev/sdb1 /mnt/ > ls /mnt bin boot/ dev/ etc/ home/ initrd.img initrd.img.old lib lost+found/ media/ mnt/ opt/ proc/ root/ run/ sbin selinux/ srv/ sys/ tmp/ usr/ var/ vmlinuz vmlinuz.old > ls -ltr /mnt/ total 80 drwxr-xr-x 2 root root 4096 Mar 2 16:50 sys/ lrwxrwxrwx 1 root root 8 Mar 2 16:50 sbin -> usr/sbin/ drwxr-xr-x 2 root root 4096 Mar 2 16:50 proc/ lrwxrwxrwx 1 root root 7 Mar 2 16:50 lib -> usr/lib/ drwxr-xr-x 2 root root 4096 Mar 2 16:50 home/ drwxr-xr-x 2 root root 4096 Mar 2 16:50 dev/ lrwxrwxrwx 1 root root 7 Mar 2 16:50 bin -> usr/bin/ drwxr-xr-x 2 root root 4096 Mar 31 22:57 mnt/ drwxr-xr-x 2 root root 4096 Mar 31 22:57 srv/ drwxr-xr-x 2 root root 4096 Mar 31 22:57 opt/ drwxr-xr-x 2 root root 4096 Mar 31 22:57 media/ drwxr-xr-x 11 root root 4096 Mar 31 22:57 usr/ drwxrwxrwt 2 root root 4096 Mar 31 22:57 tmp/ drwxr-xr-x 12 root root 4096 Apr 7 16:47 var/ drwxrwxr-x 2 root root 4096 Apr 7 16:47 selinux/ lrwxrwxrwx 1 root root 33 Apr 7 16:48 vmlinuz.old -> boot/vmlinux-6.18.21-edge-mvebu64 lrwxrwxrwx 1 root root 33 Apr 7 16:48 vmlinuz -> boot/vmlinux-6.18.21-edge-mvebu64 lrwxrwxrwx 1 root root 36 Apr 7 16:48 initrd.img.old -> boot/initrd.img-6.18.21-edge-mvebu64 lrwxrwxrwx 1 root root 36 Apr 7 16:48 initrd.img -> boot/initrd.img-6.18.21-edge-mvebu64 drwx------ 3 root root 4096 Apr 7 16:48 root/ drwx------ 2 root root 16384 Apr 7 16:49 lost+found/ drwxr-xr-x 91 root root 4096 Apr 7 16:49 etc/ drwxr-xr-x 3 root root 4096 Apr 7 16:49 run/ drwxr-xr-x 3 root root 4096 Apr 8 13:35 boot/ > ls -ltr /mnt/boot/ total 59328 -rw-rw-r-- 1 root root 1592 Apr 3 18:14 boot.cmd -rw-r--r-- 1 root root 5318624 Apr 3 18:36 System.map-6.18.21-edge-mvebu64 -rw-r--r-- 1 root root 224205 Apr 3 18:36 config-6.18.21-edge-mvebu64 lrwxrwxrwx 1 root root 28 Apr 7 16:48 Image -> vmlinux-6.18.21-edge-mvebu64 drwxr-xr-x 3 root root 4096 Apr 7 16:48 dtb-6.18.21-edge-mvebu64/ lrwxrwxrwx 1 root root 24 Apr 7 16:48 dtb -> dtb-6.18.21-edge-mvebu64/ -rw-rw-r-- 1 root root 38518 Apr 7 16:48 boot.bmp -rw-rw-r-- 1 root root 95 Apr 7 16:49 armbianEnv.txt -rw-rw-r-- 1 root root 1664 Apr 7 16:49 boot.scr -rw-r--r-- 1 root root 18372350 Apr 7 16:49 initrd.img-6.18.21-edge-mvebu64 -rw-r--r-- 1 root root 18372414 Apr 7 16:49 uInitrd-6.18.21-edge-mvebu64 lrwxrwxrwx 1 root root 28 Apr 7 16:49 uInitrd -> uInitrd-6.18.21-edge-mvebu64 -rw-r--r-- 1 root root 18398788 Apr 7 16:49 espressobin.itb > ls -ltr /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img -rw-rw-r-- 1 root root 2139095040 Apr 8 14:02 /srv/development/espressobin-ultra/armbian-build/build/output/images/Armbian-unofficial_26.05.0-trunk_Espressobin_trixie_edge_6.18.21.img > > ls -ltr /mnt/boot/Image lrwxrwxrwx 1 root root 28 Apr 7 16:48 /mnt/boot/Image -> vmlinux-6.18.21-edge-mvebu64 > ls -ltr /mnt/boot/vmlinux-6.18.21-edge-mvebu64 ls: cannot access '/mnt/boot/vmlinux-6.18.21-edge-mvebu64': No such file or directory > so... why is armbian-imager not pushing the kernel files from a custom image?
SteeMan Posted 1 hour ago Posted 1 hour ago Have you mounted the image to verify that the problem isn't with the image? (You assume that the issue is with imager but you should first verify that the issue isn't with the image that imager is copying to the storage media.
Solution KV1 Posted 15 minutes ago Author Solution Posted 15 minutes ago TL;DR: fsck /dev/sdb1 Looks like something corrupted the drive filesystem. I was able fsck repair the drive, and re-apply the image via armbian-imager. The fact that armbian-imager 'validated' the flashed contents multiple times is where things went sideways. Once i tried to manually delete the contents of the drive, and that failed, it became apparent that the drive had been corrupted. I'm not sure what the 'validation' that armbian-imager does is, though.
Recommended Posts