[Reattaching current_at_ as this turns out to be a normal discussion.] On Tue, May 20, 2003 at 01:47:49AM -0700, David O'Brien wrote: > On Tue, May 20, 2003 at 11:40:52AM +0300, Ruslan Ermilov wrote: > > > legacy assumption that every platform has boot floppies. Yet another way > > > that release/Makefile needs a *major* over haul. I'd take that on, but I > > > know the resulting argument that would entail. > > > > I hardly would call the src/release/Makefile,v 1.775 commit as the > > step in this direction. ;) > > Feh. I call src/release/Makefile,v 1.775 a total step in the right > direction. release.9 should be made separate for each platform (I wont > play these floppy games for AMD64) and then the commonality extracted to > release.9.common. We've been in-line ".ifdef" special casing everything > related to the floppies and CDROM boot image for too long. We would > never tolerate that in our C code. > There are only 5 architecture ifdefs in release.9, let's consider them all: >>> .if ${TARGET_ARCH} != "ia64" || ${TARGET_ARCH} == ${MACHINE_ARCH} release.9 for ia64 cannot be currently cross-built -- gpt(8) is built on ia64 only. When gpt(8) is unconditionalized, this may be removed. >>> .if ${TARGET} == "pc98" We want pccard.conf on pc98. >>> .if ${TARGET_ARCH} != "ia64" ia64 doesn't have boot blocks. >>> .if ${TARGET} == "i386" /boot/mbr only exists on i386. >>> .if ${TARGET_ARCH} == "alpha" && !defined(NO_FLOPPIES) A bandaid for Alpha kern.flp being low on space (kgzip(1) support would fix that). That's all about it; another 80% of release.9 is MI. There are only 4 architecture ifdefs in doMFSKERN, let's consider them all: >>> .if ${TARGET} == "i386" Clearly this is a huge optimization for the space on boot floppies; the reason this is ifdefed is only because other arches don't have the support for kgzip(1) at the moment. >>> .elif ${TARGET_ARCH} == "ia64" ia64 provides the EFI boot loader; there are rumors that for newer ia32 machines this could also be made a case. >>> .if ${TARGET_ARCH} != "ia64" On ia64, we must use ACPI; outstanding ACPI issues don't allow us to enable it unconditionally for installation kernels on i386. I'd rewrite this one to be: .if ${TARGET} == "i386" >>> .if ${TARGET_ARCH} == "i386" && ${AUTO_KEYBOARD_DETECT} I have no idea why we need to boot(8) i386 with -P. Overall, I think that having 9 architecture ifdefs for the whole boot floppies creation process is allowable, especially bearing in mind that they are real tiny, and 3 of them can be considered temporary. On the contrary, in my opinion splitting release.9 into MD subtargets would bring a lot more disorder here. I'd have liked to hear other opinions now (our opinions, David, we already know ;-). Cheers, -- Ruslan Ermilov Sysadmin and DBA, ru_at_sunbay.com Sunbay Software AG, ru_at_FreeBSD.org FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:08 UTC