-
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
-
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
Andrea
Members
-
Joined
-
Last visited