[arch-releng] [DRAFT][RFC][PATCH][archiso] Add UEFI boot support via Linux >= 3.3 EFI boot stub.

Keshav P R the.ridikulus.rat at gmail.com
Thu Mar 29 13:20:49 EDT 2012


On Tue, Mar 27, 2012 at 18:56, Gerardo Exequiel Pozzi
<vmlinuz386 at yahoo.com.ar> wrote:
> On 03/27/2012 02:31 AM, Keshav P R wrote:
>>
>> On Tue, Mar 27, 2012 at 07:04, Gerardo Exequiel Pozzi
>> <vmlinuz386 at yahoo.com.ar>  wrote:
>>>
>>> On 03/26/2012 11:16 AM, Keshav P R wrote:
>>>>
>>>> On Tue, Mar 20, 2012 at 23:15, Gerardo Exequiel Pozzi
>>>> <vmlinuz386 at yahoo.com.ar>    wrote:
>>>>>>
>>>>>> This is going to increase the iso size like hell. Having the kernel
>>>>>> and initrd files within a FAT image inside the iso is not a good idea.
>>>>>> A 32 MB fat image, come on. I know this is required for CD booting,
>>>>>> but this is not a good idea with efistub efilinux or elilo etc. For
>>>>>> USB booting you can just have the files in the iso itself, wherein the
>>>>>> user simply extract the iso in a FAT32 USB and boots from it. I say
>>>>>> drop support for iso booting via this fat fs image and support uefi
>>>>>> boot only in case of USBs.
>>>>>>
>>>>>> Regards.
>>>>>>
>>>>>> Keshav
>>>>>>
>>>>> OK, so just ignore this draft patch. UEFI boot support can be made
>>>>> manually by the user, just doing a copy of vmlinuz to the right place
>>>>> and
>>>>> optionally installing a boot manager.
>>>>>
>>>>> A documentation on the wiki is sufficient.
>>>>
>>>> You might be interested in rEFInd-x86_64
>>>> https://aur.archlinux.org/packages.php?ID=57632 which provides a nice
>>>> menu for EFISTUB kernels.
>>>>
>>>> Related info :
>>>> http://www.rodsbooks.com/refind/linux.html
>>>> http://www.rodsbooks.com/efi-bootloaders/efistub.html
>>>>
>>>> [QUOTE from http://www.rodsbooks.com/refind/linux.html]
>>>> rEFInd looks for a file called linux.conf in the same directory as the
>>>> kernel file. This file is a practical requirement for booting from an
>>>> auto-detected kernel. It consists of a series of lines, each of which
>>>> consists of a label followed by a series of kernel options. The first
>>>> line sets default options, and subsequent lines set options that are
>>>> accessible from the main menu tag's submenu screen.
>>>>
>>>> The intent of this system is that distribution maintainers can place
>>>> their kernels, initial RAM disks, and a linux.conf file in their own
>>>> subdirectory on the ESP. rEFInd will detect their kernels and create
>>>> one main menu entry for each kernel. Each entry will implement as many
>>>> options as there are lines in the linux.conf file. In this way, two or
>>>> more distributions can each maintain their boot loader entries,
>>>> without being too concerned for who maintains rEFInd as a whole.
>>>> [/QUOTE]
>>>>
>>>> The filename has been changed to refind_linux.conf in the upstream git
>>>> repo so that it does not conflict with the proposed efistub config
>>>> file by kernel devs
>>>>
>>>>
>>>> (http://sourceforge.net/p/refind/code/ci/c09200e2220b05bbade961bdc35f7da90d318abf/).
>>>>
>>>> This should be pretty straightforward to implement in Archiso. For
>>>> non-EFISTUB kernels like LTS ones, you can use efilinux-x86_64
>>>> https://aur.archlinux.org/packages.php?ID=57972 (Usage instructions -
>>>> http://thread.gmane.org/gmane.linux.kernel/1172645 and
>>>> http://article.gmane.org/gmane.linux.kernel/1175060). This might be a
>>>> good alternative for grub2 uefi boot, although booting i686 kernels in
>>>> x86_64 UEFI will not be supported by EFISTUB (which can be done using
>>>> grub2). Support for mixed arch booting seems to have been merged for
>>>> 3.4-rc1 .
>>>>
>>>> Regards.
>>>>
>>>> Keshav
>>>>
>>> Thanks for the work.
>>>
>>> But this only added the advantage of passing command line options to the
>>> kernel. We still need a "FAT image" with bootx64.efi (rEFInd) +
>>> vmlinuz.efi
>>> + archiso.img (initramfs) + refind*.conf (for El Torito) that was the
>>> main
>>> dissapointed issue. Otherwise rEFInd can not find what file to load.
>>>
>> No. In this case just rEFInd (and the required icons -  not all of
>> them) needs to be in the FAT image. The kernels and initramfs can be
>> in (ISO)/efi/(SUBDIR)/ along with (ISO)/efi/(SUBDIR)/refind_linux.conf
>> containing the kernel parameters. If the (SUBDIR) is "arch" , ie.
>> (ISO)/efi/arch/ , then refind will even display Archlinux icon making
>> it easy for the user to differentiate the iso kernels from other
>> kernels.
>>
>> All the answers are at http://www.rodsbooks.com/refind/ .
>>
>> Regards.
>>
>> Keshav
>>
> Are you sure?
>
> The only thing that can do rEFInd is launch EFI apps from drives listed by
> EFI firmware. A filesystem ISO9660 is not listed as a drive with filesystem
> by EFI, and rEFInd does not understand about ISO9660.
>
> Thanks.
>
>
>
> --
> Gerardo Exequiel Pozzi
> \cos^2\alpha + \sin^2\alpha = 1
>

Rod?

- Keshav


More information about the arch-releng mailing list