From owner-freebsd-arm@FreeBSD.ORG Tue Aug 19 15:34:41 2008 Return-Path: Delivered-To: freebsd-arm@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 145E5106567C for ; Tue, 19 Aug 2008 15:34:41 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id BB9A28FC23 for ; Tue, 19 Aug 2008 15:34:40 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m7JFY7RD083919; Tue, 19 Aug 2008 09:34:07 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 19 Aug 2008 09:34:07 -0600 (MDT) Message-Id: <20080819.093407.48484448.imp@bsdimp.com> To: stma@antcor.com From: Warner Losh In-Reply-To: <1219156386.3791.6.camel@Hellboy> References: <1219154042.6821.27.camel@Hellboy> <20080819.081737.-625041569.imp@bsdimp.com> <1219156386.3791.6.camel@Hellboy> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: freebsd-arm@FreeBSD.org Subject: Re: how to build root filesystem for ixp425 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Aug 2008 15:34:41 -0000 Hey > Hi, > > On Tue, 2008-08-19 at 08:17 -0600, M. Warner Losh wrote: > > > In message: <1219154042.6821.27.camel@Hellboy> > > Stavros Markou writes: > > : Hi, > > : First of all thanks for your help. > > : I don't have setenv (BTW do you know what package do i have to install > > : in order to have it) > > > > setenv is a builtin for /bin/tcsh. If you are using /bin/sh, then you > > are correct that you need export. > > > > >>>>> Export does the job as i see it when i give the set command (all > variables seem to be well-set). Yes. Just a different notation than I documented... > > : installed on my freebsd system so i followed your > > : advice and did : > > : export TARGET=arm > > : export TARGET_BIG_ENDIAN=t > > : export TARGET_CPUTYPE=xscale > > : (I am using bash shell) > > : Target Arch is set correctly (arm) and BUILD_ARCH is i386, so i get the > > : error about cross-build and the TARGET_ARCH set. > > > > That is odd. What does your environment look like? > > > > > >>>>> Meaning ? I am working on an a checked out src from freebsd.org > cvs : TAG : RELENG_7 > > > : What release are you using for your build? > > > > I'm using the head of the FreeBSD development branch (aka > > FreeBSD-current). I've also done this on 7.x stable at least once. > > And did it all the time on 6.x for a little endian ARM processor. > > >>> I want to build a filesystem for ixp425 which is big endian > processor. What i don't understand is if a cross-compiler must be > invoked during the process of the make buildworld or not. > If you set the TARGET_BIG_ENDIAN env then i believe and correct me if i > am wrong the -mbig-endian which applies only to arm cross-compiler. Is > this right ? > > > > > > > : If i am building a distro on > > : an i386 machine for ixp425 (arm) what are the values for TARGET, > > : TARGET_ARCH BUILD_ARCH and why can't i build the distro with the values > > : i am setting (TARGET=arm, TARGET_ARCH=arm, TARGET? > > > > What does the output of 'sh' say? Do you set any of these variables > > in /etc/make.conf? > > > > >>>>> I have inside this MACHINE=arm, MACHINE_ARCH=arm, > > TARGET_ARCH=arm At the very least, remove the first two. I'd even consider removing the TARGET_ARCH and making sure it is set in your enviornment. The first two are causing your problem. Warner > > Warner > > > > > > : Best Regards, > > : > > : Stavros. > > : > > : On Tue, 2008-08-19 at 07:24 -0600, M. Warner Losh wrote: > > : > > : > In message: <1219135149.6821.5.camel@Hellboy> > > : > Stavros Markou writes: > > : > : Hi, > > : > : Is there anyone form the developers-authors of the Makefile.inc1 file > > : > : who can explain to me the below : > > : > : > > : > : I don't understand the check about BUILD_ARCH and TARGET_ARCH or for > > : > : that matter MACHINE_ARCH. > > : > : I think, and let me know if i am wrong, that BUILD_ARCH must be whatever > > : > : is the ARCH of the Host system. If i am right on this then why there is > > : > : this check inside Makefile.inc1 : > > : > : > > : > : if ${MACHINE_ARCH) != ${BUILD_ARCH} > > : > : .error To cross-build, set TARGET_ARCH. > > : > : .endif > > : > : > > : > : In my case BUILD_ARCH is i386 and as it is supposed to be (?) > > : > : TARGET_ARCH=arm. > > : > : -mbig-endian option does not apply to i386 gcc only to arm cross > > : > : compiler. > > : > > > : > setenv TARGET arm > > : > setenv TARGET_BIG_ENDIAN t > > : > > > : > is all you need. MACHINE_ARCH is the machine you are building on very > > : > early in the build. It is soon set to TARGET_ARCH. BUILD_ARCH > > : > retains the initial value of MACHINE_ARCH. This check makes sure that > > : > you set TARGET correctly (which causes TARGET_ARCH to be set to the > > : > right value). > > : > > > : > You can see my blog for complete instructions that work back on both > > : > 7.x and -current (except for the NSLU part): > > : > > > : > http://bsdimp.blogspot.com/2008/08/nslu2-support-committed-to-freebsdarm.html > > : > > > : > This was how I built NFS root for my NSLU2. Earlier posts talk about > > : > how to build root on a CF. I made one small correction... > > : > > > : > Warner > > : > > > : > > > : > : Best Regards, > > : > : > > : > : Stavros. > > : > : > > : > : On Mon, 2008-08-18 at 17:37 +0200, John Hay wrote: > > : > : > > : > : > On Mon, Aug 18, 2008 at 03:54:03PM +0300, Stavros Markou wrote: > > : > : > > Hi, > > : > : > > > > : > : > > You are using this script with which release of FreeBSD ? In order to > > : > : > > use this script do you set as tools the cross tools or native i386 (or > > : > : > > any other host arch) ? > > : > : > > > : > : > I do not need to set anything else for it to work. I do sometimes > > : > : > set things like NO_PROFILE, but that is only to speed things up. It > > : > : > will build the crosstools by itself as needed. You only need a checked > > : > : > out /usr/src tree. The box(es) I run this on are i386 boxes. > > : > : > > > : > : > Just to check, I started the buildworld line (the first one) on my > > : > : > home box, which is running 7-stable from Aug 17, and it fired up > > : > : > without a problem... It will take a while to finish though, but I do > > : > : > not forsee a problem. I'll send you an email if it does not finish. > > : > : > > > : > : > > I am using currently 7.0 release p2 and i cannot pass the error with > > : > : > > cross build (keeps telling me to set TARGET_ARCH but it is already set > > : > : > > by me as a command-line option of the make) > > : > : > > > : > : > I mostly do this on 7-stable, sorry I rarely run releases and never pX > > : > : > releases. I also often do it on current and it has been a while since > > : > : > I have done it on 6-stable. > > : > : > > > : > : > Thinking about it, maybe you should remove all your env settings, > > : > : > and then try just that buildworld line of mine. If that does not work, > > : > : > clean out your /usr/obj and usr/src directories and get a new copy of > > : > : > /usr/src and try again. If it then still do not work, show us the > > : > : > error message. > > : > : > > > : > : > > On Mon, 2008-08-18 at 14:49 +0200, John Hay wrote: > > : > : > > > > : > : > > > On Mon, Aug 18, 2008 at 11:42:26AM +0300, Stavros Markou wrote: > > : > : > > > > Hi, > > : > : > > > > > > : > : > > > > I am trying to build a root filesystem using the mini guide at > > : > : > > > > http://people.freebsd.org/~cognet/freebsd_arm.txt but with no luck for > > : > : > > > > IXP425. Just to clarify some things : > > : > : > > > > > > : > : > > > > When i am doing a buildworld inside /usr/src all these env variables > > : > : > > > > inside the mini guide must be exported ? > > : > : > > > > What about BUILD_ARCH ? By default i am building a filesystem at a i386 > > : > : > > > > machine so BUILD_ARCH has the i386 value. > > : > : > > > > > > : > : > > > > I am using Freebsd 7.0 and i also have seen the wiki for AVILA but i got > > : > : > > > > the same Makefile.inc1 error for setting TARGET_ARCH (even though i am > > : > : > > > > setting TARGET_ARCH=arm) > > : > : > > > > I have build the kernel which is loaded fine but when the root > > : > : > > > > filesystem is mounted via NFS i get : exec /sbin/init : error 8 , so i > > : > : > > > > think that maybe the root filesystem i 've built is not right. > > : > : > > > > > : > : > > > My script do this: > > : > : > > > > > : > : > > > rm -rf /armdist > > : > : > > > chflags -R 0 /armdist > > : > : > > > rm -rf /armdist > > : > : > > > mkdir /armdist > > : > : > > > make TARGET_ARCH=arm TARGET_CPUTYPE=xscale TARGET_BIG_ENDIAN=true buildworld > > : > : > > > make TARGET_ARCH=arm TARGET_CPUTYPE=xscale TARGET_BIG_ENDIAN=true DESTDIR=/armdist installworld > > : > : > > > make TARGET_ARCH=arm TARGET_CPUTYPE=xscale TARGET_BIG_ENDIAN=true DESTDIR=/armdist distribution > > : > : > > > > > : > : > > > John > > : > : > > > : > : > John > > : > : > > : > : Stavros Markou > > : > : Senior Software Engineer > > : > : ANTCOR S.A. > > : > : Email: mailto:stma@antcor.com > > : > : Phone: +30 210 52 22 290 > > : > : Fax: +30 210 52 22 254 > > : > : Address: 52 Ag. Konstantinou, Athens 10437, GREECE > > : > : > > : > > : Stavros Markou > > : Senior Software Engineer > > : ANTCOR S.A. > > : Email: mailto:stma@antcor.com > > : Phone: +30 210 52 22 290 > > : Fax: +30 210 52 22 254 > > : Address: 52 Ag. Konstantinou, Athens 10437, GREECE > > : > > Stavros Markou > Senior Software Engineer > ANTCOR S.A. > Email: mailto:stma@antcor.com > Phone: +30 210 52 22 290 > Fax: +30 210 52 22 254 > Address: 52 Ag. Konstantinou, Athens 10437, GREECE >