Date: Thu, 12 May 2011 12:10:12 +0400 From: Michael Tokarev <mjt@....msk.ru> To: owl-dev@...ts.openwall.com Subject: Re: move to ISOLINUX Catching up with older emails... 08.05.2011 18:10, Solar Designer wrote: > On Sat, May 07, 2011 at 11:01:07PM +0400, mjt@....msk.ru wrote: >> 07.05.2011 19:37, Solar Designer wrote: >>> Anyway, to make room for it in the x86_64 kernel, we'll need to disable >>> something else... >> >> Why? Yes that driver is somewhat large, but do we have size constraints? > > Unfortunately, we still do. In our ISOs, we use El Torito 2.88 MB > floppy disk images. I think we need to move to ISOLINUX and > non-emulated CD boot, even though this means dropping support for > CD-booting on some old machines. I'd appreciate a patch against our > native tree that will make this change cleanly (suitable for commit) - > including introduction of ISOLINUX as a new package, changes to the > owl-cdrom package and to makeiso.sh. Perhaps some other changes will be > needed as well... > > Also, I'd appreciate some info on what kinds of machines we'll be > dropping support for CD-booting on with this move. My gut feeling is > that none of the Pentium Pro machines (produced in 1990s, yet still > theoretically supported by Owl so far) will boot a non-ElTorito CD. > That's fine. But what about the various Pentium II and Pentium III > machines? I think the P3 ones still matter a little bit. My gut > feeling is that some (if not all?) of them won't boot non-ElTorito CDs, > but I did no research. And what about P4 and newer? The Eltorito specs were published in 1993 IIRC. Even before that, some bioses already supported the format (I mean direct booting, not floppy emulation). For about 1996..1998, all new machines started supporting it. I found an old Acer Pentium-MMX machine in our office (was my desktop machine a while back), and it boots from non-emulated eltorito CD just fine. But it's difficult to say when it has been produced. This covers, I think, definitely all P4 machines, probably all PIII, and a good deal of older CPUs. So I _think_ it should be safe to assume that all machines _worth_ to support are supported still. In my opinion, using PIII nowadays just isn't, well, justified - it uses more energy for the task it can handle. For low-power stuff, buy an atom-based mini-ITX mobo with minimal amount of RAM and it'll perform _much_ better than any PIII out there. But that's just me, maybe it's too optimistic... ;) Failing that, there are other bootloaders out there, for example http://btmgr.sourceforge.net/ which can boot from eltorito CD directly without BIOS support. I.e., if we come across a machine which does not support eltorito stack, we can use that boot manager (booted from a separate media) to boot it. What I can say for _sure_ is that all machines which support 64bit mode can boot such non-emulated CDroms. So for 64bit kernels which are usually larger (and where the problem is more apparent) we can use it unconditionally. As of the changes for Owl, I'm slowly refreshing my old and somewhat expired by now knowlege about how things are done there, hopefully I will be able to produce something in a few days. As of syslinux packages. Currently (starting version 4), syslinux uses the same binary (ldlinux.sys) for disk access, and separate binaries for pxelinux and isolinux, which differ in methods accessing storage. All 3 binaries uses the same core, and load the same files (so you can use syslinux.cfg for everything). There are 2 installers -- syslinux and extlinux, first installs the binary into a block device (and works under dos/windows), second installs into a directory and works under linux. Installers can be packaged separately, especially syslinux which currently uses mtools to access ms-dos filesystems so one has to provide mtools too. But all the rest - and that's quite a lot, including all the useful modules - should go into a separate, large package. Some distributions package everything into a single package, some use syslinux-common and installers in order to lessen dependencies. I'd go for one package for now, maybe omitting syslinux entirely from it or at least not depending on mtools directly but checking at runtime if mtools is available and printing a warning (instead of failing) if not. And I just looked at adding support of (mounted) fat filesystem into extlinux, -- it is quite easy, I think I'll submit a patch upstream. So, the only thing needed here is to package syslinux "properly", with all the necessary goodies. Thanks, /mjt
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.