Ticket #7896 (closed defect: fixed)

Opened 6 years ago

Last modified 5 years ago

Can't do pretty boot without imposing unnecessary restrictions on users

Reported by: gnu Owned by: wmb@…
Priority: normal Milestone: Future Release
Component: ofw - open firmware Version: Q2D16
Keywords: blocks:?9.1.0 Cc: mtd, morgs
Action Needed: communicate Verified: no
Deployments affected: Blocked By:
Blocking:

Description

G1G1 is coming again, and it should be possible for OLPC to ship machines that do not try to enforce any kind of software lockdown, but which still look pretty when you boot them.

This issue was swept under the rug by the pressure of time during the first G1G1, but it should be tracked and eventually fixed.

OLPC shouldn't feel like it needs to prevent recipients from modifying their operating system, just so they can see pretty pictures when it boots, yet that was the decision process last time.

OLPC seems dangerously close to believing that it always has to ship all its machines with "security" -- I put it in quotes because it is securing the machine against its owner. Fixing the pretty-boot tie to "security" would start to make it possible to think heretical thoughts -- like shipping a machine that the user is free to customize without going through a dance to get a secret key.

Change History

  Changed 6 years ago by mtd

  • cc mtd added

I've been meaning to ask on IRC how I can re-enable pretty boot despite having a devkey (I suspect a few forth words would do it...).

follow-up: ↓ 3   Changed 6 years ago by wmb@…

Add the line

freeze dcon-freeze

as the second line of /boot/olpc.fth, after the comment line.

in reply to: ↑ 2 ; follow-up: ↓ 5   Changed 6 years ago by wmb@…

Replying to wmb@firmworks.com:

Add the line freeze dcon-freeze as the second line of /boot/olpc.fth, after the comment line.

Actually, all you need is just

dcon-freeze

the "freeze" is redundant

  Changed 6 years ago by mtd

Thanks!

in reply to: ↑ 3   Changed 6 years ago by mtd

Replying to wmb@firmworks.com:

dcon-freeze

That worked really well - I had forgotten how pretty pretty-boot was. The only nitpick I'd say is that the OFW messages (boot device: /nandflash, etc.) are still shown. But the "press esc within..." is pretty nice to see :).

  Changed 6 years ago by wmb@…

The first "boot" message happens just before olpc.fth is read, so it's not possible to eliminate that with a change in olpc.fth .

This version of OFW does not have persistent modes (*) - i.e. no configurable options - so you can't screw up booting by incorrect "BIOS options". Most electronic devices these days have far too many options, leading to widespread user frustration. For OLPC OFW, I tried to get the behavior right for the vast majority of users, and then put a stake in the ground.

Perhaps I went too far by saying "no options", but that is an easier position to defend than having a few options and then forever having to argue about "just one more".

(*) The one exception is the startup sound volume, which doesn't affect booting.

  Changed 6 years ago by gnu

  • keywords blocks:?9.1.0 added; blocks:?8.3.0 removed

  Changed 6 years ago by gnu

Adding this as the second line of /boot/olpc.fth works:

button-check game-key? 0= if freeze then

This results in a pretty-boot if the "check" game key is not pressed; or results in the usual Linux kernel messages if the "check" key was pressed at power-on.

Tested in gg-765-1 on C2 hardware with Q2E18 rom.

follow-up: ↓ 12   Changed 6 years ago by gnu

A further improved patch seems to be:

add 2nd line:

button-check game-key? 0= if stdout off show-child freeze then

Change 3rd line from the bottom, which previously just said "boot", to:

load show-going go

This produces a few messages at the start (ESC to interrupt, etc), then goes straight into a totally pretty boot and never messes up its screen.

  Changed 6 years ago by garycmartin

Thanks, that's working a treat here on my B4.

  Changed 6 years ago by bert

The fancy patch did not work for me, the pretty boot hangs on the first dot (I'm on 767/q2e18). But adding just "freeze" works fine, so I'm happy for now.

in reply to: ↑ 9   Changed 6 years ago by morgs

  • cc morgs added

Replying to gnu:

A further improved patch seems to be: add 2nd line: button-check game-key? 0= if stdout off show-child freeze then Change 3rd line from the bottom, which previously just said "boot", to: load show-going go This produces a few messages at the start (ESC to interrupt, etc), then goes straight into a totally pretty boot and never messes up its screen.

This works well for me - tested on three C2s with 767/q2e18.

  Changed 5 years ago by wmb@…

  • status changed from new to closed
  • resolution set to fixed

Pretty boot is now the default on all systems.

Note: See TracTickets for help on using tickets.