[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