Options for boot program

2006-06-15 Thread [EMAIL PROTECTED]
My way of operating is to multi-task almost all the time.  As
such, while working on one task, if another task on which I am also
working (but had to pause in it because some information or equipment
that the task needed wasn't available) of higher priority suddenly
became available/operable, then I would want to know about this so that
I could switch to the higher priority task.  Thus I want that the
computer should tell me that it needs input for one of its tasks, or
that some task is showing output that I may want to see (this usually
means error messages rather than standard output).  The best way for
the computer to tell me these things (i.e., to call my attention to
itself) is by sound (because the ear detects from all around, while the
eye detects only from in front of itself [so I would have to be looking
at the screen]).  Thus I can do other things and be called back to the
computer as needed.
Hence I want the boot program to sound a bell (possibly several
times with a short interval to wait between successive times, and
proceed immediately when I respond [and not wait for a set # of bells
to be sounded]) if it is waiting for input (say, as to which slice to
boot), and the amount of time (in seconds) that it waits for that
input, and if it doesn't get any input before this time period
expires, it boots the current default slice.  I want to set the length
of this time period (to wait before booting the current default slice).
I realize that other users of the boot program may want it to
behave differently than I do.  Consequently, each user should be able
to tell the boot program how he wants it to behave regarding these
matters, and other matters that some user may be able to describe.  A
programmer of the boot program should not impose his preferences on the
users of the boot program, but code in a way that allows them to get
their preferred operation from the boot program.  This can't be
easily/safely done by options in the call of the boot program because
the boot program isn't called (as we are familiar with it).  It is read
into  RAM  from the boot sector and then control is transferred to it,
and all this is done by the  BIOS  or a small program built into the
hardware of a computer.
One way to make the boot program aware of a user's preferences
is to store these preferences (options) in the boot sector, say the
last byte or two of that sector.  That way, this data will not have a
chance of being in the midst of code.  The setting of these bytes can
be done as part of the installation of the boot program, and/or have a
special patch program that patches just this area (even after
installation so if the owner wants to change his options after
installation, he can easily do so).


I would like to suggest some minor changes to the boot program
for  FreeBSD , mainly in the area of options that the user can set when
installing it.  Hopefully the space available for the boot program will
be big enough to allow these changes.  By the way, is there more space
available (e.g., more sectors on the platter/cylinder) for the boot
program?
Where can one get the code for the boot?  Also, how much space
is available for the boot code?
Also, can one add more slices (so there are more than 4) to the
system, and have ways of booting them.  Another thing that could be
done is to introduce logical slice (the term has been used before),
say by allowing more than 8 partitions per slice and allowing the user
to be able to specify which set of 5 to mount (and these 5 form a
logical slice).


___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Options for boot program

2006-06-15 Thread Giorgos Keramidas
On Thu, 15 Jun 2006 07:02:11 GMT, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 My way of operating is to multi-task almost all the time [...]

 Hence I want the boot program to sound a bell (possibly several
 times with a short interval to wait between successive times, and
 proceed immediately when I respond [and not wait for a set # of bells
 to be sounded]) if it is waiting for input [...]

 I realize that other users of the boot program may want it to
 behave differently than I do.  Consequently, each user should be able
 to tell the boot program how he wants it to behave regarding these
 matters, and other matters that some user may be able to describe [...]

 One way to make the boot program aware of a user's preferences
 is to store these preferences (options) in the boot sector [...]

I apologise in advance if excessive snipping was done above, but I tried
to keep your major points intact.

I don't think it is a good idea to try to cram more features in the
severely limited space the boot0 stage currently has.  The entire boot0
object code should fit in less than 512 bytes (some of that space is
used to store the BIOS-partition table too).  Adding more and more
features every time we want to extend it will quickly make it either
buggy or unusable for the majority of the people who currently use it.

On the other hand, there are other boot managers, which can use more
space and are not as limited.  It may be a good idea to try one of those
and extend it to cover your needs.  A very featureful and nice option is
GRUB, which -AFAIK- currently supports Windows, Linux, FreeBSD, Solaris
and a few other OSes.

Unfortunately, the GRUB port of FreeBSD is i386-only, so if you are
running something else (sparc64 or amd64), it is impossible to use it.

I'd put my own money into porting GRUB to work with all the major
architectures currently supported by FreeBSD.  Then, I would add the
features you like to GRUB, which already includes an extended set of
configuration options and can easily incorporate more.

 I would like to suggest some minor changes to the boot program for
 FreeBSD , mainly in the area of options that the user can set when
 installing it.  Hopefully the space available for the boot program
 will be big enough to allow these changes.  By the way, is there more
 space available (e.g., more sectors on the platter/cylinder) for the
 boot program?

Not much space is available.

 Where can one get the code for the boot?

The source code for the boot0-stage loader is:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/boot/i386/boot0/boot0.S

 Also, how much space is available for the boot code?

A very small number of bytes.  Forget about this, if you ask me...

- Giorgos

___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Options for boot program

2006-06-15 Thread John Baldwin
I can identify with your condition. :)  Unfortunately, the early boot loaders 
(boot0, and boot1+boot2) are simply too tight on space to add more features.  
I think boot0 literally has 0 or 1 bytes free right now.  
However /boot/loader has a lot more free space and can be easily and 
intuitively configured via /boot/loader.conf.

All of the boot code can be found under src/sys/boot.

-- 
John Baldwin
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Options for boot program

2006-06-15 Thread Darren Pilgrim
I don't know why I was included in the CC list for this thread, nor do I 
have any input on the subject.  Please trim my address from the CC list.


Thanks.

--
Darren Pilgrim
___
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to [EMAIL PROTECTED]