From owner-freebsd-arch@freebsd.org Tue Oct 17 23:18:26 2017 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6CE25E4A0D4 for ; Tue, 17 Oct 2017 23:18:26 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mailman.ysv.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4A566296C for ; Tue, 17 Oct 2017 23:18:26 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mailman.ysv.freebsd.org (Postfix) id 46764E4A0D3; Tue, 17 Oct 2017 23:18:26 +0000 (UTC) Delivered-To: arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 45F6BE4A0D2 for ; Tue, 17 Oct 2017 23:18:26 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-it0-x230.google.com (mail-it0-x230.google.com [IPv6:2607:f8b0:4001:c0b::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0E7B9296B for ; Tue, 17 Oct 2017 23:18:26 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-it0-x230.google.com with SMTP id 72so4524772itl.5 for ; Tue, 17 Oct 2017 16:18:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:from:date:message-id:subject:to; bh=7LQhNUvwEpUIo4uwrX3Ioin0xNTgLRvsQVUmm4HQ18A=; b=UILTwaZR/5+yB/Tk+NeYFpHnfw9GgL5EYERHsG28k6R1ErqkqUGZfa4bIzFnufSdAp O78sdQTvZGxhJb2CJibL/Ub9vG2xsG4ubmqL910jE9OzaE3KlBOkRPMJs5avBhxvMntK ubWNkhr4PXRiM7ubOemNY+Mgif1vsj57QFXMXRgre+BI64IqNuR3EYJ2/ST2kBWii/cr G2k4/vegQC9y+IJ/Ym1GXt0Q/uC02W6EOpB7sDqkb0YeSe6wWOLKxWBCY7QpEWOIMhIL rNgcP5j4E6ULCXc+LY+hgEWqvElHfOIjYDjz0z6eZlnRN1oFLTSOA3dwE3kSvjeDPQus wdrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=7LQhNUvwEpUIo4uwrX3Ioin0xNTgLRvsQVUmm4HQ18A=; b=j7NsCPwNtW77d23x/Sz6fJinB7y4eMDNq/BTRkfNSTpz1KOxZCcBDnUB5TIF3ZQxQb alWyrQWPfBx5ELXllC3l/86iqtRnCGS56/PMZ1og+/so9HGVdMgLuOx3BHg2r+VfiTaJ OSg3X0Sc2/rcRHFUOnIcPofmUPKhc5nLkeei+fBdAagtJFAWqu259ioXUHcQ3HjiGwF5 cP5pXFqTmJQoGLwMM+Ukh3U+vqclZ+EXIE/5XnjM1OlMYDwwN2x29hTnTzuz7KhxaP5i ToV5344CV67MzGK26VIpsxAu+YjrrTMrcuAA/rADf3hjndn9+ZYlVZmAAhQKGjsBRAe9 28OA== X-Gm-Message-State: AMCzsaWNr2YMoYf08MpIuctdsCo1JotZ8JAOoDBOEKt/USyRAWAnaLWf +nTcCwfQAkPvTSBMrBK1wHg1DRD0iYBDzq+qAPbrCA== X-Google-Smtp-Source: ABhQp+T+7VQ7k//XAefaMYjabzbkFOcThVW/prpYUfMg7BcY1na3pI28LCTM0649fjWlv5aVDQ79wKmLfxMVZrm+H9Y= X-Received: by 10.36.69.100 with SMTP id y97mr7842096ita.50.1508282304987; Tue, 17 Oct 2017 16:18:24 -0700 (PDT) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 10.79.57.22 with HTTP; Tue, 17 Oct 2017 16:18:24 -0700 (PDT) X-Originating-IP: [2603:300b:6:5100:80d3:e7d4:5e40:89b] From: Warner Losh Date: Tue, 17 Oct 2017 17:18:24 -0600 X-Google-Sender-Auth: K8_zzm5GxRmLBmMRURV4tV3NC0Q Message-ID: Subject: boot1.efi future To: "freebsd-arch@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Oct 2017 23:18:26 -0000 I'd like to remove boot1.efi. It's no longer relevant. It was a useful hack to get us going, but now it's becoming more of a liability than a win. There's a lot of work that has been put into it so it can understand every filesystem. However, in doing so boot1.efi has morphed into a loader.efi without the scripting interpreter. Let's just kill boot1.efi and load the full-featured loader directly. boot1.efi used to have a role to play. It was a tiny, rarely changing bit of glue in the UEFI world. It is now none of those things. It has become rather large and bloated, and there's work to make it even more so. My proposal is to fix the one bug in loader.efi that would preclude its use as a primary boot loader (it sometimes guesses wrong for currdev and loaddev). Once we've done that, we'll use it where we use boot1.efi today. It would also simplify the load process and make it easier to implement the full EFI Boot Manager protocol from the UEFI specifications. It should also make secure boot easier to bring to market. This dovetails nicely into some of the other changes on-tap for FreeBSD 12. efibootmgr is coming soon (I'm reviewing the code from a coworker now). There's plans to move the FreeBSD boot loader to \efi\FreeBSD\loader-$ARCH.efi when that goes in, since we'll be able to point the LoadOptions to that. There's plans to make the installer create the EFI partition rather than just dd the efifat file we're doing today. Plus, there's work underway to move all the boot block installation stuff to a new script (install-boot) as well as efforts to make images for any bootable system (spin). There's lots of details to get right before we can make the final switch, but I think it's in the interest of the project to do so. Comments? Warner