[coreboot] coreboot on x60s
Denis 'GNUtoo' Carikli
GNUtoo at no-log.org
Wed Jun 26 23:47:51 CEST 2013
On Mon, 24 Jun 2013 12:55:16 +1000
oneofthem <oneofthem at lavabit.com> wrote:
> On Sun, Jun 23, 2013 at 02:09:57PM +0200, Denis 'GNUtoo' Carikli
> > If you're not confident with the instructions provided at
> > https://www.coreboot.org/Lenovo_x60x you could try to find someone
> > in your area that knows well coreboot and is able to do them for
> > you, if there is no one in your area that knows corbeoot, you could
> > still go on but you have the risk of bricking your laptop if theses
> > instructions are not followed correctly(it happened to several
> > people already, many also succedded though), if you brick the
> > laptop any hope is not lost though: There is still a way to recover
> > but it require to disassemble the laptop, buy a pomona clip and get
> > an external programmer(you may already have one without knowing
> > it), to connect them together, then to clip the pomona clip to the
> > flash chip,to connect the external programmer to another computer
> > that can run flashrom,to run flashrom and make it flash the new
> > image trough the external programmer (for instance a normal
> > coreboot image that is proven to work or the backup of the BIOS you
> > have).
> > Denis.
> Thanks, I see you attended
> How'd it go?
The first laptop was flashed correctly. The user however is not so
happy with the state of coreboot on his laptop: he has not the same
battery than the person who did the original port and he seem to have
some issues related to that, and complained about the heat produced by
the X60(however it's not proven that the heat is coreboot's fault: it
could well be there with the default BIOS too...).
I spent a lot of time on the setup on that laptop(make crossgcc takes
ages on the X60, and I had to do all the setup like setting up serial
The second laptop was a laptop belonging to the FSF: I started working
on it right after having flashed the first laptop(the one mentioned
above) and confirmed that it was working.
The setup also took quite some time, and I had to interrupt because I
had to do my presentation on Replicant, so took my hardware and went to
do the presentation.
The coreboot installation room was then used for lightning talks.
Then I had to switch to another more general puspose room(There was some
mediagoblin developers(including its lead developper) inside that room
working on mediagoblin, and also a 3D printer(the LulzBot AO-101
printer which was the first device to have the Respects Your Freedom
FSF certification  and at least one person working for the company
producing that 3D printer).
The issue is that I was really short on time:
The conference was ending and some rooms were already taken back by the
courses: for instance we forgott some tools in the coreboot room(that
later became the lightning talk room), and when I went back there after
the Replicant talk and the end of the lightning talks to get the tools
back, there was a course inside...
So I tried flashrom with the modifications that I made on the first
laptop I flashed, and it didn't detect the flash chip...
So I tried a patch I was given on the #flashrom IRC channel on
to make flashrom work but I was really short on time...
So I followed the procedure  again with the flashrom patched with
the IRC patch.
At some point I reached the instruction number 7 which says:
Run flashrom -p internal -w coreboot.rom
This will be slow, it will output errors for addresses 0x0 and
0x1f0000 when working with a 2 Mbyte flash chip, and it will say
"FAILED!" at the end, see Peter's mail before you panic.
Which resulted in . The log seemed a bit strange but the
instructions said that it had to say FAILED. I was also short on time
as I mentioned before. so I went on and powered off the computer as the
instruction number 8 suggest:
Power cycle the machine (i.e. a cold boot, not just a reboot), now
starting with coreboot
Then I powered the machine on again and there was nothing on the serial
port, and the display was black: the machine was not booting.
Then ward from the FSF ordered a pomona clip, I guess it took quite some
time to arrive, he wired it to a bus pirate, disassembled the laptop and
reflashed, but there was still nothing on serial.
Then I remembered that the BUCTS register was still in the state
resulting from bucts 1, and since he flashed an unmodified(all the dd
tricks of the howto were not done again).
So I told him to remove the CMOS battery(I previously told him not to
remove it because it would loose the coreboot settings).
Since the CMOS battery was removed, the coreboot settings were lost,
and since at that time the patch adding a cmos.default for the X60 was
not done yet, it resulted in having nothing on serial(because serial
was at a very low speed and no characted would show at 115200 bauds)
and nothing on the screen either(because coreboot was too slow, because
the serial was at the very low speed, beside at that time there
was no native graphics initialization at all, and he didn't use
the non-free VGA option rom for obvious reasons(it's non-free)).
That is because removing the CMOS battery resulted in corrupt CMOS
area, and coreboot used the corrupted values in romstage.
So he seem to have rebooted several times and at the end there was
something on the serial port:
In ramstage(in the mainboard specific code), coreboot was resetting sane
default values for the CMOS/nvram parameters...
Nowadays the X60, M4A785T-M and Alix.1C have a cmos.default in the
coreboot tree, which get included in the coreboot image and used during
the romstage to reset sane defaults if coreboot detects that the CMOS
area is corrupt...
Before it happened way too late, in ramstage...
> >A special image that contains everything on an USB key will have to
> >be prepared to make the installation faster.
> Did this ever happen?
No, Since the number of devices to flash was small I did everything on
the target laptops so the user would be sure to have every source.
More information about the coreboot