* [Buildroot] BSP patch
2007-01-28 22:18 ` Bernhard Fischer
@ 2007-01-29 0:26 ` Ulf Samuelsson
0 siblings, 0 replies; 17+ messages in thread
From: Ulf Samuelsson @ 2007-01-29 0:26 UTC (permalink / raw)
To: buildroot
> On Thu, Jan 25, 2007 at 11:44:36PM +0100, Ulf Samuelsson wrote:
>>Author: Ulf Samuelsson
>>Date: 2007-01-25
>>
Bernard, Thanks for taking your time (on a Sunday)
I really appreciate it.
>>Log:
>> Here is my suggestion for supporting different BSP's
>> in the same buildroot structure
>> Add BINARIES_DIR directory,
>> where resulting binaries can be stored
>> Typically this directory contains a subdirectory for each BSP.
>>
>> Add TARGET_BUILD_DIR directory, where BSP for different
>> boards can be built without destroying results of previous
>> builds. Typically each BSP would build in a subdirectory of
>> TARGET_BUILD_DIR
>>
>>Modified:
>> Config.in
>> Makefile
>> package/Makefile.in
>>
>>Changeset
>> Config.in
>> Makefile
>> package/Makefile.in
>>
>
>>Author: Ulf Samuelsson
>>Date: 2007-01-25
>>
>>Log:
>> Here is my suggestion for supporting different BSP's
>> in the same buildroot structure
>> Add BINARIES_DIR directory,
>> where resulting binaries can be stored
>> Typically this directory contains a subdirectory for each BSP.
>>
>> Add TARGET_BUILD_DIR directory, where BSP for different
>> boards can be built without destroying results of previous builds.
>> Typically each BSP would build in a subdirectory of TARGET_BUILD_DIR
>>
>>Modified:
>> Config.in
>> Makefile
>> package/Makefile.in
>>
>>Changeset
>> Config.in
>> Makefile
>> package/Makefile.in
>>
>>diff -urN buildroot/Config.in buildroot-atmel/Config.in
>>--- buildroot/Config.in 2007-01-25 21:58:40.000000000 +0100
>>+++ buildroot-atmel/Config.in 2007-01-25 23:34:50.000000000 +0100
>>@@ -2,6 +2,17 @@
>>
>> mainmenu "Buildroot2 Configuration"
>>
>>+config BR2_BOARDNAME
>>+ string "Boardname"
>>+ default "board"
>
> That default should be ""
I create a subdirectory under target_build named $(BR2_BOARDNAME)
so having it empty will try to create "target_build//<target_packages/"
which will be wrong.
I think it would be cool to set /etc/hostname to $(BR2_BOARDNAME)
(Part of the "local" patch)
so to be compatible, maybe it should default to "uclibc"?
> and specific target/*/* should set this, no?
Other way around, you define your board at the beginning
and target/$(BR2_BOARDNAME)/* is set.
This way, you can have two targets of the same type
for different customers.
I.E: you can build
TARGET_BUILD_ARM/customer1/...
TARGET_BUILD_ARM/customer2/...
They are both using the same target information,
but you use the .config to select different options.
(maybe different Linux Kernels)
>
> Also, please move below HAVE_DOT_CONFIG.
>
OK.
>>+ help
>>+ Name is used to define subdirectories
>>+ * where the Board Support Packages are built
>>+ (Linux,Root fs Bootmonitor,Utilities etc.)
>>+ * where the resulting binaries are stored.
>>+ Older target may still build in the build_<arch>
>>+ and store binaries in the top directory.
>>+
>> config BR2_HAVE_DOT_CONFIG
>> bool
>> default y
>>@@ -266,6 +277,7 @@
>> depends BR2_arm
>> string "Atmel AT91 Linux Patch download site"
>> default "http://maxim.org.za/AT91RM9200/2.6/"
>>+ help
>> Patches for the AT91 generated by the Linux community
>> usually ends up here, courtesy of Andrew Victor
>>
> hunk not needed anymore.
>
>>diff -urN buildroot/Makefile buildroot-atmel/Makefile
>>--- buildroot/Makefile 2007-01-25 21:05:25.000000000 +0100
>>+++ buildroot-atmel/Makefile 2007-01-25 23:36:12.000000000 +0100
>>@@ -76,12 +76,16 @@
>> TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS))
>> TARGETS_DIRCLEAN:=$(patsubst %,%-dirclean,$(TARGETS))
>>
>>-world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) $(TARGETS)
>>+world: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
>>+ $(TARGET_BUILD_DIR) $(BINARIES_DIR) \
>>+ $(TARGETS)
>>+
>> dirs: $(DL_DIR) $(BUILD_DIR) $(STAGING_DIR)
>>
>> .PHONY: all world dirs clean dirclean distclean source $(TARGETS) \
>> $(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
>>- $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR)
>>+ $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) \
>>+ $(TARGET_BUILD_DIR) $(BINARIES_DIR)
>>
>> #############################################################
>> #
>>@@ -115,6 +119,12 @@
>> -find $(TARGET_DIR) -type d -name CVS | xargs rm -rf
>> -find $(TARGET_DIR) -type d -name .svn | xargs rm -rf
>>
>>+$(TARGET_BUILD_DIR):
>>+ mkdir -p $(TARGET_BUILD_DIR)
>>+
>>+$(BINARIES_DIR):
>>+ mkdir -p $(BINARIES_DIR)
>>+
>
> an
> $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR) $(STAGING_DIR) \
> $(TARGET_BUILD_DIR) $(BINARIES_DIR):
> mkdir -p $@
>
> should do, too, i'd say. We could delete the other superfluous rules
> then.
Yes, that makes sense!
>
>> source: $(TARGETS_SOURCE)
>>
>> #############################################################
>>diff -urN buildroot/package/Makefile.in buildroot-atmel/package/Makefile.in
>>--- buildroot/package/Makefile.in 2007-01-25 21:05:25.000000000 +0100
>>+++ buildroot-atmel/package/Makefile.in 2007-01-25 23:19:11.000000000 +0100
>>@@ -42,6 +42,8 @@
>> BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)
>> TARGET_DIR:=$(BUILD_DIR)/root
>> TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)
>>+TARGET_BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)target_build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)/$(BR2_BOARDNAME)
>>+BINARIES_DIR:=$(BASE_DIR)/binaries/$(BR2_BOARDNAME)
>
> shouldn't the BINARIES_DIR rather be only visible in targets/Makefile.in
> and below? Just curious..
>
BINARIES_DIR will store
linux - built by target
u-boot - built by target
utilities - built by target
rootfs - built by target
so you are right, but then I dont understand how the Makefile system works
I thought the makefile includes everything and sets all the variables
before the rules are applied.
I put in the package/Makefile.in directory , because there is where the
other similar stuff is, and it gives you a better overview but
If you want it in the target/Makefile.in, that is no big problem.
Best Regards
Ulf Samuelsson
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-02-16 9:36 ` Bernhard Fischer
@ 2007-02-16 10:18 ` Ulf Samuelsson
0 siblings, 0 replies; 17+ messages in thread
From: Ulf Samuelsson @ 2007-02-16 10:18 UTC (permalink / raw)
To: buildroot
Any chance of having the new version reviewed soon?
Best Regards
Ulf Samuelsson
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
@ 2007-03-21 22:24 Ulf Samuelsson
2007-03-21 22:43 ` Bernhard Fischer
0 siblings, 1 reply; 17+ messages in thread
From: Ulf Samuelsson @ 2007-03-21 22:24 UTC (permalink / raw)
To: buildroot
Any chance of having this reviewed soon?
I am kinda stuck on AVR32 before that is applied.
Best Regards
Ulf Samuelsson ulf at atmel.com
Atmel Nordic AB
Mail: Box 2033, 174 02 Sundbyberg, Sweden
Visit: Kavalleriv?gen 24, 174 58 Sundbyberg, Sweden
Phone +46 (8) 441 54 22 Fax +46 (8) 441 54 29
GSM +46 (706) 22 44 57
Technical support when I am not available:
AT89 C51 Applications Group: mailto:micro.hotline at nto.atmel.com
AT90 AVR Applications Group: mailto:avr at atmel.com
AT91 ARM Applications Group: mailto:at91support at atmel.com
FPSLIC Application Group: mailto:fpslic at atmel.com Best AVR
link: www.avrfreaks.net
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-21 22:24 [Buildroot] BSP patch Ulf Samuelsson
@ 2007-03-21 22:43 ` Bernhard Fischer
2007-03-21 23:13 ` Ulf Samuelsson
2007-03-21 23:16 ` Ulf Samuelsson
0 siblings, 2 replies; 17+ messages in thread
From: Bernhard Fischer @ 2007-03-21 22:43 UTC (permalink / raw)
To: buildroot
On Wed, Mar 21, 2007 at 11:24:32PM +0100, Ulf Samuelsson wrote:
>Any chance of having this reviewed soon?
>I am kinda stuck on AVR32 before that is applied.
There was someone on irc that had an alternative approach. He said that
he'd be in contact with you to discuss both approaches. Unfortunately
this discussion didn't end up on the list.. What was the outcome of that
discussion?
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-21 22:43 ` Bernhard Fischer
@ 2007-03-21 23:13 ` Ulf Samuelsson
2007-03-22 13:26 ` Bernhard Fischer
2007-03-21 23:16 ` Ulf Samuelsson
1 sibling, 1 reply; 17+ messages in thread
From: Ulf Samuelsson @ 2007-03-21 23:13 UTC (permalink / raw)
To: buildroot
> On Wed, Mar 21, 2007 at 11:24:32PM +0100, Ulf Samuelsson wrote:
>>Any chance of having this reviewed soon?
>>I am kinda stuck on AVR32 before that is applied.
>
> There was someone on irc that had an alternative approach. He said that
> he'd be in contact with you to discuss both approaches. Unfortunately
> this discussion didn't end up on the list.. What was the outcome of that
> discussion?
>
I think you refer to the discussions I had with S?ren Straarup
It is actually not two approaches.
He wants an easy way to configure buildroot by having a set
of ".config" files and a way to select *which* config file
by doing
$ make <board>-defconfig
where the defconfig files are stored in the "configs" directory.
I actually have a "configs" directory as well in my private buildroot
but I copy stuff manually to the top level.
I think that S?ren's patch is orthogonal to my work.
The BSP patch is really there to allow two different configurations
to be built within the same buildroot directory so they can share:
* toolchain
* root file system build directory.
but have different configurations for linux kernel and busybox
and eventually you may want to have different content of the root file
system.
The solution is to create a new directory structure
target_build_<arch>/<board> where everything is built.
The patch allows pre/postfixes to this directory name.
The BSP patch also put some structure on where the result ends up.
Today everything is stored in the top directory, but if you
want to build multiple boards, then you are going to get a lot of clutter.
The BSP patch will put bootloaders, kernel and root file systems in
binaries/<board>
S?ren also would like to separate the target build from the build
of the root file system, so I think he supports this patch.
So in short, I think there is really no reason to delay either of the
patches.
Best Regards
Ulf Samuelsson
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-21 22:43 ` Bernhard Fischer
2007-03-21 23:13 ` Ulf Samuelsson
@ 2007-03-21 23:16 ` Ulf Samuelsson
2007-03-22 16:30 ` Erik Andersen
1 sibling, 1 reply; 17+ messages in thread
From: Ulf Samuelsson @ 2007-03-21 23:16 UTC (permalink / raw)
To: buildroot
> On Wed, Mar 21, 2007 at 11:24:32PM +0100, Ulf Samuelsson wrote:
>>Any chance of having this reviewed soon?
>>I am kinda stuck on AVR32 before that is applied.
>
> There was someone on irc that had an alternative approach. He said that
> he'd be in contact with you to discuss both approaches. Unfortunately
> this discussion didn't end up on the list.. What was the outcome of that
> discussion?
>
I think you refer to the discussions I had with S?ren Straarup
It is actually not two approaches.
He wants an easy way to configure buildroot by having a set
of ".config" files and a way to select *which* config file
by doing
$ make <board>-defconfig
where the defconfig files are stored in the "configs" directory.
I actually have a "configs" directory as well in my private buildroot
but I copy stuff manually to the top level.
I think that S?ren's patch is orthogonal to my work.
The BSP patch is really there to allow two different configurations
to be built within the same buildroot directory so they can share:
* toolchain
* root file system build directory.
but have different configurations for linux kernel and busybox
and eventually you may want to have different content of the root file
system.
The solution is to create a new directory structure
target_build_<arch>/<board> where everything is built.
The patch allows pre/postfixes to this directory name.
When I have time, I would like to be able to download kernel patches
to this directory instead of storing the patch in the target directory.
The current linux.mk is very limited in functionality and forces
duplication of the linux patch for each board.
I do not see why the same patch (size > 1 MB) should be stored 10 times
just because I have 10 boards.
The BSP patch also put some structure on where the result ends up.
Today everything is stored in the top directory, but if you
want to build multiple boards, then you are going to get a lot of clutter.
The BSP patch will put bootloaders, kernel and root file systems in
binaries/<board>
S?ren also would like to separate the target build from the build
of the root file system, so I think he supports this patch.
So in short, I think there is really no reason to delay either of the
patches.
Best Regards
Ulf Samuelsson
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-21 23:13 ` Ulf Samuelsson
@ 2007-03-22 13:26 ` Bernhard Fischer
2007-03-22 13:53 ` Ulf Samuelsson
2007-03-29 10:30 ` Ulf Samuelsson
0 siblings, 2 replies; 17+ messages in thread
From: Bernhard Fischer @ 2007-03-22 13:26 UTC (permalink / raw)
To: buildroot
On Thu, Mar 22, 2007 at 12:13:59AM +0100, Ulf Samuelsson wrote:
>>On Wed, Mar 21, 2007 at 11:24:32PM +0100, Ulf Samuelsson wrote:
>>>Any chance of having this reviewed soon?
>>>I am kinda stuck on AVR32 before that is applied.
>>
>>There was someone on irc that had an alternative approach. He said that
>>he'd be in contact with you to discuss both approaches. Unfortunately
>>this discussion didn't end up on the list.. What was the outcome of that
>>discussion?
>>
>
>I think you refer to the discussions I had with S?ren Straarup
>It is actually not two approaches.
[snip]
>I actually have a "configs" directory as well in my private buildroot
>but I copy stuff manually to the top level.
>I think that S?ren's patch is orthogonal to my work.
ok.
>
>The BSP patch is really there to allow two different configurations
>to be built within the same buildroot directory so they can share:
>
>* toolchain
>* root file system build directory.
>but have different configurations for linux kernel and busybox
>and eventually you may want to have different content of the root file
>system.
>
>The solution is to create a new directory structure
>target_build_<arch>/<board> where everything is built.
>The patch allows pre/postfixes to this directory name.
>
>The BSP patch also put some structure on where the result ends up.
>Today everything is stored in the top directory, but if you
>want to build multiple boards, then you are going to get a lot of clutter.
We need to better differentiate between arch and cpu (generally, not in
your board support patch).
Applying your patch now locally. Let's see..
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-22 13:26 ` Bernhard Fischer
@ 2007-03-22 13:53 ` Ulf Samuelsson
2007-03-22 16:40 ` Erik Andersen
2007-03-29 10:30 ` Ulf Samuelsson
1 sibling, 1 reply; 17+ messages in thread
From: Ulf Samuelsson @ 2007-03-22 13:53 UTC (permalink / raw)
To: buildroot
>>The BSP patch also put some structure on where the result ends up.
>>Today everything is stored in the top directory, but if you
>>want to build multiple boards, then you are going to get a lot of clutter.
>
> We need to better differentiate between arch and cpu (generally, not in
> your board support patch).
>
> Applying your patch now locally. Let's see..
>
Thank You,
So far the patch does not create anything, only defines locations.
The beef is in the patches that follows
but I plan to submit the AVR32 toolset patches first.
The idea is to avoid keeping the toolset patches
inside the buildroot,and instead download the patches
before they are applied.
Best Regards
Ulf Samuelsson
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-21 23:16 ` Ulf Samuelsson
@ 2007-03-22 16:30 ` Erik Andersen
0 siblings, 0 replies; 17+ messages in thread
From: Erik Andersen @ 2007-03-22 16:30 UTC (permalink / raw)
To: buildroot
On Thu Mar 22, 2007 at 12:16:51AM +0100, Ulf Samuelsson wrote:
> He wants an easy way to configure buildroot by having a set
> of ".config" files and a way to select *which* config file
> by doing
>
> $ make <board>-defconfig
>
> where the defconfig files are stored in the "configs" directory.
A reasonable thing I suppose.
> I actually have a "configs" directory as well in my private buildroot
> but I copy stuff manually to the top level.
> I think that S?ren's patch is orthogonal to my work.
>
>
> The BSP patch is really there to allow two different configurations
> to be built within the same buildroot directory so they can share:
>
> * toolchain
> * root file system build directory.
> but have different configurations for linux kernel and busybox
> and eventually you may want to have different content of the root file
> system.
I agree this is a desirable thing for many situations.
> The solution is to create a new directory structure
> target_build_<arch>/<board> where everything is built.
> The patch allows pre/postfixes to this directory name.
Ok
> When I have time, I would like to be able to download kernel patches
> to this directory instead of storing the patch in the target directory.
>
> The current linux.mk is very limited in functionality and forces
> duplication of the linux patch for each board.
I agree. It works, but this is a rather annoying limitation.
When a company has i.e. PRODUCT20, PRODUCT21, PRODUCT22, etc,
there is no easy way to build for all of them without doing a
lot of needless duplication.
> I do not see why the same patch (size > 1 MB) should be stored 10 times
> just because I have 10 boards.
Yes, this is a weakness that should be addressed.
> The BSP patch also put some structure on where the result ends up.
> Today everything is stored in the top directory, but if you
> want to build multiple boards, then you are going to get a lot of clutter.
>
> The BSP patch will put bootloaders, kernel and root file systems in
> binaries/<board>
>
> S?ren also would like to separate the target build from the build
> of the root file system, so I think he supports this patch.
>
>
>
> So in short, I think there is really no reason to delay either of the
> patches.
Ok.
-Erik
--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-22 13:53 ` Ulf Samuelsson
@ 2007-03-22 16:40 ` Erik Andersen
2007-03-22 17:24 ` Ulf Samuelsson
2007-04-30 13:37 ` Ulf Samuelsson
0 siblings, 2 replies; 17+ messages in thread
From: Erik Andersen @ 2007-03-22 16:40 UTC (permalink / raw)
To: buildroot
On Thu Mar 22, 2007 at 02:53:12PM +0100, Ulf Samuelsson wrote:
>
> >>The BSP patch also put some structure on where the result ends up.
> >>Today everything is stored in the top directory, but if you
> >>want to build multiple boards, then you are going to get a lot of clutter.
> >
> > We need to better differentiate between arch and cpu (generally, not in
> > your board support patch).
> >
> > Applying your patch now locally. Let's see..
> >
>
> Thank You,
>
> So far the patch does not create anything, only defines locations.
>
> The beef is in the patches that follows
> but I plan to submit the AVR32 toolset patches first.
>
> The idea is to avoid keeping the toolset patches
> inside the buildroot,and instead download the patches
> before they are applied.
Mind sharing the the next patchset with us, so we can see where
you are going with this? I do like the general idea and I
recognize the need to make changes such as you describe. But I
would like to have a chance to review the actual changes you plan
to implement should this be applied...
-Erik
--
Erik B. Andersen http://codepoet-consulting.com/
--This message was written using 73% post-consumer electrons--
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-22 16:40 ` Erik Andersen
@ 2007-03-22 17:24 ` Ulf Samuelsson
2007-04-30 13:37 ` Ulf Samuelsson
1 sibling, 0 replies; 17+ messages in thread
From: Ulf Samuelsson @ 2007-03-22 17:24 UTC (permalink / raw)
To: buildroot
----- Original Message -----
From: "Erik Andersen" <andersen@codepoet.org>
To: "Ulf Samuelsson" <ulf@atmel.com>
Cc: "Bernhard Fischer" <rep.dot.nop@gmail.com>; <buildroot@uclibc.org>
Sent: Thursday, March 22, 2007 5:40 PM
Subject: Re: [Buildroot] BSP patch
> On Thu Mar 22, 2007 at 02:53:12PM +0100, Ulf Samuelsson wrote:
>>
>> >>The BSP patch also put some structure on where the result ends up.
>> >>Today everything is stored in the top directory, but if you
>> >>want to build multiple boards, then you are going to get a lot of
>> >>clutter.
>> >
>> > We need to better differentiate between arch and cpu (generally, not in
>> > your board support patch).
>> >
>> > Applying your patch now locally. Let's see..
>> >
>>
>> Thank You,
>>
>> So far the patch does not create anything, only defines locations.
>>
>> The beef is in the patches that follows
>> but I plan to submit the AVR32 toolset patches first.
>>
>> The idea is to avoid keeping the toolset patches
>> inside the buildroot,and instead download the patches
>> before they are applied.
>
> Mind sharing the the next patchset with us, so we can see where
> you are going with this? I do like the general idea and I
> recognize the need to make changes such as you describe. But I
> would like to have a chance to review the actual changes you plan
> to implement should this be applied...
>
> -Erik
>
> --
Once the structure is available in the main buildroot,
I want to add the
target/device/Atmel/<board> directories
The Atmel directory will support building board support for
AT91 (ARM9) and AVR32 chips.
I also can build
* linux
* U-Boot
* at91-bootstrap
* dataflashboot.bin
* various download utilities
My final directory structiure, after patches, would look like
configs
toolchain
target
packages
local
doc
After configuring and running "make"
the following directories will be added:
toolchain_build_arm
toolchain_build_avr32
build_arm
build_avr32
as usual but also:
target_build_dir/<board1>
target_build_dir/<board2>
binaries/<board1>
binaries/<board2>
where <board1>, <board2> is defined as contents of $(BR2_BOARDNAME)
Note that this is separate from the board type.
If you have an AT91SAM9260EK, you should be able to build
a number of <boards> based on this platform.
Imagine a consultant which has designed a board and sells this
to 10 customers, and each customer wants to have a customized
linux kernel/u-boot/file system.
Still you want to use a common toolchain, and you do not want to
rebuild all the packages, just because you have a new configuration.
build_<arch>/packages should be reused as much as possible.
The "target_build_dir/<board>" should contain the builds of all packages
which are configurable.
Currently this is linux, u-boot and the low level boot utilities.
If it is acceptable I would like to extend that to more things.
First by moving "build_<arch>/root" to "target_build_<arch>/<board>/root.
This would allow you to have two different file systems for different
configurations.
I am not sure buildroot of today likes that you just delete the root
directory
and then start from scratch.
Ideally this should result in binaries in the build_<arch>/<package>
directories
just beeing copied to the new file system.
I do not see why I should rebuild packages over and over again.
It would be better if I could build the package only once and then
reuse it for each board.
Having a unique "root" directory, is key to better functionality.
It would be good to build busybox in target_build_<arch>/<board> as well.
Lets say you have designed a board, and then you want to try out
busybox with two different configuration files.
Today you have to build the first root file system, and then after you have
to
start from scratch. It would be much easier if you could build the busybox
separaterly for each configuration.
Basically all packages that can be configured should be in the
target_build_<arch>/<board>
Another thing I would like to add is version support.
Just because a new fancy version is available on internet
does not mean that it is really working together with
everything else in a certain file system.
Without version support, buildroot is really a toy to get started.
What you want, as a support organisation is to have supported "releases"
This means that you want to provide info allowing someone else
to follow your exact steps to build something.
This means that you want a certain version of "fileutils" etc.
If buildroot is in a continuos flux, then there is a big risk that
suddenly things do not work any longer.
As well as you have stable releases of busybox, support
organisations will have a need to provide a configuration file
which shows what they have tested.
This does not mean that it is bugfree, just that this is
what has been tested and can be supported by that organisation.
As for the question of sharing the patchset, I will need to update it,
The introduction of "linux.mk" really wrought havoc on by BSP.
I think next step (after supplying BSP) is really to make "linux.mk"
useful in a multiboard environment.
Best Regards
Ulf Samuelsson ulf at atmel.com
Atmel Nordic AB
Mail: Box 2033, 174 02 Sundbyberg, Sweden
Visit: Kavalleriv?gen 24, 174 58 Sundbyberg, Sweden
Phone +46 (8) 441 54 22 Fax +46 (8) 441 54 29
GSM +46 (706) 22 44 57
Technical support when I am not available:
AT89 C51 Applications Group: mailto:micro.hotline at nto.atmel.com
AT90 AVR Applications Group: mailto:avr at atmel.com
AT91 ARM Applications Group: mailto:at91support at atmel.com
FPSLIC Application Group: mailto:fpslic at atmel.com Best AVR
link: www.avrfreaks.net
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-22 13:26 ` Bernhard Fischer
2007-03-22 13:53 ` Ulf Samuelsson
@ 2007-03-29 10:30 ` Ulf Samuelsson
2007-04-10 12:18 ` Bernhard Fischer
1 sibling, 1 reply; 17+ messages in thread
From: Ulf Samuelsson @ 2007-03-29 10:30 UTC (permalink / raw)
To: buildroot
[snip]
>>The BSP patch is really there to allow two different configurations
>>to be built within the same buildroot directory so they can share:
>>
>>* toolchain
>>* root file system build directory.
>>but have different configurations for linux kernel and busybox
>>and eventually you may want to have different content of the root file
>>system.
>>
>>The solution is to create a new directory structure
>>target_build_<arch>/<board> where everything is built.
>>The patch allows pre/postfixes to this directory name.
>>
>>The BSP patch also put some structure on where the result ends up.
>>Today everything is stored in the top directory, but if you
>>want to build multiple boards, then you are going to get a lot of clutter.
>
> We need to better differentiate between arch and cpu (generally, not in
> your board support patch).
>
> Applying your patch now locally. Let's see..
>
Any progress?
Best Regards
Ulf Samuelsson
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-29 10:30 ` Ulf Samuelsson
@ 2007-04-10 12:18 ` Bernhard Fischer
2007-04-10 13:22 ` Ulf Samuelsson
0 siblings, 1 reply; 17+ messages in thread
From: Bernhard Fischer @ 2007-04-10 12:18 UTC (permalink / raw)
To: buildroot
On Thu, Mar 29, 2007 at 12:30:43PM +0200, Ulf Samuelsson wrote:
>[snip]
>
>>>The BSP patch is really there to allow two different configurations
>>>to be built within the same buildroot directory so they can share:
>>>
>>>* toolchain
>>>* root file system build directory.
>>>but have different configurations for linux kernel and busybox
>>>and eventually you may want to have different content of the root file
>>>system.
>>>
>>>The solution is to create a new directory structure
>>>target_build_<arch>/<board> where everything is built.
>>>The patch allows pre/postfixes to this directory name.
>>>
>>>The BSP patch also put some structure on where the result ends up.
>>>Today everything is stored in the top directory, but if you
>>>want to build multiple boards, then you are going to get a lot of clutter.
>>
>>We need to better differentiate between arch and cpu (generally, not in
>>your board support patch).
>>
>>Applying your patch now locally. Let's see..
>>
>
>Any progress?
[I've just replied to you to a privately sent message, fwiw]
random remarks:
avr32_binutils/toolchain_binutils_binutils.mk.patch
There is already a BR2_ATMEL_MIRROR in the toplevel Config.in, use that
instead.
avr32_binutils/toolchain_binutils_Config.in.patch
I won't comment on you using a deprecated version of binutils (current
release is 2.17).
Please put the !avr32 next to !nios, i.e. before the DEPRECATED.
avr32_kernel_headers/toolchain_kernel-headers_Config.in.patch
I won't comment on you using an old kernel.
Please put the !avr32 before the DEPRECATED
avr32_gcc/toolchain_gcc_Config.in.patch
Please put the !avr32 before the DEPRECATED
avr32_gcc/toolchain_gcc_4.0.2_gcc-4.0.2-atmel.0.99.2.patch.patch
4.0.2 is deprecated. The current stable release is 4.1.2, 4.0.4 was the
last release of 4.0 so far.
There are lots of changes due to RCS IDs in this patch, please drop those
parts.
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-04-10 12:18 ` Bernhard Fischer
@ 2007-04-10 13:22 ` Ulf Samuelsson
2007-04-12 11:02 ` Haavard Skinnemoen
0 siblings, 1 reply; 17+ messages in thread
From: Ulf Samuelsson @ 2007-04-10 13:22 UTC (permalink / raw)
To: buildroot
----- Original Message -----
From: "Bernhard Fischer" <rep.dot.nop@gmail.com>
To: "Ulf Samuelsson" <ulf@atmel.com>
Cc: <buildroot@uclibc.org>
Sent: Tuesday, April 10, 2007 2:18 PM
Subject: Re: [Buildroot] BSP patch
> On Thu, Mar 29, 2007 at 12:30:43PM +0200, Ulf Samuelsson wrote:
>>[snip]
>>
>>>>The BSP patch is really there to allow two different configurations
>>>>to be built within the same buildroot directory so they can share:
>>>>
>>>>* toolchain
>>>>* root file system build directory.
>>>>but have different configurations for linux kernel and busybox
>>>>and eventually you may want to have different content of the root file
>>>>system.
>>>>
>>>>The solution is to create a new directory structure
>>>>target_build_<arch>/<board> where everything is built.
>>>>The patch allows pre/postfixes to this directory name.
>>>>
>>>>The BSP patch also put some structure on where the result ends up.
>>>>Today everything is stored in the top directory, but if you
>>>>want to build multiple boards, then you are going to get a lot of clutter.
>>>
>>>We need to better differentiate between arch and cpu (generally, not in
>>>your board support patch).
>>>
>>>Applying your patch now locally. Let's see..
>>>
>>
>>Any progress?
>
> [I've just replied to you to a privately sent message, fwiw]
>
> random remarks:
> avr32_binutils/toolchain_binutils_binutils.mk.patch
> There is already a BR2_ATMEL_MIRROR in the toplevel Config.in, use that
> instead.
OK.
>
> avr32_binutils/toolchain_binutils_Config.in.patch
> I won't comment on you using a deprecated version of binutils (current
> release is 2.17).
> Please put the !avr32 next to !nios, i.e. before the DEPRECATED.
>
>
> avr32_kernel_headers/toolchain_kernel-headers_Config.in.patch
> I won't comment on you using an old kernel.
> Please put the !avr32 before the DEPRECATED
>
>
> avr32_gcc/toolchain_gcc_Config.in.patch
> Please put the !avr32 before the DEPRECATED
>
>
> avr32_gcc/toolchain_gcc_4.0.2_gcc-4.0.2-atmel.0.99.2.patch.patch
> 4.0.2 is deprecated. The current stable release is 4.1.2, 4.0.4 was the
> last release of 4.0 so far.
I know, you told me before.
And does not contain any AVR32 patches.
Everyone using the AVR32 will have to live with the 4.0.1 release
until the AVR32 team provides an updated compiler.
The only viable alternative is to not provide AVR32 support at all in buildroot.
> There are lots of changes due to RCS IDs in this patch, please drop those
> parts.
The main drwaback of that is Size, I guess.
My plan is to let buildroot download the patches instead of storing them
inside the mainstream buildroot tarball.
I have not generated those patches, and will not be able to test any modifications.
>
>
As mentioned in the other mail.
These things are just for your reference to show where I am going
and not official patch submissions.
Need to establish the framework first with the BSP patch and then
I will send in "clean" patches for submission later.
Best Regards
Ulf Samuelsson ulf at atmel.com
Atmel Nordic AB
Mail: Box 2033, 174 02 Sundbyberg, Sweden
Visit: Kavalleriv?gen 24, 174 58 Sundbyberg, Sweden
Phone +46 (8) 441 54 22 Fax +46 (8) 441 54 29
GSM +46 (706) 22 44 57
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-04-10 13:22 ` Ulf Samuelsson
@ 2007-04-12 11:02 ` Haavard Skinnemoen
0 siblings, 0 replies; 17+ messages in thread
From: Haavard Skinnemoen @ 2007-04-12 11:02 UTC (permalink / raw)
To: buildroot
On Tue, 10 Apr 2007 15:22:38 +0200
"Ulf Samuelsson" <ulf@atmel.com> wrote:
> > avr32_gcc/toolchain_gcc_4.0.2_gcc-4.0.2-atmel.0.99.2.patch.patch
> > 4.0.2 is deprecated. The current stable release is 4.1.2, 4.0.4 was the
> > last release of 4.0 so far.
>
> I know, you told me before.
> And does not contain any AVR32 patches.
> Everyone using the AVR32 will have to live with the 4.0.1 release
> until the AVR32 team provides an updated compiler.
> The only viable alternative is to not provide AVR32 support at all in buildroot.
We're currently testing binutils-2.17 and gcc-4.1.2 on avr32. I'll let
you know when we're confident that it's working properly, but at least
binutils seems to be working fine (I haven't gotten around to test gcc
myself yet.)
In the long term, we want to get support for avr32 upstream, but it
will probably take a while before we get everything sorted out.
In the mean time, you might want to check out the patches I've put up
at http://avr32linux.org/twiki/bin/view/Main/DevelopmentTools for
binutils 2.17 and gcc 4.0.4. Those are the patches I used to generate
the filesystem I'm currently using on my test system (using buildroot.)
Haavard
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
@ 2007-04-16 13:57 Ulf Samuelsson
0 siblings, 0 replies; 17+ messages in thread
From: Ulf Samuelsson @ 2007-04-16 13:57 UTC (permalink / raw)
To: buildroot
Any one able to comment
on the latest reincarnation?.
Best Regards,
Ulf Samuelsson
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Buildroot] BSP patch
2007-03-22 16:40 ` Erik Andersen
2007-03-22 17:24 ` Ulf Samuelsson
@ 2007-04-30 13:37 ` Ulf Samuelsson
1 sibling, 0 replies; 17+ messages in thread
From: Ulf Samuelsson @ 2007-04-30 13:37 UTC (permalink / raw)
To: buildroot
> On Thu Mar 22, 2007 at 02:53:12PM +0100, Ulf Samuelsson wrote:
>>
>> >>The BSP patch also put some structure on where the result ends up.
>> >>Today everything is stored in the top directory, but if you
>> >>want to build multiple boards, then you are going to get a lot of clutter.
>> >
>> > We need to better differentiate between arch and cpu (generally, not in
>> > your board support patch).
>> >
>> > Applying your patch now locally. Let's see..
>> >
>>
>> Thank You,
>>
>> So far the patch does not create anything, only defines locations.
>>
>> The beef is in the patches that follows
>> but I plan to submit the AVR32 toolset patches first.
>>
>> The idea is to avoid keeping the toolset patches
>> inside the buildroot,and instead download the patches
>> before they are applied.
>
> Mind sharing the the next patchset with us, so we can see where
> you are going with this? I do like the general idea and I
> recognize the need to make changes such as you describe. But I
> would like to have a chance to review the actual changes you plan
> to implement should this be applied...
>
> -Erik
I did send you my preliminary buildroot quite some time ago,
and published a script which downloads and build buildroot
one week ago.
This new script will build the following board:
* at91rm9200df, at91sam9260dfc, at91sam9261ek, at91sam9263ek
(Fragments of avr32 support is there but not tested lately)
Except for the root file system (in ext2/jffs2) it also builds:
* linux-2.6.20.4 now defined in target/linux/Config.in; Makefile.in
* u-boot-1.2.0
* at91bootstrap-2.3
* datflashboot-1.05
everything "configurable" or board dependent builds in the
target_build_$BR2_ARCH)/$(BR2_HOSTNAME)
(Linux/U-boot/Busybox/root/at91bootstrap/dataflashboot)
and results are published in
binaries/$(BR2_HOSTNAME)
Note that BR2_HOSTNAME is used instead of BR2_BOARD_NAME
since they refer to two different things.
You can build several versions of the same board so
you can have several .config files with a common BR2_BOARD_NAME
but BR2_HOSTNAME differs.
What else is required to move on ?
Best Regards
Ulf Samuelsson ulf at atmel.com
Atmel Nordic AB
Mail: Box 2033, 174 02 Sundbyberg, Sweden
Visit: Kavalleriv?gen 24, 174 58 Sundbyberg, Sweden
Phone +46 (8) 441 54 22 Fax +46 (8) 441 54 29
GSM +46 (706) 22 44 57
Technical support when I am not available:
AT90 AVR Applications Group: mailto:avr at atmel.com
AT91 ARM Applications Group: mailto:at91support at atmel.com
AVR32 Applications Group mailto:avr32 at atmel.com
http://www.avrfreaks.net/; http://avr32linux.org/
http://www.at91.com/ ; ftp://at91dist:distrib at 81.80.104.162/
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2007-04-30 13:37 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-21 22:24 [Buildroot] BSP patch Ulf Samuelsson
2007-03-21 22:43 ` Bernhard Fischer
2007-03-21 23:13 ` Ulf Samuelsson
2007-03-22 13:26 ` Bernhard Fischer
2007-03-22 13:53 ` Ulf Samuelsson
2007-03-22 16:40 ` Erik Andersen
2007-03-22 17:24 ` Ulf Samuelsson
2007-04-30 13:37 ` Ulf Samuelsson
2007-03-29 10:30 ` Ulf Samuelsson
2007-04-10 12:18 ` Bernhard Fischer
2007-04-10 13:22 ` Ulf Samuelsson
2007-04-12 11:02 ` Haavard Skinnemoen
2007-03-21 23:16 ` Ulf Samuelsson
2007-03-22 16:30 ` Erik Andersen
-- strict thread matches above, loose matches on Subject: below --
2007-04-16 13:57 Ulf Samuelsson
2007-02-16 0:25 [Buildroot] difference between this list and gmane? Daniel Ng
2007-02-16 9:36 ` Bernhard Fischer
2007-02-16 10:18 ` [Buildroot] BSP patch Ulf Samuelsson
2007-01-25 22:44 [Buildroot] (no subject) Ulf Samuelsson
2007-01-28 22:18 ` Bernhard Fischer
2007-01-29 0:26 ` [Buildroot] BSP patch Ulf Samuelsson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox