From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 28 18:12:05 2011 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 040671065672 for ; Mon, 28 Mar 2011 18:12:05 +0000 (UTC) (envelope-from dieterbsd@engineer.com) Received: from imr-db01.mx.aol.com (imr-db01.mx.aol.com [205.188.91.95]) by mx1.freebsd.org (Postfix) with ESMTP id B99AC8FC27 for ; Mon, 28 Mar 2011 18:12:04 +0000 (UTC) Received: from imo-da03.mx.aol.com (imo-da03.mx.aol.com [205.188.169.201]) by imr-db01.mx.aol.com (8.14.1/8.14.1) with ESMTP id p2SI4o3J001957 for ; Mon, 28 Mar 2011 14:04:50 -0400 Received: from dieterbsd@engineer.com by imo-da03.mx.aol.com (mail_out_v42.9.) id n.f18.144ea774 (45501) for ; Mon, 28 Mar 2011 14:04:47 -0400 (EDT) Received: from smtprly-mc01.mx.aol.com (smtprly-mc01.mx.aol.com [64.12.95.97]) by cia-mc08.mx.aol.com (v129.9) with ESMTP id MAILCIAMC088-d3c84d90cda02cf; Mon, 28 Mar 2011 14:04:46 -0400 Received: from web-mmc-d02 (web-mmc-d02.sim.aol.com [205.188.103.68]) by smtprly-mc01.mx.aol.com (v129.9) with ESMTP id MAILSMTPRLYMC012-d3c84d90cda02cf; Mon, 28 Mar 2011 14:04:16 -0400 To: hackers@freebsd.org Content-Transfer-Encoding: quoted-printable Date: Mon, 28 Mar 2011 14:04:16 -0400 X-MB-Message-Source: WebUI X-AOL-IP: 67.206.163.248 X-MB-Message-Type: User MIME-Version: 1.0 From: dieterbsd@engineer.com Content-Type: text/plain; charset="us-ascii" X-Mailer: Mail.com Webmail 33456-STANDARD Received: from 67.206.163.248 by web-mmc-d02.sysops.aol.com (205.188.103.68) with HTTP (WebMailUI); Mon, 28 Mar 2011 14:04:16 -0400 Message-Id: <8CDBB89AFEB53D6-11D4-32C9@web-mmc-d02.sysops.aol.com> X-Spam-Flag: NO X-AOL-SENDER: dieterbsd@engineer.com Cc: Subject: multi-boot bootstrap? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Mar 2011 18:12:05 -0000 The discussion of a new bootloader reminded me of the following problem: What we need more than a new bootloader is a new bootstrap. With MBR, NetBSD's boot selector MBR works reasonably well. (About as well as can be expected given the limited space available.) You get a menu of partitions ("slices" in FreeBSD-speak) and can enter a number to select which one you want to boot. If you don't enter anything it times out and boots the default. You can boot a different disk by pressing F1, F2, F3 ... example: Fn: diskn 1: NBSD4.0 2: NB5.0.1 3: FBSD7.1 4: FBSD8.2 The menu labels are limited to 7 chars due to the limited space available in the MBR. But, disks larger than 2 GiB need to be GPT rather than MBR. I haven't found a bootstrap with similar functionality for GPT. GPT allows a larger bootstrap than MBR. So the bootstrap can be nicer. Firmware disk numbering is completely insane on some machines. So spare the poor user from having to guess which disk is which number today. Go through all the disks and look for bootable partitions. Extract the GPT partition labels for these partitions. Present a menu of choices. example: Enter the menu number for the partition you wish to boot. The default will automatically boot in 5 seconds. 1: FreeBSD 7.1 2: FreeBSD 8.2 (default) 3: NetBSD 4.0 4: NetBSD 5.0.1 5: OpenBSD 6: Plan 9 7: reboot back to firmware Boot: As with the boot loader, this needs to work on all machines, and all terminals (without having termcap/terminfo), so just plain ASCII text, no graphics.