From owner-freebsd-arm@FreeBSD.ORG Tue Mar 17 18:34:42 2015 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7E52A3A9 for ; Tue, 17 Mar 2015 18:34:42 +0000 (UTC) Received: from relay.mailchannels.net (nov-007-i627.relay.mailchannels.net [46.232.183.181]) by mx1.freebsd.org (Postfix) with ESMTP id 1790E6D7 for ; Tue, 17 Mar 2015 18:34:38 +0000 (UTC) X-Sender-Id: duocircle|x-authuser|hippie Received: from smtp5.ore.mailhop.org (ip-10-204-4-183.us-west-2.compute.internal [10.204.4.183]) by relay.mailchannels.net (Postfix) with ESMTPA id 91BBD120541; Tue, 17 Mar 2015 18:34:25 +0000 (UTC) X-Sender-Id: duocircle|x-authuser|hippie Received: from smtp5.ore.mailhop.org (smtp5.ore.mailhop.org [10.21.145.197]) (using TLSv1 with cipher DHE-RSA-AES256-SHA) by 0.0.0.0:2500 (trex/5.4.8); Tue, 17 Mar 2015 18:34:28 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: duocircle|x-authuser|hippie X-MailChannels-Auth-Id: duocircle X-MC-Loop-Signature: 1426617268745:2757642041 X-MC-Ingress-Time: 1426617268745 Received: from c-73-34-117-227.hsd1.co.comcast.net ([73.34.117.227] helo=ilsoft.org) by smtp5.ore.mailhop.org with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1YXwJq-0006Jy-6x; Tue, 17 Mar 2015 18:34:22 +0000 Received: from revolution.hippie.lan (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t2HIYJaA026095; Tue, 17 Mar 2015 12:34:19 -0600 (MDT) (envelope-from ian@freebsd.org) X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX1/IF2XQQP15Bh/6OdfW24qX Message-ID: <1426617259.62241.3.camel@freebsd.org> Subject: Re: How to use u-boot-beaglebone port? From: Ian Lepore To: Paul Mather Date: Tue, 17 Mar 2015 12:34:19 -0600 In-Reply-To: References: <17B779D7-2962-4455-9062-51411F316648@gromit.dlib.vt.edu> <986F5E5D-C784-4BEF-81E3-49A9F27C0E8F@kientzle.com> <1426534773.95554.15.camel@freebsd.org> <1426607993.25614.9.camel@freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.12.10 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-AuthUser: hippie Cc: Tim Kientzle , freebsd-arm X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Mar 2015 18:34:42 -0000 On Tue, 2015-03-17 at 14:21 -0400, Paul Mather wrote: > On Mar 17, 2015, at 11:59 AM, Ian Lepore wrote: > > > On Tue, 2015-03-17 at 09:55 -0400, Paul Mather wrote: > >> On Mar 16, 2015, at 3:39 PM, Ian Lepore wrote: > >> > >>> On Sun, 2015-03-15 at 19:57 -0700, Tim Kientzle wrote: > >>>>> On Mar 12, 2015, at 5:59 PM, Paul Mather wrote: > >>>>> > >>>>> Has anyone successfully used the sysutils/u-boot-beaglebone port? > >>>>> > >>>>> I managed to build [1] and install it today. I tried to install it to the SD card FAT partition, as per the README, and the result was an unbootable system. > >>>>> > >>>>> When I copied the u-boot.img file as u-boot.img (rather than the bb-uboot.img as suggested in the README), I got it to start up to the "U-Boot#" prompt. > >>>> > >>>> > >>>> Apparently, no one ever patched the port to use bb-uboot.img and bb-ubldr > >>>> as the name. > >>>> > >>>> I did this in Crochet when I was experimenting with having multiple > >>>> U-Boots on a single SD card image. That experiment was to try > >>>> to see what would be required to build single images that booted on > >>>> multiple different devices. > >>>> > >>> > >>> When I created the u-boot-beaglebone port I specifically removed that > >>> bb- prefix stuff, because there will never be a unified image that runs > >>> on both rpi and beaglebone [*]. I had hoped someone would update > >>> crochet to use the new ports and this is one of the minor changes that > >>> would be needed on the crochet side. > >>> > >>> -- Ian > >>> > >>> [*] Because armv6 != armv7 in this case. While armv6 is synonymous with > >>> armv7 for most purposes in freebsd, the rpi is the exception to that in > >>> that it really IS armv6, and that leads to the kernel being built with > >>> different cache maintenance routines that don't work on armv7. > >> > >> > >> Does the sysutils/u-boot-beaglebone boot the BeagleBone Black for you? As I reported earlier in the start to this thread, I can't get it to boot the system for me. > >> > >> I've copied MLO, u-boot.img, and /boot/ubldr to the FAT partition, but I just get to where U-Boot loads ubldr and then pauses before starting over again in a loop. > >> > >> Are there some other files that need to be copied to the FAT partition, or are those three files, plus the defaults compiled into u-boot.img sufficient to boot the BeagleBone Black from SD card? > >> > >> Cheers, > >> > >> Paul. > > > > Yep, it works for me on BBW and BBB. The only time I've seen a totally > > silent lockup like that is when the loadaddr variable in the uboot env > > didn't match the UBLDR_LOADADDR value when ubldr was compiled. For BB, > > those values are usually 0x88000000, iirc. If you do a "readelf -a > > ubldr" on your build system you should see a line like > > > > Entry point address: 0x88000074 > > > > and whatever it is should be your uboot loadaddr + 0x74. > > My current /boot/ubldr entry point address appears to be 0x1000074, which seems to be derived from the default set in /usr/src/sys/boot/arm/uboot/Makefile. > > What would I need to put in uEnv.txt to get such a ubldr to boot via the sysutils/u-boot-beaglebone port files? Would I just need to have the single line "loadaddr=1000000" in uEnv.txt, or would I have to reproduce the whole environment embedded into u-boot.img? (Do the settings in uEnv.txt replace entirely those in u-boot.img?) > > > You should only need MLO, u-boot.img, and ubldr on the fat partition. > > (There is an optional uEnv.txt that can be there, but it's not required > > to boot.) > > It looks like your supposition above is correct and a mis-matching loadaddr variable is likely to blame. > > Is a loadaddr of 0x1000000 correct for a BBB? > > Cheers, > > Paul. The address is a physical ram address, so you can't just make up any number -- there has to be actual ram at that address on the board, and the address must not conflict with where u-boot itself is loaded and where the kernel will be loaded. I think the BB ram starts at 0x80000000, so 0x10000000 won't work. The right fix would be to recompile ubldr with UBLDR_LOADADDR set to 0x88000000. -- Ian