Port: U-Boot for BeagleBone
Warner Losh
imp at bsdimp.com
Sat May 18 11:58:54 UTC 2013
On May 17, 2013, at 11:48 PM, Adrian Chadd wrote:
> This makes it really difficult to potentially support building FreeBSD
> images on non-FreeBSD platforms.
>
> It also means that people can do things like have out of date builds
> of things like bootloaders, mkuboot/mkuzimage, etc.
>
> That's why I'm kind of a bit worried about this trend.
>
> I'm likely going to go the opposite way with my stuff. Ie, if I do
> need bootloaders and such, I'll be packaging either the source trees,
> or ports themselves, as part of the "freebsd-wifi-image" build
> environment. I'll try to reuse the port build infrastructure as much
> as possible but I won't rely on many tools and external support
> software trees that aren't in /usr/src or the build environment
> itself.
Actually the notion is that you'd always fetch the latest port/package and build/install it before moving onto the image creation phase. Things are still just as integrated, but we have a unified framework to do them that doesn't reinvent wheels (badly).
Warner
> On 17 May 2013 16:01, Tim Kientzle <kientzle at freebsd.org> wrote:
>>
>> On May 17, 2013, at 5:20 PM, Adrian Chadd wrote:
>>
>>> ... so how do I do a userland build of a bootloader? :-)
>>
>>> Does crochet have extra stuff in it to build ports with alternate
>>> roots and install-as-user options set? Or does it now require you have
>>> them installed before you can build images?
>>
>> This is still pretty experimental, so feel free to chime
>> in with better ideas.
>>
>> My thinking right now is essentially that:
>>
>> * Port/package creates /usr/local/share/u-boot/u-boot-beaglebone/<files>
>> * Crochet uses these files when it builds the image
>>
>> So yes, the port or package containing the boot bits
>> would be a prerequisite. For the interim, this is not
>> much worse than the current "you have to download
>> the source and run crochet as root."
>>
>> This is basically driven from the observation that Crochet's
>> current logic to build a boot loader contains essentially
>> the same information (place to download source, patches, etc)
>> that go into a FreeBSD port. So it avoids a chunk of duplication
>> to make the boot loader builds be ports.
>>
>> I haven't thought through the non-root build case yet:
>>
>> Obviously, once the port/package is installed, using it
>> as a non-root user is no problem. I suspect this is the
>> common case.
>>
>> Building/installing the port as a non-root user should
>> be feasible, but I haven't tinkered with that yet.
>>
>> Downloading/installing the package as a non-root user
>> may also be feasible.
>>
>> Any suggestions?
>>
>> Tim
>>
>>
>>
>>> Thanks,
>>>
>>>
>>> adrian
>>>
>>>
>>> On 17 May 2013 14:08, <gnn at freebsd.org> wrote:
>>>> At Fri, 17 May 2013 13:41:33 -0700,
>>>> hiren panchasara wrote:
>>>>>
>>>>> On Fri, May 17, 2013 at 1:22 PM, Tim Kientzle <kientzle at freebsd.org> wrote:
>>>>>> I'm trying to move the actual building of boot loaders out of Crochet and into FreeBSD ports.
>>>>>>
>>>>>> Here's the first attempt at such a port (many thanks to Diane Bruce for patiently tutoring me through this):
>>>>>>
>>>>>> http://people.freebsd.org/~kientzle/u-boot-beaglebone.tgz
>>>>>>
>>>>>> I'd appreciate any feedback:
>>>>>> * Can you build this?
>>>>>
>>>>> Yes.
>>>>>
>>>>> Its fetching things and I can see uboot generated in
>>>>> work/u-boot-2013.04/
>>>>
>>>> It claims to require a cross building compiler in /usr/obj so I'm
>>>> waiting for that to build on my laptop.
>>>>
>>>>>> * Suggestions for improving it?
>>>>>>
>>>>>> If this works, I plan to use it as a template for U-Boot for other
>>>>>> platforms (RaspberryPi, Pandaboard, etc.). Crochet would then
>>>>>> rely on these ports instead of building boot loaders itself. Even
>>>>>> better, these will eventually be built by the package system and
>>>>>> available through packages.
>>>>>
>>>>> sweet!
>>>>>
>>>>
>>>> Works for me. Thanks to both of you.
>>>>
>>>> Best,
>>>> George
>>>> _______________________________________________
>>>> freebsd-arm at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>>> _______________________________________________
>>> freebsd-arm at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>>
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
More information about the freebsd-arm
mailing list