*BSD News Article 19864


Return to BSD News archive

Xref: sserve comp.os.linux.misc:527 comp.os.386bsd.misc:736
Newsgroups: comp.os.linux.misc,comp.os.386bsd.misc
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!agate!boulder!kinglear!drew
From: drew@kinglear.cs.colorado.edu (Drew Eckhardt)
Subject: Re: Why would I want LINUX?
Message-ID: <1993Aug23.074749.18957@colorado.edu>
Sender: news@colorado.edu (The Daily Planet)
Nntp-Posting-Host: kinglear.cs.colorado.edu
Organization: University of Colorado at Boulder
References: <24rbb5$t51@hrd769.brooks.af.mil> <24vd7h$frk@horus.mch.sni.de> <258gu6INNlef@bonnie.tcd-dresden.de>
Date: Mon, 23 Aug 1993 07:47:49 GMT
Lines: 91

In article <258gu6INNlef@bonnie.tcd-dresden.de> j@bonnie.tcd-dresden.de (J Wunsch) writes:
>In <24vd7h$frk@horus.mch.sni.de> Martin.Kraemer@mch.sni.de (Martin Kraemer) writes:
>[for Linux]
>>Plus there is  much more support for  "cheap" hardware and for  two-or-
>>more-OS's-on-one-harddisk.
>
>Yep, the Linux support for two-or-more-OS's ain't the best. 

When my system comes up, my master boot record (winiboot) asks me
which partition I want to boot.  If I don't choose something
(with one keypress) within the timeout period, Linux is automatically 
booted..  If I press some key for a different OS, it gets booted instead.

How can multi-OS operation be simpler than that?  

While this isn't the default installation (with LILO), winiboot is 
available as part of the shoelace package, available in source
and binary form.

>i hate Linux, but i'm still curious why they decided to have this silly
>off-the-standard booting scheme (LILO). 

LILO is a bootblock replacement for the bootblock within a partition,
there's nothing non standard about that.

As far as the LILO bootblock being different from BSD's - it 
was developed under a different set of design constraints.  Size 
is more limited than with BSD because we don't have things sub 
partitioned with an area for the disklabel / bootblock set aside.
This limits the amount of functionality.  We can't work like the
BSD bootblock and prompt to boot any file, since users must be
able to boot of more than one type of FS, and we don't have room
to support the proliferation of filesystems in the bootblock.  So,
we needed a minimal bootstrap that could locate a block mapping for
various kernel immages and load them as directed.

>With *BSD using a normal dozz
>boot scheme (load MBR, and then load the active partition's boot sector),

That's how Linux + LILO and the master boot record of your choice.

>along with one of the fancy boot managers (i'm using os-bs), it works
>like a charm. You could also boot those silly unices requiring their
>own partition being marked active. 

The same thing applies to Linux.

>(Another problem of Linux is, they occupy a full dozz partition for swap 
instead of sub-partitioning their primary one.)

Linux supports MS-DOS extended partitions, if you choose to use 
them you can have multiple Linux / DOS / etc. partitions in one 
physical partition.

>Btw., i've been working with my old cheep PC from older dozz times.

As are many starving college student and unemployed hacker types :-)

>The really disadvantage of BSD is it's lack of shared libs, thus consu-
>ming much more disk space. But the original shared libs from Linux didn't
>convince me either: i saw it at a friend, he quickly felt that his Linux
>got binary-incompatible to itself. (Since the binaries had to match
>exactly the shared libs.)

The key word there is "original".  The original implementation of shared
libraries under Linux was deficient in this regard, since they were 
statically linked.  This got you very low disk space usage, low 
memory usage, etc, but none of the benefits of dynamic linking and
ease of fixing library bugs in all your binaries. In other words, it 
was still better than no shared libraries.

After that, Linux got the so-called "jump table" libraries, where
the jump table was at a fixed location but the routines could move.
This let us upgrade shared libraries without recompiling anything, 
making it easy to fix library bugs.  

The currenty Linux shared library implementation is dynamic.

>
>Last not least: take out all the `unnecessary' things from the BSD
>kernel (IP, various file systems, SCSI, Ethernet, SLIP etc. etc.),
>you'll get a (IMHO much useless) very tiny kernel:-)

The same thing applies to all unices.  Any good system administrator
will trim out everythign he/she doesn't need to maximize the amount 
of free memory and consequently the size of the incore page set.
-- 
Boycott USL/Novell for their absurd anti-BSDI lawsuit. | 
Condemn Colorado for Amendment Two.		       | Drew Eckhardt
Use Linux, the fast, flexible, and free 386 unix       | drew@cs.Colorado.EDU 
Will administer Unix for food                          |