Everything posted by Andrea
-
Atomic firmware upgrade
@SteeMan this is supposed to be a remote and unattended system, so I would like to control the updates very carefully in order to avoid breaking anything using apt (it happens sometimes...). I know this is quite a challenge, but frameworks like rauc and swupdate are purposely designed to guarantee atomically and safe system upgrades. I would disable apt unattended system upgrades, protect the rootfs using overlayroot and possibly use rauc to upgrade the systems using a full image. I am also evaluating tools like systemd-repart that may repartition the storage (eMMC, or SD) live.
-
Atomic firmware upgrade
Hi all, has anyone ever tried to use an atomic firmware upgrade system like rauc or swupdate? https://rauc.readthedocs.io/en/latest/ https://sbabic.github.io/swupdate/swupdate.html I am playing with rauc, in order to do that I have to customize the partitioning of the SD/eMMC: - root1 (4GB) - root2 (4GB) - data (8GB, or remaining space) Can someone suggest how to customize partitioning in such way? I played around setting USE_HOOK_FOR_PARTITION=yes, and hooking the create_partition_table but had no luck. Any hint? Thanks in advance! Andrea
- kernel source modification & build without doing kernel-patch process
- Is it still possible to build just the kernel?
- kernel source modification & build without doing kernel-patch process
- Allwinner H616: Flash eMMC via USB
- Allwinner H616: Flash eMMC via USB
- Build fails while compiling ATF ("cannot find cr")
- Build fails while compiling ATF ("cannot find cr")
- OrangePi Zero 2 H616: PWM support
- Is it still possible to build just the kernel?
- OrangePi Zero 2 H616: PWM support
- Error executing partprobe during build
-
Error executing partprobe during build
Despite the fact the problem is very similar, I am not using WSL2 to build. I am using a Ubuntu VM : Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-94-generic x86_64) andrea@armbian:~$ uname -a Linux armbian 5.15.0-94-generic #104-Ubuntu SMP Tue Jan 9 15:25:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux User adeepn confirms that it happens also on Ubuntu w/kernel 5.15. I will try to upgrade to 6.1 and let you know. Thanks for the hint
- Error executing partprobe during build
-
Error executing partprobe during build
Hello all, I am receiving this error while building the image: Error: Partition(s) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64 on /dev/loop0 have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. I am . This happens in the partitioning phase (lib/functions/image/partitioning.sh line 229, using branch "v23.11" commit bba856bb57823556e12fa180284c7490fdd3708d😞 run_host_command_logged partprobe "${LOOP}" Investigated a lot, tried to unmont the image, losetup -d the loop device but nothing helped. Can you please help me? Kind regards, Andrea
-
How to customize /etc/fstab in a build?
Hi all, I need to customize the /etc/fstab during the build to mount a mtd partition and also to override some mountpoints with tmpfs in order to reduce wearing on mmc. So, have added the following lines to customize-image.sh: cat <<EOT >> /etc/fstab # Reduce SD wearing by storing log files into ram (no need as overlayroot is used to freeze all the rootfs) tmpfs /tmp tmpfs defaults,noatime,nosuid,nodev 0 0 tmpfs /run tmpfs defaults,noatime,nosuid,nodev 0 0 tmpfs /var/tmp tmpfs defaults,noatime,nosuid,nodev 0 0 tmpfs /var/log tmpfs defaults,noatime,nosuid,nodev,noexec 0 0 tmpfs /var/lib/logrotate tmpfs defaults,noatime,nosuid,nodev,noexec,size=1m,mode=0755 0 0 tmpfs /var/lib/sudo tmpfs defaults,noatime,nosuid,nodev,noexec,size=1m,mode=0700 0 0 # MTD EEPROM memory dev/mtdblock0 /mnt/mtd jffs2 ro,relatime 0 0 EOT However changes in /etc/fstab are overridden somewhere over the build process, and this is the resulting /etc/fstab: UUID=c8167755-b557-4288-9109-9108bc48dd94 / btrfs defaults,noatime,commit=600 0 1 UUID=27ac6cc6-eff3-4736-a7bd-5517e3b150c0 /boot ext4 defaults,commit=600,errors=remount-ro 0 2 tmpfs /tmp tmpfs defaults,nosuid 0 0 Is there a way to safely patch the /etc/fstab file? Thanks very much! Andrea
-
How to add custom packages
Hi all, I need to add some packages to Armbian in the build phase. I tried two ways, both failed: 1. Had run through docs (https://docs.armbian.com/Developer-Guide_User-Configurations/), and the suggestion is to add a var PACKAGE_LIST_ADDITIONAL in userpatches/lib.config PACKAGE_LIST_ADDITIONAL="$PACKAGE_LIST_ADDITIONAL watchdog modemmanager iptables iptables-persistent dnsmasq bridge-utils iproute2 openvpn" Building the image I get the following error: [🌱] Using user configuration override [ /home/andrea/armbian/build/userpatches/lib.config ] /home/andrea/armbian/build/userpatches/lib.config: line 1: PACKAGE_LIST_ADDITIONAL: readonly variable [💥] Exiting with error 1 [ at /home/andrea/armbian/build/userpatches/lib.config:1 source() --> userpatches/lib.config:1 do_extra_configuration() --> lib/functions/configuration/main-config.sh:352 do_with_logging() --> lib/functions/logging/section-logging.sh:81 do_with_conditional_logging() --> lib/functions/logging/section-logging.sh:111 prep_conf_main_build_single() --> lib/functions/main/config-prepare.sh:34 cli_standard_build_run() --> lib/functions/cli/cli-build.sh:22 armbian_cli_run_command() --> lib/functions/cli/utils-cli.sh:136 cli_entrypoint() --> lib/functions/cli/entrypoint.sh:176 main() --> compile.sh:50 ] [💥] Cleaning up [ please wait for cleanups to finish ] 2. Customizing userpatches/customize-image.sh: Added the following lines to the aforementioned file: CUST_PACKAGES="watchdog modemmanager iptables iptables-persistent dnsmasq bridge-utils iproute2 openvpn" apt-get install -yy $CUST_PACKAGES |& tee -a $DEST/${LOG_SUBPATH}/custom.log The build completes, but packages aren't added as the logging prevents the build to fail. Anyway the following info messages are displayed during the build: [🔨] Reading package lists... [🔨] Building dependency tree... [🔨] Reading state information... [🔨] Package modemmanager is not available, but is referred to by another package. [🔨] This may mean that the package is missing, has been obsoleted, or [🔨] is only available from another source [🔨] [🔨] Package iptables is not available, but is referred to by another package. [🔨] This may mean that the package is missing, has been obsoleted, or [🔨] is only available from another source [🔨] However the following packages replace it: [🔨] libxtables12 [🔨] [🔨] E: Unable to locate package watchdog [🔨] E: Package 'modemmanager' has no installation candidate [🔨] E: Package 'iptables' has no installation candidate [🔨] E: Unable to locate package iptables-persistent [🔨] E: Unable to locate package dnsmasq [🔨] E: Unable to locate package openvpn Can you suggest a suitable way to add packages to the build? Thanks very much in advance, kind regards Andrea