On Wed, 20 Sep 2023 18:16:47 +0200
Dimitry Andric <d...@freebsd.org> wrote:

> On 20 Sep 2023, at 15:02, KIRIYAMA Kazuhiko <k...@truefc.org> wrote:
> > 
> > On Wed, 20 Sep 2023 15:56:28 +0900,
> > Dimitry Andric wrote:
> ...
> > Fortunately old binaries exist and `cp
> > /past_created/usr/src/amd64.amd64/tmp/usr/lib/libdialog.so.9
> > /usr/lib' then go forward but stopped at stand/i386/boot2:
> > 
> > ===> 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 
> > /usr/obj/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)
> > *** Error code 1
> > 
> > Stop.
> > make[6]: stopped in /usr/src/stand/i386/boot2
> 
> As far as I remember, this typically happens when some sources are touched, 
> and it is attempting to rebuild the boot loader binaries at install time. 
> This should normally not happen, as everything has been built during 
> buildworld already. But this problem sometimes occurs when system clocks are 
> out of sync, or when files in the object tree get their dates modified for 
> other reasons.

IIRC, this happenes on the scenario below.

 buildword
 buildkernel
 modify something related with only kernel or kernel modules
 buildkernel aggain
 installkernel
 reboot
 etcpudate -p
 installworld, then, bang! start rebuiding boot codes and loaders.


> 
> In this particular case it is trying to re-link btx using btxld, but since 
> that tool is only available during buildworld, it cannot find it. I don't 
> know of a good way to fix this, except maybe to run a buildworld with 
> WITHOUT_CLEAN, e.g.:
> 
> make -DWITHOUT_CLEAN -j <num_jobs> buildworld
> 
> That should rebuild all things that need rebuilding without doing excessive 
> cleaning, and from there you can attempt to installworld again.
> 
> -Dimitry


-- 
Tomoaki AOKI    <junch...@dec.sakura.ne.jp>

Reply via email to