Platform dependent locations (was Re: Building a sandboxed kernel)
R. Tyler Ballance
tyler at bleepsoft.com
Sun Jul 23 21:06:35 UTC 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> Doesn't matter.
>
> I often do the following:
>
> setenv TARGET arm # this may be iguana for you
> setenv TARGET_ARCH arm
> setenv MAKEOBJDIRPREFIX /home/imp/obj
> cd p4/imp_arm
> make buildworld
> make buildenv # from here on out is in a subshell
> cd ../arm/src/sys/arm/conf
> config KB920X
> cd ../compile/KB920X
> make depend && make
>
> You'll notice that I built in a tree that had all the arm patches
> applied, and got a 'buildenv' there, but then build the kernel out of
> a different tree. This is a -current p4 tree for both imp_arm and
> arm, but I do this on a RELENG_6 system. I've done it in the recent
> past on a 5.3 system too.
>
> TARGET is MACHINE and TARGET_ARCH is MACHINE_ARCH. MACHINE is the
> kernel architecture, while MACHINE_ARCH is the CPU architecture
> (TARGET_CPU is the specific CPU that we're optimizing for). Chances
> are excellent we'll have TARGET_ARCH armel and armeb shortly. Right
> now we have a hack ARM_BIG_ENDIAN used to control big vs little
> endian, but since MACHINE_ARCH gets encoded into packages, I think we
> need to move it there so binary packages do the right thing. But
> that's a WIP in my tree right now...
Thanks a lot! Of course, this leads to more questions on my part.
Firstly, is there an already outlined guide for porting to new
platforms? (Which is essentially what i'm doing for this project:
http://opensource.bleepsoft.com/index.php/Main/L4BSD )
Or is this something I'll get to stumble over through trial and error
with 'make buildworld; ? I'm finding all sorts of extra places where
the FreeBSD build system is expecting platform specific files for
example:
===> sys/boot/iguana (cleandir)
cd: can't cd to /usr/home/tyler/perforce/projects/l4bsd/src/sys/boot/
iguana
*** Error code 2
The problem I'm having is that I just want to build the kernel
specific to the "new platform" but will I necessarily have to provide
the proper constructs for the build system to cope with the new
"platform" in src/sys/ ?
Cheers,
- -R. Tyler Ballance
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
iD8DBQFEw+TZqO6nEJfroRsRAsWnAJ9xQlqy/DuBmR7Mhyvt4CBKQike4gCfdqzu
7OkESbLqY3i8VkzdleQ5tiU=
=8zez
-----END PGP SIGNATURE-----
More information about the freebsd-hackers
mailing list