Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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.