[Accessibility] Text-only accessible booting
janina at rednote.net
Thu Aug 7 13:51:43 PDT 2003
I sure don't mind. Here goes--slightly edited for brevity ...
Matthew Wilcox writes:
> Alice (who is blind) goes to the store and buys a new computer
> preinstalled with Blue Shoe Linux 7 and a text-to-speech card. She
When you say "text to speech card," are you thinking of hardware in
addition to a general purpose sound card? While these have become rarer,
they still exist and are often preferred particularly by those of us who
love our console apps--especially if we do any kind of system building
or development work.
> goes home, plugs it in and boots it. The machine boots up without
> problem and gets to the graphical login screen (which is where the story
> ends for the purposes of accessible booting).
> So what does Alice need from accessible booting? What does Alice want
> from accessible booting? And what can the kernel help her with?
Well, if Alice is an average user who just uses computers to do mail,
browse the web, play some audio streams, etc., she will need a
multimedia prompt at the graphical screen--not just the on screen
If these are sufficiently clear sh can:
* Tell her gui to default to the screen reader she needs.
* Help her attach and configure her refreshable braille display to a usb port.
* Let her choose panels that mask off legacy apps known to be
* incompatible with screen readers.
* Setup each of her standard applications to any specific
* requirements--such as numbering links in her web browser a la
* the old and venerable Lynx browser.
* Offer to run in "no frills" mode, which is known to be faster,
* but not as beautiful to behold.
Thereafter, her sisters and brothers can come along and tweak their own
personal settings, should Alice, as her own root, choose to give them
accounts. Of course, their settings will be individualized, though they
may get the earcons along with icons as they login, since Alice choose
that for the default gui login screen.
> It's probably helpful to give an overview of the bootup process at this
> 1. Alice turns on her computer.
> 2. The BIOS displays a splash screen and various cryptic messages.i
Would this were still configurable for straight text as in the old days.
May I point out that I configured my venerable DEC Alphastation AS200 by
not attaching a video monitor, but rather by attaching my Braille Lite
to the first serial port at standard 9600:n81?
It was great fun. There was the prompt, plain as day from SRM:
To this day I run this machine headless. If I have a problem, I
just drag out the old BL and a serial cable and grab all the
text messages all the way to the console login screen. Let's me
know when I've oops'd (or whatever).
I can easily be persuaded to live with graphical bios--certainly
a splash screen. But, it would be very helpful to be able to get
at those settings from a running system in text mode. And, it
would be very helpful to be able to get a straight serial
console via the ancient expedient of not attaching a monitor.
Of course, I realize there are those who would have us rid of
those ancient serial ports. I, for one, am not of that camp as I
don't see how we are to take care of low-level issues over USB
which must load much later because of its need for drivers.
> 3. It loads a bootloader (typically this is done by having a boot device
> choice stored in NVRAM).
This step needs to be accessible at the user's option as well.
Strategies such as the above are generally adequate. Essentially, one
* Know one is at the boot loader stage.
* Know the available actions.
* Be able to specify a choice with feedback (e.g. a s in Grub)
* Have confirmation that one's choice is being executed.
As things stand today I would give Lilo better accessibility marks than
Grub for a few simple reasons:
* I have two strategies to let me know I'm at Lilo's Boot> prompt.
* I make the speaker beep twice by inserting a pair of Ctrl-G's in
* my /boot/message file, and I make the boot prompt speak by
* including a 'serial' line in my /etc/lilo.conf.
I am also able to specify a default kernel to load after a period of
time I can also specify with 'timeout.'
This is also the right time to pass any useful params to the kernel, of
course. In my case I have 'vga=832' in order to get consoles that are 64
rows by 175 columns. Since I'm blind, I want more data on screen. Others
who are low-vision might want to take this opportunity to specify large
fonts and particular foreground/background color defaults for all
console displays. Well, maybe not the colors here--I don't know.
> 4. The bootloader boots a kernel.
May I note that, on those systems where I have compiled my screen
reader, Speakup, into the kernel (as in the days before the current
modularization of Speakup), my TTS readout began about the fourth line
of /var/messages. Very cool.
One thing that is currently preventing us from building a modularized
Speakup supporting kernel, yet loading Speakup at the boot loader is
that we don't know how to pass:
setserial /dev/ttyS0 uart none
at the Boot> (or Grub) stage above. If there is now a way to do that, it
would be extremely helpful to know this.
> 5. The kernel initialises (spewing cryptic messages to the screen).
> 6. Various console drivers are initialised. Sometimes they replace
> earlier consoles, normally they add new consoles.
> 7. The kernel starts init.
The only dificult aspect of these stages is catching the "prompt for
module loading" prompt. At the times when I'm debugging an installation
and want to say "no" to loading certain modules, it's catch as catch can
to get the 'y' in on time to that prompt inasmuch as the screen and
Speakup are not synchronized. Perhaps they should be synchronized?
For most users I would imagine a lovely splash screen of Penguins
splashing in Antartic surf is preferable to cryptic messages. However,
I'm not sure I like the notion of putting /usr on / just to achieve
this. In any case, I am strongly of the opinion that one should be able
to have the cryptic messages when one wants them (perhaps by pressing
> 8. init starts a whole pile of programs including a graphical login screen.
Probably so, by default. I suppose the only point is that one should be
able to change the default on one's own systems. And, on public or
genarlized systems, we need login to become more multimedia, and we need
it to move in the direction of quickly configuring particularized
support for users based on well-defined criteria.
> I have more to say, but let's leave it here and let people explain why
> my scenario is unreasonable and what I'm missing...
I'm not sure what you're missing. I don't think the scenario needs to
change at all--just how a user can interface with it.
> It's always legal to use Linux (TM) systems
> Accessibility mailing list
> Accessibility at freestandards.org
Janina Sajka, Director
Technology Research and Development
Governmental Relations Group
American Foundation for the Blind (AFB)
Email: janina at afb.net Phone: (202) 408-8175
More information about the Accessibility