Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Oct 2015 14:39:21 -0700
From:      NGie Cooper <yaneurabeya@gmail.com>
To:        lev@FreeBSD.org
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: EFI bootloader often trys to build itself at installworld stage
Message-ID:  <2907660F-8DB5-4655-83D6-8E215ECC25AC@gmail.com>
In-Reply-To: <A7E8096E-89FD-49ED-8A32-F3333121D01D@gmail.com>
References:  <1124529854.20151025002803@serebryakov.spb.ru> <A7E8096E-89FD-49ED-8A32-F3333121D01D@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Oct 24, 2015, at 14:35, NGie Cooper <yaneurabeya@gmail.com> wrote:
>=20
>=20
>> On Oct 24, 2015, at 14:28, Lev Serebryakov <lev@FreeBSD.org> wrote:
>>=20
>> Hello freebsd-current,
>>=20
>> Each other time "make installworld" from object directory created =
several hours ago
>> try to build efiloader again (and fails in my case as this world =
doesn't
>> contain compiler):
>>=20
>> =3D=3D=3D> sys/boot/efi/loader (install)
>> cc -O2 -pipe   -fPIC -I/data/src/sys/boot/efi/loader =
-I/data/src/sys/boot/efi/loader/arch/amd64 =
-I/data/src/sys/boot/efi/loader/../include =
-I/data/src/sys/boot/efi/loader/../include/amd64 =
-I/data/src/sys/boot/efi/loader/../../../contrib/dev/acpica/include =
-I/data/src/sys/boot/efi/loader/../../.. =
-I/data/src/sys/boot/efi/loader/../../i386/libi386 -DNO_PCI -DEFI =
-DBOOT_FORTH -I/data/src/sys/boot/efi/loader/../../ficl =
-I/data/src/sys/boot/efi/loader/../../ficl/amd64 -DLOADER_DISK_SUPPORT =
-DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT =
-I/data/src/sys/boot/efi/loader/../../common -ffreestanding -Wformat =
-msoft-float -mno-mmx -mno-sse -mno-avx -fshort-wchar -mno-red-zone =
-mno-aes -std=3Dgnu99   -Qunused-arguments -c =
/data/src/sys/boot/efi/loader/autoload.c -o autoload.o
>> /tmp/install.Ku58dvCm/sh: cc: not found
>>=20
>> Only LOCAL fileystems are in use, and computer has ntpd-synchronized =
clock.
>>=20
>> "installworld" right after "buildworld" works Ok, but if I need to
>> re-create same nanobsd image without changing world (and sources), =
its often
>> fails to perform "installworld" for second time at this exact point: =
efi/loader.
>=20
> Hi lev,
> 	Be sure to run buildworld with -DNO_CLEAN after updating your =
sources when using make installworld. Unfortunately many of the =
Makefiles under sys/boot are sensitive to updates, i.e. you=E2=80=99ll =
have to rebuild them (otherwise it will try to rebuild them at install =
and fail as noted above).
> 	That being said, what you described seems interesting. Not sure =
why it would be failing. Could you please dump all the debug output from =
make?
> Thanks!
> -NGie

Uh=E2=80=A6 yeah. I see some non-atomic logic in =
sys/boot/common/newvers.sh (it=E2=80=99s writing out to vers.c multiple =
times in the file) instead of once to the file, or multiple times to a =
temp file then moving to the final file. There are probably other =
issues.
sys/boot is a mess. I had a patch to better integrate it into the build =
process, but I wasn=E2=80=99t a committer at the time, so I couldn=E2=80=99=
t commit my patch (it=E2=80=99s been lost since then).=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2907660F-8DB5-4655-83D6-8E215ECC25AC>