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-02 21:28 ` Ulf Samuelsson
2008-04-03 6:53 ` Jean-Christian de Rivaz
2008-04-04 15:24 ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.