In message: <[EMAIL PROTECTED]>
            "R. Tyler Ballance" <[EMAIL PROTECTED]> writes:
: -----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?

Sadly, no.  At the moment one needs to learn by doing....

: (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/ ?

Yes.  However, there may be ways to improve the build infrastructure
to make more things optional, like src/sys/boot/$MACHINE...

Warner
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to