how to semi permanently liberate your olpc

get developer key for your machine
put it on a usb key in /security folder
plug key in olpc before boot
during splash screen hit escape
at ok prompt type "disable-security" hit enter
olpc no longer needs developer key to run unsigned os images

semi-permanent in that it will not survive if you upgrade the firmware, but it will survive a re-installation of the OS

OLPC bad hash for eblock problem when upgrading

Your OS image (e.g. os767.img) that you want to upgrade to is corrupted from either being downloaded improperly or copied to your usb drive improperly. For me it was the latter.

Use the md5sum command to compare the file you have copied to your usb drive to the one on the olpc website (md5 sum file is also on the olpc website so you can compare).

If, like me, your file was getting corrupted moving from your desktop where you downloaded the file to your usb drive, try both of the following in sequence.

1) mount the usb drive with the sync option (under gnome 2.24 or newer you can get to this in the drive properties dialog under mount options -- type sync there and remount the device). Note that this option produces more wear on flash drives, and should be turned off after you successfully flash your olpc. On the other hand, if you are regularly getting large files with bits corrupted, especially on a cheap flash drive that you are not worried about, might not be that bad to leave it on.

2) use the cp command from the commandline rather than dragging the file to the usb drive from gnome, it doesn't cheat to make the copying seem faster.

How to write zeros to all sectors of a drive under linux


shred -vfz -n 0 /dev/xxx

-v is for verbose (this takes a huge amount of time and you really will want progress updates)
-z is for write zeros
-n 0 is for how many passes of totally random data to write first, here none. Feel free to do random passes if you are doing this for data destruction purposes. It takes a long time.

(you should replace xxx with the raw drive, not the partition, e.g. sdd not sdd1. YOU WILL DESTROY YOUR DATA IF YOU DO THIS TO THE WRONG DRIVE. If you need to find out what your desired target disk has been recognized as (may change every boot) run fdisk -l or gparted and look for a disk of the right size and type in the results. BE VERY SURE, and make sure your data is for the current boot (may change).


Were going to New Hampshire, North Carolina, Indiana, Florida, Michigan, New Mexico, Colorado, Nevada......

Thanks Howie!



Great Big Gettin Up Morning

Hopefully the country passes the test today.

Bytecc BT-PESAPA eSATA fix

Executive Summary:
Problem: Your Drives don't work under linux on the eSATA ports.
Solution: You probably need to set all the jumpers on the card one step to the left, as they ship only configured to make the internal ports work. However, there may be other things you need to do to make stuff function as well. Read below for longer discussion.

First, for eSATA you will need to fix the jumpers on the card by moving them all (yes all of them) over one space to the left so that they bridge the 3 & 2 pins. This is actually printed on the card circuit board near the PATA port, but it says pins 3&4 for some reason (but there is no pin 4).

OK, done. Power up your machine, everything should start working. The drive will be there, (though not mounted or formatted obviously if it's a new drive). If things aren't working or you need more help, the below commands can help troubleshoot.

Commands to figure out what is going on:

check to see if your drive is/is not detected:
sudo fdisk -l
look for a disk the right size that has partitions that match what you are expecting to see. A totally new disk may not have any partition table. If you see the disk in any form, then stop here, you don't have to do the below, you're ready to go. For fun if you have smartmontools installed, you can check the drive SMART status with smartctl -a -d ata /dev/sdx (where x is the drive fdisk saw)

If fdisk can't see the disk...

You may have a kernel that is rather old no (ahci driver) or one doesn't load it for you. (check this so you don't feel silly):
sudo modprobe -l | grep ahci

if this isn't present, go read up on enabling kernel modules for your distro.

You can also check to see if the sata ports seem are up or down to linux:
cat /var/log/messages | grep SATA

this is what a port looks like down:
ata8: SATA link down (SStatus 0 SControl 300)

this is what a port looks like up:
ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 300)

Note that a sata port on the bytecc will appear as down if the jumpers are not properly set. You will also see a ton of other ports if you have other SATA ports on your machine, so look for listing that appear with the card seated, but don't with it gone.

Lastly, could it be that the PCI Express connector is bad on the card or your board?

look at
lspci -vv
and look for the JMicron SATA controller. If you don't see it, you may have a hardware issue or may not have the kernel driver loaded.

Sorry this was rambling, but hopefully it helped.