Startup sound

From OLPC
Jump to navigation Jump to search

The sound played by the OLPC XO laptop when the laptop is powered on was provided by "The Edge" from the band U2. The sound was extensively equalised so that it would be accurate when played on XO speakers.

How to disable

Volume down.png

Press the "Volume Down" key repeatedly on the keyboard whilst the start up sound is playing. You should hear it get quieter, and then mute. Next time you boot, it will not be heard.

How to enable

Press the "Volume Up" key a few times during boot. You should hear it return.

What does it mean if it cuts off too soon?

The sound automatically cuts off on XO-1.5 if you have pressed some of the keys that interrupt normal booting, such as Escape or the four game keys. This does not happen on XO-1.

Headphones

On the XO-1, XO-1.5 and XO-4, the startup sound is played into headphones or ear buds if there are any plugged in. To avoid surprise, unplug them. The equalisation for the XO speakers will cause the sound to be different when heard in headphones.

Headphones Socket Trivia

On the XO-1 plugging in headphones during the startup sound causes the sound to be immediately sent to the headphones, via an electrical switch in the socket. Software cannot prevent this hardware from operating.

On the XO-1.5 plugging in headphones during the startup sound does not redirect the sound to the headphones. This is a design decision in the software, since the headphone signal switching is software mediated.

Where is the source?

The file is kept in the images directory of the Open Firmware sources for the OLPC XO. Here's a link: Edge1-8k-EQ-Comp-Amp-Short.wav

Playback via other output devices doesn't correctly reproduce the Edge's performance.

Why two beeps?

On XO-1.75 we ran out of SPI FLASH memory, and removed the sound from the firmware. Instead, the sound is in a file jingle.wav in the /boot directory of the internal storage. You will hear two beeps if the file is missing from internal storage.

Can we use another sound?

On XO-1 the standard sound cannot be changed, because the time to check the jffs2 filesystem is prohibitive.

On XO-1.5, XO-1.75 and XO-4 a deployment may replace the jingle.wav file with one of their own. Since the file is provided by the firmware package, the replacement will require a builder plugin. The file should have the same sample rate, bits per sample, and format as the original file.

The replacement sound should not be longer than the supplied sound. If it is longer, it will either:

  • not work,
  • delay boot, or;
  • stop suddenly when boot begins.

Can we disable it for a classroom?

For unsecured laptops, create a folder boot on a USB drive, with a file olpc.fth containing these lines:

\ an OLPC XO boot script to disable startup sound
d# -50 set-saved-volume  0 +volume  power-off

then boot each laptop using the USB drive.

For secured laptops, use OSBuilder and customise the reflash script to set the volume to minimum during reflashing, using a change like this:

--- a/bin/zhashfs.c
+++ b/bin/zhashfs.c
@@ -242,6 +242,7 @@ int main(int argc, char **argv)
     else
         ++fname;
 
+    fprintf(outfile, "d# -50 set-saved-volume\n");
     fprintf(outfile, "data: %s\n", fname);
     fprintf(outfile, "zblocks: %lx %lx\n", zblocksize, eblocks);
     fprintf(zfile,   "zblocks: %lx %lx\n", zblocksize, eblocks);