On 6/15/14, Warner Losh <imp_at_bsdimp.com> wrote: > > On Jun 14, 2014, at 3:57 PM, Oliver Pinter <oliver.pntr_at_gmail.com> wrote: > >> On 6/13/14, John Baldwin <jhb_at_freebsd.org> wrote: >>> On Friday, June 13, 2014 6:21:28 am Oliver Pinter wrote: >>>> Hi All! >>>> >>>> When I try to build i386 kernel on amd64 host running compile error >>>> due wrong cpufunc.h picked up by build system. >>>> >>>> I used the attached script to build the kernel, and I attached a build >>>> log. >>>> >>>> Any suggestion how can I fix this? >>> >>> To build an i386 kernel on an amd64 host do this: >>> >>> cd /usr/src (or some other tree) >>> make TARGET=i386 kernel-toolchain >>> make TARGET=i386 buildkernel >>> make TARGET=i386 installkernel DESTDIR=/some/place >>> >>> And your i386 kernel will end up in /some/place/boot/kernel/kernel. >>> (You >>> can >>> set things like KERNCONF to pick an alternate kernel config just as with >>> normal 'make buildkernel'.) >>> >>> (Your attachment was size zero for me btw) >>> >>> -- >>> John Baldwin >>> >> >> I used this script to build the kernel: >> http://svnweb.freebsd.org/socsvn/soc2014/op/tools/build_kernel_32bit.csh?view=log >> >> And the error log are there: >> https://gist.github.com/opntr/cf8aa0e404c0c5ed6f90 . >> I get this error, when I first build kernel for amd64 system, and >> after that i386 kernel, and only the kernel. >> >> Now seems like I can build the whole system with buildworld >> buildkernel on vanilla master, I removed the objdir and do a clean >> buildworld. Now I test the modified kernel build, after the >> buildworld. >> >> It is broken too. When I do only make kernel-toolchain buildkernel, >> than this are broken for vanilla freebsd source and for my version to. >> >> summary: >> OK: make buildworld buildkernel >> BROKEN: make kernel-toolchain buildkernel > > On the same line? O?r is that just a summary? > >> Seems like someone in build environment bootstrapping are broken. > > I've not been able to reproduce this. > > rm -rf $OBJDIR > make TARGET=i386 kernel-toolchain > make TARGET=i386 buildkernel > > works just fine on current with a clean tree and an empty/missing make.conf > and src.conf. > > As for your script, don't define MACHINE and MACHINE_ARCH. That's almost > always wrong since that overrides things on the command line, which is what > make buildkernel winds up translating to. You never need to define those > yourself in any supported environment, and likely most unsupported ones. > > Also, I'd strongly recommend doing it as two invocations to make, not one. > kernel-toolchain likely doesn't have all the right guards in place for it > that buildworld likely does. Or you can dive in and figure that out. You > can't really do anything *kernel* related until kernel-toolchain finishes... > > Warner Warner, thanks! Splitting up to two part the build script, working fine! https://github.com/HardenedBSD/tools/blob/f98ec30cbe6f155c9f15c0d4b1ecbf74fc970e32/build_kernel_32bit.csh > > >Received on Mon Jun 16 2014 - 18:43:11 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:50 UTC