problems building a release

Mark Millard marklmi at yahoo.com
Sat Mar 13 21:41:30 UTC 2021


> On 2021-Mar-13, at 12:43, Don Lewis <truckman at FreeBSD.org> wrote:
> 
> On 13 Mar, Mark Millard wrote:
>> . . .
> 
> Thanks.  All of this stuff is pretty confusing.
> 
> If I specify MAKE_CONF in release.conf, it does affect the target build.
> In particular MODULES_OVERRIDE does the right thing.
> 
> It seems like there should be a way to specify a make.conf and src.conf
> so that they get included in the release so that if the release is
> installed and then world and kernel are built it reproduces itself.
> 
> I did manage to unmute release.sh and make so that the build is verbose,
> but the error I get when I specify TARGET and TARGET_ARCH in the
> make.conf is still a mystery.  There doesn't seem to be a line buffering
> problem hiding things, this was captured from the terminal window with
> no redirections involved.
> 
> ===> etc (installconfig)
> mkdir -p bootonly/usr/freebsd-dist
> cp MANIFEST bootonly/usr/freebsd-dist
> ln -fs /tmp/bsdinstall_etc/resolv.conf bootonly/etc/resolv.conf
> echo sendmail_enable=\"NONE\" > bootonly/etc/rc.conf
> echo hostid_enable=\"NO\" >> bootonly/etc/rc.conf
> echo debug.witness.trace=0 >> bootonly/etc/sysctl.conf
> echo vfs.mountroot.timeout=\"10\" >> bootonly/boot/loader.conf
> echo kernels_autodetect=\"NO\" >> bootonly/boot/loader.conf
> cp /usr/src/release/rc.local bootonly/etc
> sh /usr/src/release/i386/mkisoimages.sh -b 14_0_CURRENT_i386_BO bootonly.iso bootonly 
> sh /usr/src/release/i386/make-memstick.sh disc1 memstick.img
> Calculated size of `memstick.img.part': 624754688 bytes, 13074 inodes
> Extent size set to 32768
> memstick.img.part: 595.8MB (1220224 sectors) block size 32768, fragment size 4096
> 	using 1 cylinder groups of 595.81MB, 19066 blks, 13952 inodes.
> super-block backups (for fsck -b #) at:
> 192,
> Populating `memstick.img.part'
> Image `memstick.img.part' complete
> sh /usr/src/release/i386/make-memstick.sh bootonly mini-memstick.img
> Calculated size of `mini-memstick.img.part': 237436928 bytes, 13069 inodes
> Extent size set to 32768
> mini-memstick.img.part: 226.4MB (463744 sectors) block size 32768, fragment size 4096
> 	using 1 cylinder groups of 226.44MB, 7246 blks, 14592 inodes.
> super-block backups (for fsck -b #) at:
> 192,
> Populating `mini-memstick.img.part'
> Image `mini-memstick.img.part' complete

The below notes are about what starts here:

> make -C /usr/src/release  release-done
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> touch release
> true

That is interesting as this turns out to be a fairly
simple context by the time that "make . . . release-done"
is echoed:

QUOTE
release:        real-release vm-release cloudware-release
        ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} release-done
        true

release-done:
        touch release
END QUOTE

but by then "real-release vm-release cloudware-release"
completed and we see the touch and true after the messages.

So it looks like the 6 "not found" messages are from
make's internal activities.

It would be interesting to get a truss -f log (or some such)
of that "${MAKE} . . . release-done" out into to a file.
There should not be much other activity in the file generated.
That might expose the activity producing the "not found"
messages.

Also interesting might be adding a "file /libexec/ld-elf.so.1"
command line to release: or adding other such context reporting
there, such as "uname -apKU" .

> + eval chroot /scratch make -C /usr/src/release 'TARGET=i386' 'TARGET_ARCH=i386' 'KERNCONF="GW"' '__MAKE_CONF=/home/dl/gw-release/make.conf' 'SRCCONF=/home/dl/gw-release/src.conf' 'NOPORTS=yes' 'WITH_DVD=' 'WITH_VMIMAGES=' 'WITH_CLOUDWARE=' 'XZ_THREADS=0' install 'DESTDIR=/R' 'WITH_COMPRESSED_IMAGES=' 'WITH_COMPRESSED_VMIMAGES='
> + chroot /scratch make -C /usr/src/release 'TARGET=i386' 'TARGET_ARCH=i386' 'KERNCONF=GW' '__MAKE_CONF=/home/dl/gw-release/make.conf' 'SRCCONF=/home/dl/gw-release/src.conf' 'NOPORTS=yes' 'WITH_DVD=' 'WITH_VMIMAGES=' 'WITH_CLOUDWARE=' 'XZ_THREADS=0' install 'DESTDIR=/R' 'WITH_COMPRESSED_IMAGES=' 'WITH_COMPRESSED_VMIMAGES='
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap
> ELF interpreter /libexec/ld-elf.so.1 not found, error 8
> Abort trap

QUOTE
install:        release-install vm-install
END QUOTE

where the release-install: commands are listed
later below (so after the "not found" messages).

Again: seems to be make-internal activities that
generate the 6 messages.

> mkdir -p /R
> cp -a ftp /R/
> cp -p disc1.iso /R/FreeBSD-14.0-CURRENT-i386-disc1.iso
> cp -p bootonly.iso /R/FreeBSD-14.0-CURRENT-i386-bootonly.iso
> cp -p memstick.img /R/FreeBSD-14.0-CURRENT-i386-memstick.img
> cp -p mini-memstick.img /R/FreeBSD-14.0-CURRENT-i386-mini-memstick.img
> cd /R && sha512 FreeBSD-14.0-CURRENT-i386* > /R/CHECKSUM.SHA512
> cd /R && sha256 FreeBSD-14.0-CURRENT-i386* > /R/CHECKSUM.SHA256
> + return 0
> + return 0
> + umount /scratch/dev





More information about the freebsd-hackers mailing list