NanoBSD Build Failure

Robert Bonomi bonomi at mail.r-bonomi.com
Mon May 21 06:21:30 UTC 2012


> From owner-freebsd-questions at freebsd.org  Sun May 20 22:52:02 2012
> Date: Sun, 20 May 2012 20:47:49 -0700
> From: "Thomas D. Dean" <tomdean at speakeasy.org>
> To: freebsd-questions at freebsd.org
> Subject: Re: NanoBSD Build Failure
>
> On 05/20/12 20:39, Polytropon wrote:
> > On Sun, 20 May 2012 19:49:49 -0700, Thomas D. Dean wrote:
> >> I am attempting to rebuild nanoBSD on an AMD64 system, using the same
> >> config file I used a couple years ago on a 32-bit system.
> >> [...]
> >> /usr/home/tomdean/nanoBSD/MYKERNEL: unknown option "I486_CPU"
> >
> > It seems that the amd64 sources do not understand "cpu I486_CPU".
> > Compare to /sys/i386/conf/GENERIC and /sys/i386/conf/NOTES
> > to the respective /sys/amd64/conf/GENERIC and /sys/amd64/conf/NOTES
> > for details, especially that amd64 uses "cpu HAMMER" instead
> > of "cpu I{4/5/6}86_CPU".
> >
>
>  > cd /usr/src/sys/i386/conf
>  > grep cpu GENERIC
> cpu             I486_CPU
> cpu             I586_CPU
> cpu             I686_CPU
> device          cpufreq
>  > sudo env -i /usr/sbin/config GENERIC
>
> Must be some problem with nanobsd.sh??

INCORRECT. 

You wre building in the /usr/src/sys/amd64  tree.  See line 3 in the text
below.

Quoting 'lost context' from your original message

|| >>> stage 1: configuring the kernel
|| -------------------------------------------------------------
|| cd /usr/src/sys/amd64/conf;
|| PATH=/usr/obj/nanobsd.TS5700//usr/src/tmp/legacy/usr/sbin:/usr/obj/nanobsd.
|| TS5700//usr/src/tmp/legacy/usr/bin:/usr/obj/nanobsd.TS5700//usr/src/tmp/leg
|| acy/usr/games:/usr/obj/nanobsd.TS5700//usr/src/tmp/usr/sbin:/usr/obj/nanobs
|| d.TS5700//usr/src/tmp/usr/bin:/usr/obj/nanobsd.TS5700//usr/src/tmp/usr/game
|| s:/sbin:/bin:/usr/sbin:/usr/bin
||   config  -d /usr/obj/nanobsd.TS5700//usr/src/sys/MYKERNEL
||   /usr/home/tomdean/nanoBSD/MYKERNEL
||   /usr/home/tomdean/nanoBSD/MYKERNEL: unknown option "I486_CPU"

And, "of course"  the i486 cpu is not recognized in a '64-bit' build, since
it doesn't have the 64-bit istrution set.

An 'i386' kernel config is *NOT* necessarily valid for building on 'amd64'.
(There are numerous config choices in i386 that are not in amd64 at all, and
others that are just 'diferent'.  To make up for it, amd64 has some that are
not recognized in i386, either.)

Vetting with a 'trained eyeball -is- required to make things work when you
change between i386 and amd64 -- in either diretion.  [voice of first-hand
experience speaking.]




More information about the freebsd-questions mailing list