From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: Problem with building linux-firmware Date: Mon, 19 Aug 2024 11:25:16 +0100 Message-ID: <3E026464-0282-4751-83E5-39B8FD22C59C@ipfire.org> In-Reply-To: <63dcb92c-4b4b-43b9-b442-39ab9b9b381b@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5416158325309243188==" List-Id: --===============5416158325309243188== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Okay, that sounds good to me. We are already over the 2GiB limit and I very much doubt that anyone has any = flash media of that size any more. If so, they will need to buy something new= :) The next logical barrier would be 4GiB to which the same assumption applies. So I will add the extra 200 MiB to the image right now so that we have some e= xtra space available. We don=E2=80=99t want to make the image 4 GiB right awa= y because then we would have to write a lot of zeroes when writing the image = to its media. The download size won=E2=80=99t change because of the compressi= on. Best, -Michael > On 18 Aug 2024, at 16:15, Adolf Belka wrote: >=20 > Hi Michael, >=20 > On 18/08/2024 14:44, Michael Tremer wrote: >> Hello, >> This is easily explained :) > It was indeed. >> We create a new image and mount it into the file system. The root partitio= n is very small and the idea is that we will expand it later when the system = boots for the first time because then we know what size the actual storage is. >> https://git.ipfire.org/?p=3Dipfire-2.x.git;a=3Dblob;f=3Dlfs/flash-images= ;h=3D5623f2e3c5c689b7dd0cda2ac51a0499f25d4ff8;hb=3Drefs/heads/next#l81 >> Currently it is 1800 MB. Maybe the new firmware is so large to bring it ov= er that limit. >> There might also be the slight problem that we are now copying first and t= hen stripping the binaries which might result in us temporarily requiring mor= e space than we will later actually need. >> You can simply increase the S_ROOT variable (it is sectors, one sector is = 512 bytes) and see how much you need. >> Let me know how this went. >=20 > I added 209715200 bytes (200MB in binary format) so 409600 sectors and it b= uilt without problems. >=20 > It was probably marginal as the old firmware rootfile built without problem= s and the new one ran out of space and there is around 500 more lines in the = new one. >=20 > Anyway got the build completed successfully. >=20 > Thanks very much. >=20 > Adolf. >> All the best, >> -Michael >>> On 17 Aug 2024, at 20:18, Adolf Belka wrote: >>>=20 >>> Here is the start of the Building flash-images section from _build.ipfire= .log up to the time when it starts having a problem with not enough space. >>>=20 >>> Regards, >>>=20 >>> Adolf. >>>=20 >>>=20 >>> Aug 17 13:58:32: Building flash-images make: Entering directory '/home/ah= b/sandbox/ipfire-2.x/lfs' >>> make: Nothing to be done for 'download'. >>> make: Leaving directory '/home/ahb/sandbox/ipfire-2.x/lfs' >>> make: Entering directory '/usr/src/lfs' >>> rm -rf /tmp/image.img /tmp/harddisk && mkdir -p /tmp/harddisk >>> # Allocate image on disk >>> dd if=3D/dev/zero of=3D/tmp/image.img bs=3D512 count=3D0 seek=3D$(( 8192 = + 1040384 + 65536 + 3773292 )) >>> 0+0 records in >>> 0+0 records out >>> 0 bytes copied, 1.534e-05 s, 0.0 kB/s >>> losetup /dev/loop1 /tmp/image.img >>> # Write Partition table >>> echo -e "8192,1040384,L,*\n1048576,65536 ,U\n1114112,3773292,L\n" | sfdis= k -uS /dev/loop1 >>> Checking that no-one is using this disk right now ... OK >>>=20 >>> Disk /dev/loop1: 2.33 GiB, 2502350848 bytes, 4887404 sectors >>> Units: sectors of 1 * 512 =3D 512 bytes >>> Sector size (logical/physical): 512 bytes / 512 bytes >>> I/O size (minimum/optimal): 512 bytes / 512 bytes >>>=20 >>>>>> Created a new DOS (MBR) disklabel with disk identifier 0x2ce22ad4. >>> /dev/loop1p1: Created a new partition 1 of type 'Linux' and of size 508 M= iB. >>> /dev/loop1p2: Created a new partition 2 of type 'EFI (FAT-12/16/32)' and = of size 32 MiB. >>> /dev/loop1p3: Created a new partition 3 of type 'Linux' and of size 1.8 G= iB. >>> /dev/loop1p4: Done. >>>=20 >>> New situation: >>> Disklabel type: dos >>> Disk identifier: 0x2ce22ad4 >>>=20 >>> Device Boot Start End Sectors Size Id Type >>> /dev/loop1p1 * 8192 1048575 1040384 508M 83 Linux >>> /dev/loop1p2 1048576 1114111 65536 32M ef EFI (FAT-12/16/32) >>> /dev/loop1p3 1114112 4887403 3773292 1.8G 83 Linux >>>=20 >>> The partition table has been altered. >>> Calling ioctl() to re-read partition table. >>> Re-reading the partition table failed.: Invalid argument >>> The kernel still uses the old table. The new table will be used at the ne= xt reboot or after you run partprobe(8) or partx(8). >>> Syncing disks. >>> kpartx -v -a /dev/loop1 >>> add map loop1p1 (253:8): 0 1040384 linear 7:1 8192 >>> add map loop1p2 (253:9): 0 65536 linear 7:1 1048576 >>> add map loop1p3 (253:10): 0 3773292 linear 7:1 1114112 >>> # Format them >>> mkfs.ext2 -F /dev/mapper/loop1p1 >>> mke2fs 1.47.1 (20-May-2024) >>> Discarding device blocks: 0/520192=08=08=08=08=08=08=08=08=08=08=08= =08=08 =08=08=08=08=08=08=08=08=08=08=08=08=08done >>> Creating filesystem with 520192 1k blocks and 130048 inodes >>> Filesystem UUID: b14abac3-0899-4a1a-868a-8b9a42ecc4a0 >>> Superblock backups stored on blocks: >>> 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409 >>>=20 >>> Allocating group tables: 0/64=08=08=08=08=08 =08=08=08=08=08done >>> Writing inode tables: 0/64=08=08=08=08=08 =08=08=08=08=08done >>> Writing superblocks and filesystem accounting information: 0/64=08=08=08= =08=08 =08=08=08=08=08done >>>=20 >>> mkfs.vfat /dev/mapper/loop1p2 >>> mkfs.fat 4.2 (2021-01-31) >>> mkfs.ext4 -O ^has_journal,extent -F /dev/mapper/loop1p3 >>> mke2fs 1.47.1 (20-May-2024) >>> Discarding device blocks: 0/471661=08=08=08=08=08=08=08=08=08=08=08= =08=08 =08=08=08=08=08=08=08=08=08=08=08=08=08done >>> Creating filesystem with 471661 4k blocks and 118080 inodes >>> Filesystem UUID: 1ea6ca19-4421-4298-8356-da44fdeb6f49 >>> Superblock backups stored on blocks: >>> 32768, 98304, 163840, 229376, 294912 >>>=20 >>> Allocating group tables: 0/15=08=08=08=08=08 =08=08=08=08=08done >>> Writing inode tables: 0/15=08=08=08=08=08 =08=08=08=08=08done >>> Writing superblocks and filesystem accounting information: 0/15=08=08=08= =08=08 =08=08=08=08=08done >>>=20 >>> # Most systems that use Flashimages has no RTC at boot >>> # so the interval check should disables >>> tune2fs -i0 /dev/mapper/loop1p3 >>> tune2fs 1.47.1 (20-May-2024) >>> Setting interval between checks to 0 seconds >>> # Mount root partition >>> mount /dev/mapper/loop1p3 /tmp/harddisk >>> # Mount boot partition >>> mkdir -pv /tmp/harddisk/boot >>> mkdir: created directory '/tmp/harddisk/boot' >>> mount /dev/mapper/loop1p1 /tmp/harddisk/boot >>> mkdir -pv /tmp/harddisk/boot/efi >>> mkdir: created directory '/tmp/harddisk/boot/efi' >>> mount /dev/mapper/loop1p2 /tmp/harddisk/boot/efi >>> # Copy all files >>> # Copy all files from /usr/src/config/rootfiles/common to /tmp/harddisk () >>> BUILD_ARCH=3D"x86_64" BUILDTARGET=3D"x86_64-pc-linux-gnu" KVER=3D"6.6.32"= /usr/src/src/scripts/archive.files x86_64 /usr/src/config/rootfiles/common = | tee | tar --create --format=3Dpax --acls --xattrs --xattrs-include=3D'*' -= -sparse --directory=3D/ --exclude=3D"dev/pts/*" --exclude=3D"proc/*" --exclud= e=3D"tmp/*" --exclude=3D"__pycache__" --files-from=3D- | tar --extract --form= at=3Dpax --acls --xattrs --xattrs-include=3D'*' --sparse --directory=3D/tmp/h= arddisk >>> tar: usr/share/misc/magic.mgc: Wrote only 5632 of 10240 bytes >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/asm.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/autoconf.nanorc: Cannot open: No such file or directo= ry >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/awk.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/c.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/cmake.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/css.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/default.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/elisp.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/groff.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/guile.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/html.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/java.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/makefile.nanorc: Cannot open: No such file or directo= ry >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/man.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/nanohelp.nanorc: Cannot open: No such file or directo= ry >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/nanorc.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/nftables.nanorc: Cannot open: No such file or directo= ry >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/objc.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/ocaml.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/patch.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/perl.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/php.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/po.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/python.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/ruby.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/rust.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/sh.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/tcl.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/tex.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/texinfo.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/xml.nanorc: Cannot open: No such file or directory >>> tar: usr/share/nano: Cannot mkdir: No space left on device >>> tar: usr/share/nano/yaml.nanorc: Cannot open: No such file or directory >>>=20 >>> On 17/08/2024 21:01, Adolf Belka wrote: >>>> I noticed that linux-firmware had not been updated since last October an= d with the AMD SinkClose vulnerability I thought it would be good to do an up= date. >>>>=20 >>>>=20 >>>> However I am having problems. The build works fine with the previous lin= ux-firmware version but with the new one I get the following failures at the = flash-images stage. I have done the build from fresh with a clean before the = build but it makes no difference. >>>>=20 >>>>=20 >>>> The error message sequence is as follows:- >>>>=20 >>>> flash-images [ 6 ][ FAIL ] >>>>=20 >>>> tar: var/state/dhcp/dhcpd.leases: Cannot open: No such file or direc= tory >>>> tar: var: Cannot mkdir: No space left on device >>>> tar: var/tmp: Cannot mkdir: No such file or directory >>>> tar: var: Cannot mkdir: No space left on device >>>> tar: var/updatecache: Cannot mkdir: No such file or directory >>>> tar: var/updatecache: Cannot mkdir: No such file or directory >>>> tar: var/updatecache/download: Cannot mkdir: No such file or directo= ry >>>> tar: var/updatecache: Cannot mkdir: No such file or directory >>>> tar: var/updatecache/metadata: Cannot mkdir: No such file or directo= ry >>>> tar: var/updatecache: Cannot mkdir: No such file or directory >>>> tar: var/updatecache/download: Cannot mkdir: No such file or directo= ry >>>> tar: var/updatecache: Cannot mkdir: No such file or directory >>>> tar: var/updatecache/metadata: Cannot mkdir: No such file or directo= ry >>>> tar: var: Cannot mkdir: No space left on device >>>> tar: var/urlrepo: Cannot mkdir: No such file or directory >>>> tar: etc/fonts/conf.d/10-hinting-slight.conf: Cannot create symlink = to '../../../usr/share/fontconfig/conf.avail/10-hinting-slight.conf': No spac= e left on device >>>> tar: etc/fonts/conf.d/10-scale-bitmap-fonts.conf: Cannot create syml= ink to '../../../usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf':= No space left on device >>>> tar: etc/fonts/conf.d/10-sub-pixel-none.conf: Cannot create symlink = to '../../../usr/share/fontconfig/conf.avail/10-sub-pixel-none.conf': No spac= e left on device >>>> tar: etc/fonts/conf.d/10-yes-antialias.conf: Cannot create symlink t= o '../../../usr/share/fontconfig/conf.avail/10-yes-antialias.conf': No space = left on device >>>> tar: etc/fonts/conf.d/11-lcdfilter-default.conf: Cannot create symli= nk to '../../../usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf': N= o space left on device >>>> tar: etc/fonts/conf.d/20-unhint-small-vera.conf: Cannot create symli= nk to '../../../usr/share/fontconfig/conf.avail/20-unhint-small-vera.conf': N= o space left on device >>>> tar: etc/fonts/conf.d/30-metric-aliases.conf: Cannot create symlink = to '../../../usr/share/fontconfig/conf.avail/30-metric-aliases.conf': No spac= e left on device >>>> tar: etc/fonts/conf.d/65-fonts-persian.conf: Cannot create symlink t= o '../../../usr/share/fontconfig/conf.avail/65-fonts-persian.conf': No space = left on device >>>> tar: srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css: Cann= ot create symlink to '../../../../../../usr/share/bootstrap/css/bootstrap-gri= d.min.css': No space left on device >>>> tar: srv/web/ipfire/html/captive/assets/bootstrap-grid.min.css.map: = Cannot create symlink to '../../../../../../usr/share/bootstrap/css/bootstrap= -grid.min.css.map': No space left on device >>>> tar: srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css.map= : Cannot create symlink to '../../../../../../usr/share/bootstrap/css/bootstr= ap-reboot.min.css.map': No space left on device >>>> tar: srv/web/ipfire/html/captive/assets/bootstrap-reboot.min.css: Ca= nnot create symlink to '../../../../../../usr/share/bootstrap/css/bootstrap-r= eboot.min.css': No space left on device >>>> tar: Exiting with failure status due to previous errors >>>> make: *** [flash-images:126: /usr/src/log/flash-image] Error 2 >>>> make: Leaving directory '/usr/src/lfs' >>>>=20 >>>> ERROR: Building flash-images [ FAIL ] >>>>=20 >>>>=20 >>>> Regards, >>>>=20 >>>> Adolf. >>>>=20 --===============5416158325309243188==--