From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Mon, 11 Aug 2014 16:15:56 -0600 Subject: [U-Boot] [PATCH 1/3] config: introduce a generic $bootcmd In-Reply-To: <20140811191921.GT19374@bill-the-cat> References: <53E4F400.6060508@wwwdotorg.org> <53E63816.60703@redhat.com> <53E6A3FE.6080807@myspectrum.nl> <53E6E2D0.7090303@wwwdotorg.org> <53E7A3A2.80707@myspectrum.nl> <53E8F50A.1060606@wwwdotorg.org> <53E90294.7060604@myspectrum.nl> <53E905AC.9050903@wwwdotorg.org> <53E90E90.4020204@myspectrum.nl> <53E911AF.4080908@wwwdotorg.org> <20140811191921.GT19374@bill-the-cat> Message-ID: <53E9409C.6010203@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 08/11/2014 01:19 PM, Tom Rini wrote: > On Mon, Aug 11, 2014 at 12:55:43PM -0600, Stephen Warren wrote: >> On 08/11/2014 12:42 PM, Jeroen Hofstee wrote: >>> Hello Stephen. >>> >>> On 11-08-14 20:04, Stephen Warren wrote: >>>> On 08/11/2014 11:51 AM, Jeroen Hofstee wrote: >>>>> Hello Stephan >>>>> >>>>> On 11-08-14 18:53, Stephen Warren wrote: >>>>>> On 08/10/2014 10:53 AM, Jeroen Hofstee wrote: >>>>>>> Hello Stephan, >>>>>>> >>>>>>> On 10-08-14 05:11, Stephen Warren wrote: >>>>>>>> The entire point of this series is to prevent distros from having to >>>>>>>> install bootloader-specific boot configuration files. >>>>>>> >>>>>>> I fail to see why this is something to pursue. Since the distro knows >>>>>>> the boot path, why should u-boot be polling all possible options? >>>>>> >>>>>> This patch series allows U-Boot to find the OS and boot it. U-Boot is >>>>>> searching for some kind of boot configuration file. >>>>>> >>>>>> This part of the process is the same as the BIOS searching all known >>>>>> possible boot devices for a partition marked bootable, and with a >>>>>> valid MBR. Or, it's the same as UEFI searching all possible boot >>>>>> devices for whatever config file or boot binary is mandated by UEFI. >>>>> >>>>> Not in my mind, I am not against scanning the possible >>>>> boot devices, on the contrary, I am trying to add booting >>>>> the userland from usb instead of mmc for the rpi_b. >>>> >>>> The following will tell U-Boot to only search USB for extlinux.conf. >>>> >>>> setenv boot_targets usb >>>> >>>> (you can put this into /uEnv.txt on the SD card if you want to avoid >>>> editing U-Boot source code to make this change; there's no persistent >>>> environment storage on the Pi, at least at the moment) >>>> >>> >>> I am going to give up soon commenting on this. It is >>> applied anyway. My point is that I am making an image >>> without an extlinux.conf, I know that, I could tell it in a >>> boot.scr but yet this scripts now insist on searching for >>> extlinux.conf. >> >> That's because you are an individual crafting your own installation >> manually. The whole point of this feature is to allow distros to be >> completely generic, i.e. they work in the exact same way on all HW >> (that supports this feature, which hopefully will be most ARM boards >> soon...). > > I suspect the problem here is that you're mentally thinking "... Linux > ..." and Jeroen's use case is mainly "... Not Linux ...". > > So this is a step in the right direction, which is why I applied it, but > it may need a little tweaking to make it less noisy to support *BSD or > VxWorks or ..., which are real users out there for U-Boot and we don't > want to forget them. FWIW, it'd be easy enough to add an extra for loop into $scan_dev_for_boot so that rather than hard-coding scanning for extlinux first, then scanning for boot.scr, it was configurable the set and/or order it tried them. The user could then edit this in the environment. Just like $bootcmd reads the set of devices from a variable. One could even have a few more defines feed into config_distro_defaults.h that define which types to support, so you could completely remove e.g. extlinux.conf searching from some board configurations if you really wanted, although I think it'd be best to just leave all the options available everywhere, at least until the time when we add some third option that's not generally applicable.