On 2021-02-22 9:38 am, Dean E. Weimer via freebsd-stable
wrote:> 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
I had already started a new build specifying CPUTYPE=silvermont in
make.conf, as attempt work around. It failed as well. I did check and
the path above exists on the system
:/jails/devel/ROOT/usr/obj/jails/devel/ROOT/usr/src/amd64.amd64/stand/i386/btx/btx
# ll
total 10
-rw-r--r-- 1 root wheel 117B Feb 22 10:13 .depend.btx.o
-rwxr-xr-x 1 root wheel 1.7K Feb 22 10:37 btx*
-rw-r--r-- 1 root wheel 5.4K Feb 22 10:13 btx.o
drwxr-xr-x 2 root wheel 4B Feb 22 10:13 include/
I have removed my CPU Type specification and will run a new make and
install capturing full logs so that I can post a link to full logs.
--
Thanks,
Dean E. Weimer
http://www.dweimer.net/