User:NeoAmsterdam/10.1.2/Bootable SD
The gist of the write-up and why it's needed in the 1st place. Perhaps add in ref. to 802SD and why no verbose work.
Before you Begin
Warnings
- will destroy data
- ext3fs, not jffs
- if sd card not partitioned, may require fdisk
Caveats
- fstab mounts causes yum errors
- 2nd install takes forever
- may require OFW intervention for different FS label
- XO-1.5
Workarounds
- should be possible to edit …/etc/fstab and …/boot/olpc.fth before phase 3 (post-install)
Requirements
- XO
- USB Key, 1GB or larger
- os852.img
- os852.img.fs.zip
Optional
- Dev Key
- activities
Procedure
0: Pre-Installation
Back up your data
Obvious, but bears repeating
Create Install Key
- format usb key (fat32/vfat)
- download 852s (os & fs)
- rename os852.img.fs.zip to fs.zip
Optional
- copy dev key to / of USB
- Copy activities to USB (for an unzip-n-go)
1: First Installation
- shut down
- eject SD card
- hold down game keys, press power-on
- wait; let XO restart to "Name: ___" screen
2: Second Installation
- Once the "Name:___" screen appears, drop into console
- /sbin/init 3
- insert sd card
- fdisk if you need to
- format sd card (w/ note re: alt. dev. label)
- mount sd
- cd /versions/pristine/852
- cp ; fir i in {1..##} ; do echo -en "\a" ; sleep ; done [ wait forever (w/ note as to why [gnome apps]) ]
- mkdir …/home/olpc
3: Grafting optional stuff
USB never removed and autofs shouldn't be a prob. but add note re: unmounting automounts
- mkdir /mnt/usb
- mount usb
Dev key
- cp /mnt/usb/develop.key /mnt/sd/security/develop.key
Activities
- mkdir /mnt/sd/home/olpc/Activities
- cd /mnt/sd/home/olpc/Activities
- cp -rv /mnt/usb/*.xo . ;
- cp -rv /mnt/usb/*.xol . ;
- ls -1 | while read i ; do unzip $i ; rm $i ; done
Swapfile
/var/vm? /swap? omit the whole thing?
- dd if=/dev/zero of=1m bs=1048576 count=1
- for i in {1..512} ; do cat 1m >> swapfile ; done ; # (w/ note as to why repeat 1MB loops in lieu of `dd... bs=1048576 count=512)
- mkswap swapfilename
Device Label
nano /sd/boot/olpc.fth
- rename appropriate line
Overclocking
nano /sd/boot/olpc.fth
- insert command where appropriate (if so desired)
4: Post-Installation
- cd /mnt/sd/home
- chown -r olpc:olpc olpc
- shutdown -h now
- remove all devices
- reboot (w/ note: recommend verbose boot 1st time, normal boot 2nd time)
Troubleshooting
List of "oops"s I came across
What next?
First Attempt
Failure
- Failure
used cp -prv /versions/pristine/852/* /mnt/sd/. (it lit. takes HOURS to copy over); boot yields the following:
FATAL: Module scsi_wait_scan not found. FATAL: Module scsi_wait_scan not found. FATAL: Module scsi_wait_scan not found. FATAL: Module scsi_wait_scan not found. FATAL: Module scsi_wait_scan not found. No root device found Boot has failed, sleeping forever.
Observations
- Noticed that OFW looks for root=LABEL=OLPCRoot or somesuch, and my SD was formatted mkfs.ext3 -v -L OLPC-SD (oops?).
- Maybe editing /boot/olpc.fth with µemacs in OFW?
- Manually specifying kernel arg/root dev. in OFW (until "in")?
- Penguin, not OLPC logo, shows in corner of screen... oopsie or intentional? [ shrugs shoulders ]
Post-Mortem
- Boot into OFW (note: make sure to mention developer key required)
- emacs sd:\boot\olpc.fth
- BTW, didn't it occur to anyone that there isn't an F5/F6/F7/F8 key on an OLPC keyb? ^X^S won't work, and I can't tell which button/key I'm pressing!
- Down near the end - look for the last screenful:
" nand" dn-buf count sindex 0>= if " root=/dev/mtdblock0 rootfstype=jffs2" else " root=LABEL=OLPCRoot rootfstype=ext3" then
- Switching root=LABEL=OLPCRoot to root=LABEL=OLPC-SD (note: maybe tell people to mkfs.ext3 -v -L OLPCRoot instead of editing a posteriori w/ dev key)
Second Attempt
Failure
<TUX>
[ 7.824604] dracut: Switching root dracut: Switching root init: readahead-collector.event main process (870) terminated with status 1 Welcome to Fedora OLPC Release 10 (based on Fedora 11) Press 'I' to enter interactive startup Starting udev: udevd-event[1113]: unknown format char 'g' udevadm settle - timeout of 0 seconds reached, the event queue contains: /sys/devices/virtual/tty/tty0 (656) /sys/devices/virtual/tty/console (653) /sys/devices/virtual/net/lo (651) /sys/devices/virtual/block/ram9 (623) /sys/devices/virtual/block/ram8 (622) /sys/devices/virtual/block/ram7 (621) /sys/devices/virtual/block/ram6 (620) /sys/devices/virtual/block/ram5 (619) /sys/devices/virtual/block/ram4 (618) /sys/devices/virtual/block/ram3 (617) /sys/devices/virtual/block/ram2 (616) /sys/devices/virtual/block/ram15 (615) /sys/devices/virtual/block/ram14 (614) /sys/devices/virtual/block/ram13 (613) /sys/devices/virtual/block/ram12 (612) /sys/devices/virtual/block/ram11 (611) /sys/devices/virtual/block/ram10 (610) /sys/devices/virtual/block/ram1 (609) /sys/devices/virtual/block/ram0 (608) /sys/devices/platform/rtc_cmos/rtc/rtc0 (585) /sys/devices/pci0000:00/0000:00:0c.1/mmc_host/mmc0/mmc0:b368/block/mmcblk0/mmcblk0p1 (544) Wait timeout. Will continue in the background. [FAILED] /etc/init.d/functions: line 494: /usr/bin/plymouth: Input/output error [ 662.777089] EXT3-fs error (device: mmcblk0p1): ext3_get_inode_loc: unable to read inode block - in ode=17748, block65625 [ 988.376632] EXT3-fs error (device: mmcblk0p1): ext3_find_entry: reading directory #311662 offset 0 udevd-event[991]: exec of program '/sbin/alsactl' failed'
Observations
Looks like a total hang, but no "I give up" message on screen, so sipping coffee and pondering next move... (SD card busted? 10.1.2 not expecting to boot off SD? Can I fsck from withing OFW?)
Post-mortem
OFW doesn't seem to have fsck, so...
- Restarted from 10.1.2 on NAND
- /sbin/init 3 in console.
- fsck.ext3 -v /dev/mmcblk0p1 returned OLPC-SD: clean, 43246/981120 files, 353740/3922425 blocks.
- fsck.ext3 -fv /dev/mmcblk0p1 found a problem with inode 13 - fixed (please let that be the reason)
- shtudown -r now
Third Attempt
Apparent Success
Greeted with "Name:_____" screen .o0( "I'd like to thank my momma and Elvis..." )
Observations
Boot was kinda sluggish (part key generation, part olpc-configure note: doing a mkdir -pv /mnt/sd/home/olpc after copying to /mnt/sd is imperative), and was done with √ held down - time to take off the training wheels
Post-Mortem
- shoutdown -h now, sip some more coffee, and boot without any "cheat codes".
Fourth Attempt
Observations
Something's wrong: Boot screen stuck at one dot for a long time, then blank console with blinking cursor; no command prompt, no response to keyb input.
Post-Mortem
Forcing a poweroff, waiting, and trying again w/o cheat codes.
Fifth Attempt
Apparent Success
Boot sequence looks normal (I'm gonna hafta get used to seeing "sugar labs" in the lower left). One more poweroff, another coffee, and I'll confirm success in a few minutes (I hope)!
Apparent Success
Boot sequence looks normal (I'm gonna hafta get used to seeing "sugar labs" in the lower left). One more poweroff, another coffee, and I'll confirm success in a few minutes (I hope)!
Sixth Attempt
Successful
Boots on its own while on battery :-D
Observations
- Boot animation seems to be much faster than before
- Wireless network colors are different than in 802.
- Still can't get used to having to scroll horizontally so see control panel options.
- No activities (no surprise - see [[1]])
- After DLing activities, all icons went blank and had to three-finger Sugar
Post-Mortem
¡GOL!, but where's "Restart"??
Seventh Attempt/Second Confirmation =
Sugar, GNOME, and console all work... High-fives all 'round, smoke 'em if you got 'em, and I'll start writing the how-to asap.
Next Steps
- Fix YUM problems
(Why on Earth are /var/cache/yum, /var/tmp, /var/log being mounted as devices?!?Because /etc/fstab said so - YUM won't work with the mount to /tmp - comment the lines out in fstab)- Install WINE, TeXLive, GCC, and a few non-free YUMmies
- Swap space (512MB, probably)
- /etc/motd
- Setup SSH...
- And why can't I shutdown or restart from GNOME? And why can't GNOME end a session cleanly (read: go back to sugar)? And where is the battery monitor for GNOME? And why the bleep can't I shutdown or restart from GNOME??