From owner-cvs-src-old@FreeBSD.ORG Wed Dec 3 14:58:34 2008 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5FC81065673 for ; Wed, 3 Dec 2008 14:58:34 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C320A8FC18 for ; Wed, 3 Dec 2008 14:58:34 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id mB3EwYaX065338 for ; Wed, 3 Dec 2008 14:58:34 GMT (envelope-from luigi@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id mB3EwYA5065337 for cvs-src-old@freebsd.org; Wed, 3 Dec 2008 14:58:34 GMT (envelope-from luigi@repoman.freebsd.org) Message-Id: <200812031458.mB3EwYA5065337@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to luigi@repoman.freebsd.org using -f From: Luigi Rizzo Date: Wed, 3 Dec 2008 14:53:59 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/boot/i386/boot0 Makefile boot0.S src/usr.sbin/boot0cfg boot0cfg.8 boot0cfg.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Dec 2008 14:58:34 -0000 luigi 2008-12-03 14:53:59 UTC FreeBSD src repository Modified files: sys/boot/i386/boot0 Makefile boot0.S usr.sbin/boot0cfg boot0cfg.8 boot0cfg.c Log: SVN rev 185579 on 2008-12-03 14:53:59Z by luigi Another, hopefully final set of changes to boot0 and boot0cfg. boot0.S changes: + import a patch from Christoph Mallon to rearrange the various print functions and save another couple of bytes; + implement the suggestion in PR 70531 to enable booting from any valid partition because even the extended partitions that were previously in our kill list may contain a valid boot loader. This simplifies the code and saves some bytes; + followwing up PR 127764, implement conditional code to preserve the 'Volume ID' which might be used by other OS (NT, XP, Vista) and is located at offset 0x1b8. This requires a relocation of the parameter block within the boot sector -- there is no other possible workaround. To address this, boot0cfg has been updated to handle both versions of the boot code; + slightly rearrange the strings printed in the menus to make the code buildable with all options. Given the tight memory budget, this means that with certain options we need to shrink or remove certain labels. and especially: make -DVOLUME_LABEL -DPXE the default options. This means that the newly built boot0 block will preserve the Volume ID, and has the (hidden) option F6 to boot from INT18/PXE. I think the extra functionality is well worth the change. The most visible difference here is that the 'Default: ' string now becomes 'Boot: ' (it can be reverted to the old value but then we need to nuke 1/2 partition name or entries to make up for the extra room). boot0cfg changes: + modify the code to recognise the new boot0 structure (with the relocated options block to make room for the Volume id). + add two options, '-i xxxx-xxxx' to set the volume ID, -e c to modify the character printed in case of bad input PR: 127764 70531 Submitted by: Christoph Mallon (portions) MFC after: 4 weeks Revision Changes Path 1.34 +2 -0 src/sys/boot/i386/boot0/Makefile 1.20 +70 -62 src/sys/boot/i386/boot0/boot0.S 1.33 +9 -0 src/usr.sbin/boot0cfg/boot0cfg.8 1.23 +140 -26 src/usr.sbin/boot0cfg/boot0cfg.c