From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Mon, 28 Apr 2014 21:45:16 +0200 Subject: [Buildroot] [PATCH 8/9] boot/syslinux: add option to install the EFI image In-Reply-To: <535EA927.3080701@mind.be> References: <535DF2CD.3000100@mind.be> <20140428171514.GA3501@free.fr> <535EA927.3080701@mind.be> Message-ID: <20140428194516.GF3501@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Arnout, All, On 2014-04-28 21:16 +0200, Arnout Vandecappelle spake thusly: > On 28/04/14 19:15, Yann E. MORIN wrote: > > Arnout, All, > > > > On 2014-04-28 08:18 +0200, Arnout Vandecappelle spake thusly: > >> On 25/04/14 00:30, Yann E. MORIN wrote: > >>> From: "Yann E. MORIN" > [snip] > >>> +choice > >>> + bool "Image type" > >> > >> Why is this a choice? It's possible to build both, no? Similar to > >> iso/pxe. So it makes more sense to me to add efi as a third option after > >> iso and pxe. > > > > Well, the target will be either BIOS-based or an EFI-based, not both. > > So it seems more logical to make it a choice (Thomas seemed to agree on > > IRC, as well.) > > > > But thinking of it, we could go even further: iso/pxe/mbr/efi are all > > _alternate_ methods of booting, so it does not make sense to have more > > than one selected at any one time. > > > > The only reason pxe/iso are not a choice _currently_ (e.g. syslinux-4.0.7), > > is that they are always built, and there is a no way to only build one or > > the other. This is the same behaviour in 6.0.2: you can build any > > combination of {bios,efi32,efi64} (only one, two, or all of them). But > > bios will always build pxe and iso (and mbr, see next cset). > > Good point. But then of course, it also doesn't make sense to build both > U-Boot and syslinux :-) > > So I'm OK with making iso/pxe/mbr/efi a choice. > > When syslinux/extlinux is added, that does add some difficulty because > those can be combined with mbr. But that can be tackled when the problem > arises :-). Not really, because extlinux is a host tools that prepares a partition to be booted from the mbr blob. Here is the way you'd use extlinux: - prepare a device with at least one partition - format that partition as ext2/3/4 - run extlinux on that partition -> extlinux installs some files in that filesystem -> and then installs a special boot-record as the first sector of the partition (yes, the first sector of an ext2/3/4 FS is free to use) - dump the mbr.bin blob as the MBR (eg. on the first sector of the partition) So, we need not add an option of extlinux since it is not an image like pxelinux or isolinux, but really a host tool. The addition of the mbr option in patch #9 is just so it is possible to indeed use extlinux. Note: the initial patch that prompted me to write this series did try to install extlinux to $(IMAGE_DIR) but that's plain wrong; see: http://patchwork.ozlabs.org/patch/306958/ Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'