On 2021-02-22 9:29 am, Warner Losh wrote:
> On Mon, Feb 22, 2021 at 8:24 AM Dean E. Weimer via freebsd-stable
> <freebsd-stable at freebsd.org> wrote:
>
>> I was able to successfully build and install BETA2 from source,
>> however
>> I am now attempting to upgrade the same machine to BETA3 buildworld
>> and
>> buildkernel complete. installkernel also completes, but installworld
>> fails, it appears to not find a file for i386 boot.
>>
>> I do have a customized src.conf
>> WIHTOUT_FLOPPY="YES"
>> WITHOUT_FREEBSD_UPDATE="YES"
>> WITH_BSD_GREP="YES"
>> WITHOUT_BLUETOOTH="YES"
>> WITHOUT_PORTSNAP="YES"
>> WITHOUT_WIRELESS="YES"
>> WITHOUT_WPA_SUPPLICANT_EAPOL="YES"
>> WITHOUT_ATM="YES"
>> WITHOUT_LPR="YES"
>> WITHOUT_PPP="YES"
>> WITHOUT_LLDB="YES"
>> WITHOUT_FTP="YES"
>> WITHOUT_RBOOTD="YES"
>> WITHOUT_TALK="YES"
>> WITHOUT_NTP="YES"
>> WITH_ISCSI="YES"
>> WITH_REPRODUCIBLE_BUILD="YES"
>> WITHOUT_GNU_DIFF="YES"
>> WITH_KERNEL_RETPOLINE="YES"
>>
>> and customized make.conf
>> CFLAGS?= -O
>> CLFAGS+= -pipe
>> NO_CPU_CFLAGS>> MK_WERROR=no
>>
>> WITH_CCACHE_BUILD= YES
>> OPTIONS_SET= LIBEDIT OPTIMIZED_CFLAGS GSSAPI_NONE
>> OPTIONS_UNSET= X11 X GUI TLS_SRP AVAHI GSSAPI_BASE XPM CUPS EXAMPLES
>> DOCS
>> WRKDIRPREFIX= /var/ports
>> PACKAGES= /var/ports/packages
>> WITH_PKGNG= YES
>> DEFAULT_VERSIONS= pgsql=13 php=80 apache=2.4 perl5=5.32 bdb=6
>> mysql=105m
>> ssl=openssl python=3.9 python3=3.9 gcc=9 linux=c7 samba=4.13
>>
>> .if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
&&
>> !defined(NOCCACHE)
>> CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
>> CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
>> .endif
>> .if (!empty(.CURDIR:M/jails/devel/ROOT/usr/src*) ||
>> !empty(.CURDIR:M/jails/devel/ROOT/usr/obj*)) &&
!defined(NOCCACHE)
>> CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
>> CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
>> .endif
>>
>> Here's the part of where it fails during the install, src tree was
>> checked out at commit 1d0d443daa570c8eaa60ec2c2accbe19554a6c12.
>>
>> ...
>> ===> stand/userboot (install)
>> ===> stand/userboot/test (install)
>> ===> stand/userboot/userboot_4th (install)
>> install -o root -g wheel -m 444 -S userboot_4th.so
>> /jails/devel/ROOT/boot/
>> install -o root -g wheel -m 444 userboot_4th.so.debug
>> /jails/devel/ROOT/usr/lib/debug/boot/
>> ===> stand/userboot/userboot_lua (install)
>> install -o root -g wheel -m 444 -S userboot_lua.so
>> /jails/devel/ROOT/boot/
>> install -o root -g wheel -m 444 userboot_lua.so.debug
>> /jails/devel/ROOT/usr/lib/debug/boot/
>> install -l h -o root -g wheel -m 444
>> /jails/devel/ROOT/boot/userboot_lua.so
>> /jails/devel/ROOT/boot/userboot.so
>> ===> stand/i386 (install)
>> ===> stand/i386/btx (install)
>> ===> stand/i386/btx/btx (install)
>> ===> stand/i386/btx/btxldr (install)
>> ===> stand/i386/btx/lib (install)
>> ===> stand/i386/libi386 (install)
>> ===> stand/i386/mbr (install)
>> install -o root -g wheel -m 444 mbr /jails/devel/ROOT/boot/mbr
>> ===> stand/i386/pmbr (install)
>> install -o root -g wheel -m 444 pmbr /jails/devel/ROOT/boot/pmbr
>> ===> stand/i386/boot0 (install)
>> install -o root -g wheel -m 444 boot0 /jails/devel/ROOT/boot/boot0
>> ===> stand/i386/boot0sio (install)
>> install -o root -g wheel -m 444 boot0
>> /jails/devel/ROOT/boot/boot0sio
>> ===> stand/i386/boot2 (install)
>> objcopy -S -O binary boot1.out boot1
>> objcopy -S -O binary boot2.out boot2.bin
>> btxld -v -E 0x2000 -f bin -b
>>
/jails/devel/ROOT/usr/obj/jails/devel/ROOT/usr/src/amd64.amd64/stand/i386/btx/btx/btx
>> -l boot2.ldr -o boot2.ld -P 1 boot2.bin
>> make[6]: exec(btxld) failed (No such file or directory)
>
> Does this happen every time, or only sometimes? Do you have the
> complete log? Why we're trying to run btxld and objcopy in the
> *INSTALL* phase is likely why (paths are different between the two)
>
> Warner
>
>> mail to "freebsd-stable-unsubscribe at freebsd.org"
Everytime, not sure why I am trying to run btxld and objcopy in install
phase, I am simply running the command make installworld
I do use env variables to change paths, as I install to a ZFS clone of
the original system dataset then change boot setting on pool and reboot.
Environment Variables used during build and install, been doing this
process ever since I started using ZFS boot on FreeBSD 9.2.
setenv MAKEOBJDIRPREFIX /jails/devel/ROOT/usr/obj
setenv DESTDIR /jails/devel/ROOT
setenv __MAKE_CONF /jails/devel/ROOT/etc/make.conf
setenv SRCCONF /jails/devel/ROOT/etc/src.conf
--
Thanks,
Dean E. Weimer
http://www.dweimer.net/