From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter =?utf-8?q?M=C3=BCller?= To: development@lists.ipfire.org Subject: Re: [PATCH] Core Update 169: Regenerate initrds and save space on ARM Date: Sun, 10 Jul 2022 10:13:39 +0000 Message-ID: In-Reply-To: <83713DF0-29F4-4604-8804-C0D7C350BA92@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2528087619058626610==" List-Id: --===============2528087619058626610== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Jon, thanks for your reply. > Peter / Michael, >=20 >=20 >> * It is not entirely error-proof (out of disk space, out of memory, system= being rebooted too early) >=20 > Is it possible to add a Disk Space check before doing an upgrade? Um, I thought we do that in the update.sh of every Core Update that involves = a kernel update? > I=E2=80=99ve been bit twice by running out of disk space mid-upgrade. I wa= s remotely upgrading a family member's system from CU 163 to CU 167 and got s= tuck =C2=BD way. When multiple Core Updates are available, Pakfire will currently download the= m all before applying them sequentially. On systems with very tight disk space, this can indeed cau= se trouble, since the more Core Updates they lag behind, the greater is the amount of disk space ne= cessary for upgrading. I guess it makes sense to raise this issue and the general question whether w= e should ship initial ramdisks or generate them on the target systems (the former has quite some im= pact on Core Update sizes) in the August telephone conference. Any thoughts? Thanks, and best regards, Peter M=C3=BCller >=20 > Here is my recent oops: >=20 > ``` > Message from syslogd(a)ipfire4 at Fri May 13 14:59:33 2022 ... > ipfire4 ipfire: core-update-164: ERROR cannot update because not enough fre= e space on root. > May 13 14:59:33 ipfire4 pakfire: PAKFIRE ERROR: Returncode: 2. Sorry. Pleas= e search our forum to find a solution for this problem. > May 13 14:59:55 ipfire4 sshd[31097]: Received signal 15; terminating. > ``` >=20 > Jon >=20 >=20 >=20 >=20 >=20 >> On Jul 7, 2022, at 8:19 AM, Michael Tremer > wrote: >> >> Hello, >> >> Indeed we don=E2=80=99t need to ship them, we can generate them instead. >> >> But that has of course some downsides, too: >> >> * It is slow >> * It is not entirely error-proof (out of disk space, out of memory, system= being rebooted too early) >> >> I do not really have much of a preference. The only thing I want to say is= that ARM needs to get their shit together and being able to load a regular i= mage instead of asking for extra commands here - or build that into dracut. >> >> -Michael >> >>> On 7 Jul 2022, at 07:48, Peter M=C3=BCller > wrote: >>> >>> Hello *, >>> >>> to my understanding, we do not need to ship "linux-initrd" if we can easi= ly >>> rebuild those on the systems anyway. I would prefer the latter, since that >>> keeps the update smaller. >>> >>> This was also raised somewhere in the community a while ago, but I am una= ble >>> to find the correspondent thread at the moment. >>> >>> How do we proceed here? >>> >>> Thanks, and best regards, >>> Peter M=C3=BCller >>> >>> >>>> https://community.ipfire.org/t/again-with-the-file-system-full-core-169/= 8186 >>>> >>>> Signed-off-by: Peter M=C3=BCller >>>> --- >>>> config/rootfiles/core/169/update.sh | 13 +++++++++++++ >>>> 1 file changed, 13 insertions(+) >>>> >>>> diff --git a/config/rootfiles/core/169/update.sh b/config/rootfiles/core= /169/update.sh >>>> index 3902e2d45..50f0bd8a4 100644 >>>> --- a/config/rootfiles/core/169/update.sh >>>> +++ b/config/rootfiles/core/169/update.sh >>>> @@ -150,6 +150,19 @@ ldconfig >>>> # Apply sysctl changes >>>> /etc/init.d/sysctl start >>>> >>>> +# Regenerate all initrds >>>> +dracut --regenerate-all --force >>>> +case "$(uname -m)" in >>>> + armv*) >>>> + mkimage -A arm -T ramdisk -C lzma -d /boot/initramfs-${KVER}-ipfire.i= mg /boot/uInit-${KVER}-ipfire >>>> + rm /boot/initramfs-${KVER}-ipfire.img >>>> + ;; >>>> + aarch64) >>>> + mkimage -A arm64 -T ramdisk -C lzma -d /boot/initramfs-${KVER}-ipfire= .img /boot/uInit-${KVER}-ipfire >>>> + # dont remove initramfs because grub need this to boot. >>>> + ;; >>>> +esac >>>> + >>>> # Start services >>>> telinit u >>>> /etc/init.d/firewall restart >> >=20 >=20 --===============2528087619058626610==--