[Buildroot] svn commit: trunk/buildroot/target/linux
Jean-Christian de Rivaz
jc at eclis.ch
Wed Apr 16 12:30:52 UTC 2008
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 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.
> 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.
> 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.
>> 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.
--
Jean-Christian de Rivaz
More information about the buildroot
mailing list