Re: cross-compiling kernel

2017-08-07 Thread Riccardo Mottola

Hi,

Valery Ushakov wrote:

Is building an x86 a "full cross compile"? I suppose yes and I
>followef the NetBSD build for sparc, just with x86.

Yes, it's full cross compilation.




Fine, I followed this:

https://www.netbsd.org/docs/guide/en/chap-build.html

just with"i386" instead of sparc64

Also, it is not that different from what you and Maya suggested.

I just update cvs src and then retried.. and now it apparently worked.
It is compiling... now I only need to be patient to the kernel :)


RIccardo






Re: cross-compiling kernel

2017-08-06 Thread Riccardo Mottola

Hi,

Valery Ushakov wrote:

This is strange.  Anything in your /etc/mk.conf or environment?  You
can look at the /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmake-i386
make wrapper script and check what does it set TOOLDIR too.


I have this in mk.conf :

CFLAGS+= -march=core2
CXXFLcoAGS  += -march=core2
MAKE_JOBS  = 3

could this affect cross-compilation? I hope not.
What should build my 486 gcc? I suppose the run of "./build.sh -U -m 
i386 -u tools ", or not?


Riccardo


Re: cross-compiling kernel

2017-08-04 Thread Valery Ushakov
On Fri, Aug 04, 2017 at 14:18:36 +0200, Riccardo Mottola wrote:

> Is building an x86 a "full cross compile"? I suppose yes and I
> followef the NetBSD build for sparc, just with x86.

Yes, it's full cross compilation.


> I want to use the standard kernel GENERIC, thus I did:
> 
> ./build.sh -U -m i386 -u tools
> 
> I don't get a full x86 toolchain though, in /usr/obj I find:
> $ ls /usr/obj/
> sys tools
> tooldir.NetBSD-8.99.1-amd64
> 
> I expected instead something like:
> /usr/obj/tooldir.NetBSD-8.99.1-i386
[...]
> ===> TOOLDIR path: /usr/src/obj/tooldir.NetBSD-8.99.1-amd64
[...]
> so it is expected apparently.

TOOLDIR defaults to tooldir.${host_ostype}, so it reflects your os.


> although I find inside multiple binaries, e.g. :
> /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmake
> /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmake-amd64
> /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmake-i386
> 
> I thus tried:
> $ /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmake-i386 depend
> 
> but this fails:
> /usr/src/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbgenassym:
> /usr/src/obj/tooldir.NetBSD-8.99.1-amd64/bin/i486--netbsdelf-gcc: not found
> 
> I have several i486 tools, but not all:
> /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/i486--netbsdelf-dbsym
> /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/i486--netbsdelf-fdisk
> /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/i486--netbsdelf-install
> /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/i486--netbsdelf-mdsetimage

This is strange.  Anything in your /etc/mk.conf or environment?  You
can look at the /usr/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmake-i386
make wrapper script and check what does it set TOOLDIR too.

-uwe


Re: cross-compiling kernel

2017-08-04 Thread Riccardo Mottola

Hi,

co...@sdf.org wrote:

./build.sh -U -u -m i386 kernel=CONFNAME doesn't work?


no it doesn't work: it fails with the same issue of nbmake-i386 depend: 
it wants an i486 gcc!


Should I have it? should it have been built by the official amd64 tools 
or the i386 tools I tried to build?


disc$ ./build.sh -U -u -m i386 kernel=GENERIC
===> build.sh command:./build.sh -U -u -m i386 kernel=GENERIC
===> build.sh started:Fri Aug  4 19:42:34 CEST 2017
===> NetBSD version:  8.99.1
===> MACHINE: i386
===> MACHINE_ARCH:i386
===> Build platform:  NetBSD 8.99.1 amd64
===> HOST_SH: /bin/sh
===> MAKECONF file:   /etc/mk.conf
#objdir  /usr/obj/
===> TOOLDIR path: /usr/src/obj/tooldir.NetBSD-8.99.1-amd64
===> DESTDIR path:/usr/src/obj/destdir.i386
===> RELEASEDIR path: /usr/src/obj/releasedir
===> Updated makewrapper: 
/usr/src/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmake-i386

===> Building kernel without building new tools
#objdir  /usr/obj/sys/arch/i386/compile
===> Building kernel: GENERIC
===> Build directory: /usr/src/sys/arch/i386/compile/obj/GENERIC
Build directory is /usr/src/sys/arch/i386/compile/obj/GENERIC
Don't forget to run "make depend"
depending the kern library objects
#create  kern/__main.d
CC=/usr/src/obj/tooldir.NetBSD-8.99.1-amd64/bin/i486--netbsdelf-gcc 
/usr/src/obj/tooldir.NetBSD-8.99.1-amd64/bin/nbmkdep -f __main.d.tmp  
--   -std=gnu99   --sysroot=/usr/src/obj/destdir.i386 
-I/usr/src/sys/lib/libkern/arch/i386 --sysroot=/usr/src/obj/destdir.i386 
-Di386 -I../../. -I/usr/src/sys/external/bsd/acpica/dist 
-I/usr/src/sys/../common/lib/libx86emu -I/usr/src/sys/../common/include 
-I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DDIAGNOSTIC -D_KERNEL 
-D_KERNEL_OPT -std=gnu99 
-I/usr/src/sys/lib/libkern/../../../common/lib/libc/quad 
-I/usr/src/sys/lib/libkern/../../../common/lib/libc/string 
-I/usr/src/sys/lib/libkern/../../../common/lib/libc/arch/i386/string 
-D_FORTIFY_SOURCE=2 -I/usr/src/sys/external/bsd/ipf 
-I/usr/src/sys/external/isc/atheros_hal/dist 
-I/usr/src/sys/external/isc/atheros_hal/ic 
-I/usr/src/sys/external/bsd/common/include 
-I/usr/src/sys/external/bsd/drm2/include 
-I/usr/src/sys/external/bsd/common/include 
-I/usr/src/sys/external/bsd/drm2/include 
-I/usr/src/sys/external/bsd/drm2/include/drm 
-I/usr/src/sys/external/bsd/drm2/dist 
-I/usr/src/sys/external/bsd/drm2/dist/include 
-I/usr/src/sys/external/bsd/drm2/dist/include/drm 
-I/usr/src/sys/external/bsd/drm2/dist/uapi 
-I/usr/src/sys/external/bsd/common/include -D__KERNEL__ -DCONFIG_FB=0 
-DCONFIG_BACKLIGHT_CLASS_DEVICE=0 
-DCONFIG_BACKLIGHT_CLASS_DEVICE_MODULE=0 
-I/usr/src/sys/../common/include -DCONFIG_AGP 
-I/usr/src/sys/external/bsd/drm2/dist/drm/i915 
-I/usr/src/sys/external/bsd/drm2/i915drm -DCONFIG_DRM_I915_FBDEV=1 
-DCONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT=0 
-I/usr/src/sys/external/bsd/drm2/dist/drm/radeon 
-I/usr/src/sys/external/bsd/drm2/include/radeon 
-I/usr/src/sys/external/bsd/drm2/radeon 
-I/usr/src/sys/external/bsd/drm2/dist/drm/nouveau 
-I/usr/src/sys/external/bsd/drm2/dist/drm/nouveau/core 
-I/usr/src/sys/external/bsd/drm2/dist/drm/nouveau/core/include 
-I/usr/src/sys/external/bsd/drm2/nouveau -DCONFIG_NOUVEAU_DEBUG=5 
-DCONFIG_NOUVEAU_DEBUG_DEFAULT=3 
-I/usr/src/sys/external/bsd/acpica/dist/include 
-I/usr/src/sys/lib/libkern/../../../common/lib/libc/quad 
-I/usr/src/sys/lib/libkern/../../../common/lib/libc/string 
-I/usr/src/sys/lib/libkern/../../../common/lib/libc/arch/i386/string 
-I/usr/src/sys/lib/libkern/../../../common/include 
/usr/src/sys/lib/libkern/__main.c &&  mv __main.d.tmp __main.d
nbmkdep: 
/usr/src/obj/tooldir.NetBSD-8.99.1-amd64/bin/i486--netbsdelf-gcc: not 
found: No such file or directory




Re: cross-compiling kernel

2017-08-04 Thread coypu
./build.sh -U -u -m i386 kernel=CONFNAME doesn't work?