From: Jean-Christian de Rivaz <jc@eclis.ch>
To: buildroot@busybox.net
Subject: [Buildroot] svn commit: trunk/buildroot/target/linux
Date: Wed, 16 Apr 2008 20:22:46 +0200 [thread overview]
Message-ID: <480643F6.1070800@eclis.ch> (raw)
In-Reply-To: <065801c89fcd$c457f570$dfb5fea9@atmel.com>
Ulf Samuelsson a ?crit :
>
>> Ulf Samuelsson a ?crit :
>>>> I think that we mess with two different goals:
>>>>
>>>> 1) Allow the build to complete by not using "/tftpboot". This is really
>>>> important. As pointed many times:
>>>> - System don't have alway a /tftpboot.
>>>> - It is not alway writable by the users.
>>>> - Superuser are not alway ok to do a /tftpboot just for an application.
>>> Linux is not built by default.
>> Are you talking about the Linux kernel ? If yes, this is not true at
>> least for the at91sam9261 target.
>>
>>> If you enable Linux, then the normal build is the default.
>> Sorry, I don't understand your sentence. I make the test by using the
>> default configuration of the at91sam9261 target. What do you means by
>> "enable Linux" ?
>>
>
> The default is not when you use the make <XXX>_defconfig.
> They you are using a predefined board, and that may have
> configuration items which are different from default settings.
>
> Default is when you do the make menuconfig from scratch.
I am very surprised by this response. Users take buildroot because it
have a target (that means an XXX_defconfig) that match there board (if
it's a development kit) or that is a starting point to match there
custom board. Maintainers taking buildroot for a new target will
probably start by duplicate and modifying an existing XXX_defconfig that
there will publish for the users. Configuring from scratch can be a
painful and time consuming exercise that request knowledge in many area.
I take buildroot after some search on the internet about works related
to the AT91SAM9261 processor. The first thing I tryed have been to do a
make at91sam9261ek_deconfig and a make, just to evaluate the project
maturity. I started the make menuconfig, but frankly I was boring to
search what I should change in so many settings to get something working
while a ready to go XXX_defconfig already exists. Just an an example:
the make menuconfig have u-boot deselected by default, but without it
the at91sam9261 target failed to compile. There is many traps like this
one. It take many try an error cycle to find a good setting. I suspect
that many users are likely to prefer to start from a "make
XXX_defconfig" that just work. Anyway when a user have found a
configuration that match there needs, it will save it configuration file
and will use the menuconfig only to adjust a setting.
My point is that it's a bad idea trying to see two differents process
between the make menuconfig and the make XXX_defconfig. The two methods
should work out of the box.
>>> The problem only occurs when you do the advanced build
>>> and have the COPYTO_TFTPBOOT set.
>> Again what an "advanced build". If I wants to change the tftpboot path I
>> simply edit the .config file. This method, default config or changes
>> made by menuconfig make no difference for the Makefile.
>>
>
> "Advanced build" is a selection done in the target/linux/Config.in's.
I my test I never changed the Linux kernel configuration, only the top
level ".config". In fact I used exactly this command:
git clean -dfx && git reset --hard && git svn rebase && ( yes "" | make
at91sam9261ek_defconfig ) && mv .config .config.def && sed
's#/tftpboot#/var/lib/tftpboot#' < .config.def > .config && ( yes "" |
make )
Because on my system there is no such /tftpboot thing.
>>> There is an easy workaround, and that is to disable copying to /tftpboot if there is a problem.
>>> You can always copy manually from your BINARIES to wherever,
>>> or use the programmable COPYTO.
>> Yes, but this is not obvious from the user perspective.
>>
>
> You only need to learn once.
I have changed the sed command of the above command to this:
sed
's#/tftpboot#/var/lib/tftpboot#;s#BR2_LINUX_COPYTO_TFTPBOOT=y#BR2_LINUX_COPYTO_TFTPBOOT=n#'
< .config.def > .config
Now the build can be completed, after this 3 commands:
yes "" | make
cp -pf
project_build_arm/at91sam9261ek/linux-2.6.24.3/arch/arm/boot/uImage
project_build_arm/at91sam9261ek/linux-2.6.24.3/uImage
yes "" | make
>>> Question is how much we need to protect the user from impossible combinations.
>> As mush as possible by replacing difficult and fragile things by simple
>> and reliable ones.
>
>
>>>> - It will not work as expected in case multiple users run buildroot.
>>>> - It is the wrong path for a TFTP server in many new distributions.
>>>> So I think there is really no point to keep it (other than the effort to
>>>> change little code in target/linux/Makefile.in.advanced). All the
>>>> Makefile targets and results of the build at this stage must be only
>>>> into the buildroot user tree.
>>> The point is that it simplifies the complete build to doing "make".
>> Exactly. Currently this goal in not reach because of the hardcoded
>> /tftpboot in the Makefile.
>
> No, the Makefile is not the problem, the ".config" is the problem,
> and that is an easy fix by the user.
> Now, the build will continue if the copy fails.
Sorry but I found this way of doing thing not a clean fix, but a hack.
The problem is booth the Makefile and the ".config". The
BR2_LINUX_COPYTO_TFTPBOOT must be removed completely in a way that the
build in granted to complete whatever is set into BR2_LINUX_COPYTO. This
last one could be by default "/tftpboot" if you like and must be the
absolutely last operation of the full build process, like if the user
manually copy the result files into the TFTP server directory. Really,
BR2_LINUX_COPYTO_TFTPBOOT is a terrible bad thing that bring absolutely
no feature that can't be done by BR2_LINUX_COPYTO alone. It only make
thing confusing and error prone.
>>>> 2) Option to copy the result of the build into the TFTP server
>>>> directory. This stage simply take the result of the previous stage and
>>>> allow to have ready to go files available with the TFTP protocol at the
>>>> end of the build. Technically the best way would be to know if there is
>>>> a TFTP server installed and use the directory he serve as a default, or
>>>> to not make a copy if none is installed. As this idea seem difficult to
>>>> make, I agree that we can live with "/tftpboot" by default, even if I
>>>> suspect that "/var/lib/tftpboot" will be more and more appropriate.
>>>>
>>>> This will not solve the possibility that multiple users clash there
>>>> files into the TFTP directory, but at least this remove any possibility
>>>> that there build are broken because of a common target in there
>>>> Makefiles. Users that wants to share a common TFTP server should take
>>>> each others to agree to a directory structure into the TFTP server that
>>>> let each of them have a private space for theres files.
>>> As long as they do not use the same project name, there is no conflict.
>>> That is the purpose of the long file names.
>> Multiples users can work on the same targets.
>
> And they will have to understand the conflict and
> can use "make menuconfig" to resolve the problem.
> An easy way to do this, is to call the project:
> "Jean-Christian-at91sam9261"
> Then the binaries in will contain files like:
> "Jean-Christian-at91sam9261-linux-2.6.24.bin"
I have not tryed this, but after the build I have thoses file into the
/var/lib/tftpboot:
-rw-r--r-- 1 jcdr jcdr 553 2008-04-16 20:12 autoscript.at91sam9261ek
-rwxr-xr-x 1 jcdr jcdr 200708 2008-04-16 20:12
at91sam9261ek-u-boot-1.2.0-atmel-20080416.bin
drwxrwxrwx 2 root root 4096 2008-04-16 20:12 .
-rwxr-xr-x 1 jcdr jcdr 4100 2008-04-16 20:12
at91sam9261ek-dataflashboot-2.3.4.bin
-rw-r--r-- 1 jcdr jcdr 1611128 2008-04-16 20:17 uImage
I wonder why the "uImage" is not prefixed with a "at91sam9261ek".
--
Jean-Christian de Rivaz
next prev parent reply other threads:[~2008-04-16 18:22 UTC|newest]
Thread overview: 169+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-15 21:46 [Buildroot] svn commit: trunk/buildroot/target/linux ulf at uclibc.org
2008-04-15 22:31 ` Hamish Moffatt
2008-04-16 4:39 ` Ulf Samuelsson
2008-04-16 5:04 ` Ulf Samuelsson
2008-04-16 5:59 ` Jean-Christian de Rivaz
2008-04-16 8:25 ` Ulf Samuelsson
2008-04-16 12:30 ` Jean-Christian de Rivaz
2008-04-16 12:59 ` Ulf Samuelsson
2008-04-16 18:22 ` Jean-Christian de Rivaz [this message]
2008-04-16 19:21 ` Ulf Samuelsson
2008-04-19 13:37 ` Jean-Christian de Rivaz
2008-04-16 20:47 ` Ulf Samuelsson
2008-04-19 12:43 ` Jean-Christian de Rivaz
-- strict thread matches above, loose matches on Subject: below --
2009-02-22 10:38 jacmet at uclibc.org
2009-02-04 23:15 jacmet at uclibc.org
2009-01-26 20:17 ulf at uclibc.org
2009-01-26 20:30 ` Peter Korsgaard
2009-01-26 21:24 ` Ulf Samuelsson
2009-01-26 21:29 ` Peter Korsgaard
2009-01-26 21:35 ` Ulf Samuelsson
2009-01-26 21:48 ` Peter Korsgaard
2009-01-26 22:25 ` Ulf Samuelsson
2009-01-27 5:58 ` Peter Korsgaard
2009-01-27 12:56 ` Hamish Moffatt
2009-01-29 14:33 ` Ulf Samuelsson
2009-01-29 23:09 ` Hamish Moffatt
2009-01-29 23:37 ` Ulf Samuelsson
2009-01-29 23:47 ` Hamish Moffatt
2009-01-26 16:25 jacmet at uclibc.org
2009-01-25 23:42 ulf at uclibc.org
2009-01-25 23:14 ulf at uclibc.org
2009-01-25 21:48 ulf at uclibc.org
2009-01-25 21:54 ` Peter Korsgaard
2009-01-25 22:09 ` Ulf Samuelsson
2009-01-25 23:12 ` Markus Heidelberg
2009-01-25 23:24 ` Ulf Samuelsson
2009-01-26 5:58 ` Peter Korsgaard
2009-01-26 16:27 ` Peter Korsgaard
2009-01-26 19:28 ` Ulf Samuelsson
2009-01-26 19:30 ` Ulf Samuelsson
2009-01-26 19:39 ` Peter Korsgaard
2009-01-23 0:54 ulf at uclibc.org
2009-01-19 21:27 ulf at uclibc.org
2009-01-15 23:19 ulf at uclibc.org
2009-01-11 20:43 ulf at uclibc.org
2009-01-09 6:30 ulf at uclibc.org
2009-01-09 9:19 ` Peter Korsgaard
2009-01-09 17:40 ` Ulf Samuelsson
2009-01-13 0:05 ` Hamish Moffatt
2009-01-13 6:10 ` Hans-Christian Egtvedt
2009-01-15 22:12 ` Ulf Samuelsson
2009-01-08 22:58 ulf at uclibc.org
2009-01-09 9:17 ` Peter Korsgaard
2009-01-09 10:21 ` Thomas Petazzoni
2009-01-09 10:29 ` Bernhard Reutner-Fischer
2009-01-09 17:42 ` Ulf Samuelsson
2009-01-09 10:47 ` Peter Korsgaard
2009-01-06 23:00 ulf at uclibc.org
2009-01-06 21:42 ulf at uclibc.org
2009-01-07 6:09 ` Hans-Christian Egtvedt
2009-01-06 21:24 ulf at uclibc.org
2009-01-06 14:40 ulf at uclibc.org
2009-01-03 1:06 ulf at uclibc.org
2009-01-03 20:01 ` Peter Korsgaard
2009-01-03 19:37 ` Ulf Samuelsson
2009-01-03 21:12 ` Peter Korsgaard
2009-01-03 19:52 ` Ulf Samuelsson
2009-01-03 21:27 ` Peter Korsgaard
2009-01-03 20:59 ` Ulf Samuelsson
2008-12-20 21:45 ulf at uclibc.org
2008-12-20 21:45 ulf at uclibc.org
2008-12-20 20:57 ulf at uclibc.org
2008-12-23 9:05 ` Peter Korsgaard
2009-01-02 22:45 ` Ulf Samuelsson
2008-12-17 18:03 ulf at uclibc.org
2008-12-07 6:55 jacmet at uclibc.org
2008-11-29 21:56 ulf at uclibc.org
2008-11-30 9:51 ` Peter Korsgaard
2008-11-10 11:17 vanokuten at uclibc.org
2008-11-10 10:45 vanokuten at uclibc.org
2008-11-10 11:01 ` Bernhard Reutner-Fischer
2008-11-10 11:08 ` Ivan Kuten
2008-11-11 14:18 ` Julien Boibessot
2008-11-11 14:43 ` Bernhard Reutner-Fischer
2008-11-05 12:59 egtvedt at uclibc.org
2008-10-30 14:56 egtvedt at uclibc.org
2008-10-30 14:22 egtvedt at uclibc.org
2008-10-30 14:02 egtvedt at uclibc.org
2008-10-30 14:02 egtvedt at uclibc.org
2008-11-04 19:17 ` Thomas Petazzoni
2008-11-05 9:39 ` Hans-Christian Egtvedt
2008-11-05 12:50 ` Hans-Christian Egtvedt
2008-10-03 7:24 egtvedt at uclibc.org
2008-09-22 12:04 jacmet at uclibc.org
2008-08-23 20:25 ulf at uclibc.org
2008-07-13 6:33 jacmet at uclibc.org
2008-07-10 15:14 ulf at uclibc.org
2008-07-10 14:58 ulf at uclibc.org
2008-07-09 11:43 jacmet at uclibc.org
2008-07-03 8:15 ulf at uclibc.org
2008-05-12 21:15 ulf at uclibc.org
2008-04-16 22:54 ulf at uclibc.org
2008-04-15 17:10 ulf at uclibc.org
2008-04-15 17:43 ` Jean-Christian de Rivaz
2008-04-15 19:00 ` Ulf Samuelsson
2008-04-15 19:21 ` Jean-Christian de Rivaz
2008-04-15 19:44 ` Ulf Samuelsson
2008-04-15 21:09 ` Jean-Christian de Rivaz
2008-04-15 21:25 ` Ulf Samuelsson
2008-04-07 19:14 Samuelsson, Ulf
2008-04-06 15:28 Samuelsson, Ulf
2008-04-06 17:18 ` Peter Korsgaard
2008-04-06 12:07 Samuelsson, Ulf
2008-04-06 12:34 ` Peter Korsgaard
2008-04-06 15:25 ` Jean-Christian de Rivaz
2008-04-06 16:33 ` Nigel Kukard
[not found] ` <87iqyuu8d0.fsf@macbook.be.48ers.dk>
2008-04-07 0:29 ` Ulf Samuelsson
2008-04-07 14:01 ` Thiago A. Corrêa
2008-04-06 17:58 ` Thomas Lundquist
2008-04-06 10:32 ulf at uclibc.org
2008-04-06 10:30 nkukard at uclibc.org
2008-04-06 10:10 ulf at uclibc.org
2008-04-06 11:42 ` Peter Korsgaard
2008-04-06 10:02 ulf at uclibc.org
2008-03-31 5:42 ulf at uclibc.org
2008-04-01 11:09 ` Jean-Christian de Rivaz
2008-04-02 21:28 ` Ulf Samuelsson
2008-04-03 6:53 ` Jean-Christian de Rivaz
2008-04-04 15:24 ` Ulf Samuelsson
2008-04-02 21:28 ` Ulf Samuelsson
2008-03-30 20:22 jacmet at uclibc.org
2008-03-30 20:04 ulf at uclibc.org
2008-03-29 17:47 nkukard at uclibc.org
2008-03-21 17:57 ninevoltz at uclibc.org
2008-03-20 23:02 ulf at uclibc.org
2008-03-18 13:26 ulf at uclibc.org
2008-03-18 8:17 ulf at uclibc.org
2008-03-15 5:07 ulf at uclibc.org
2008-03-06 18:52 ninevoltz at uclibc.org
2008-01-10 9:31 ulf at uclibc.org
2007-10-18 12:37 ulf at uclibc.org
2007-10-18 11:58 ulf at uclibc.org
2007-10-13 23:07 ulf at uclibc.org
2007-10-13 18:37 ulf at uclibc.org
2007-09-29 16:38 aldot at uclibc.org
2007-09-26 23:21 ulf at uclibc.org
2007-09-23 9:58 ulf at uclibc.org
2007-09-23 11:13 ` Bernhard Fischer
2007-09-23 14:20 ` Ulf Samuelsson
2007-09-22 17:30 aldot at uclibc.org
2007-09-18 17:10 aldot at uclibc.org
2007-09-18 21:08 ` Ulf Samuelsson
2007-09-19 8:03 ` Bernhard Fischer
2007-09-19 21:46 ` Ulf Samuelsson
2007-09-19 21:18 ` Bernhard Fischer
2007-09-20 17:33 ` Ulf Samuelsson
2007-09-20 16:00 ` Bernhard Fischer
2007-09-05 6:48 ulf at uclibc.org
2007-09-04 21:24 aldot at uclibc.org
2007-08-21 13:21 aldot at uclibc.org
2007-08-21 13:29 ` Ulf Samuelsson
2007-08-19 22:30 ulf at uclibc.org
2007-08-19 22:28 ulf at uclibc.org
2007-08-01 11:52 ulf at uclibc.org
2007-07-23 14:43 aldot at uclibc.org
2007-07-20 7:43 ulf at uclibc.org
2007-07-17 13:28 sjhill at uclibc.org
2007-07-17 0:20 sjhill at uclibc.org
2007-07-11 14:42 ulf at uclibc.org
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=480643F6.1070800@eclis.ch \
--to=jc@eclis.ch \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox