Firmware/Building
Recipes for building Open Firmware for the OLPC XO.
Fedora - native self-hosting
Building on the hardware, or the same architecture, on which Open Firmware will be run.
Warning: we have experienced bricks as a result of compiler changes, the most recent being the switch from Fedora 11 to Fedora 14 on ARM. A brick test is when the build is checked on a laptop that can be easily debricked. We may mark recipes that are brick tested.
XO-1
How to build Open Firmware for an XO-1, on an XO-1:
- start with OLPC OS 13.2.0 build 8,
yum install -y gcc git make glibc-static iasl git clone git://dev.laptop.org/users/quozl/openfirmware (cd openfirmware/cpu/x86/pc/olpc/build; make olpc.rom)
- brick tested.
XO-1.5
How to build Open Firmware for an XO-1.5, on an XO-1.5:
- start with OLPC OS 13.2.0 build 13,
yum install -y gcc git make glibc-static acpica-tools git clone git://dev.laptop.org/users/quozl/openfirmware (cd openfirmware/cpu/x86/pc/olpc/via/build; make olpc.rom)
- does not currently work, fails with
--- Cmd: iasl -p dsdt -vi -vr -vs ../dsdt.dsl ../dsdt.dsl(387) : warning 3104: Reserved method should not return a value (_PTS) ../dsdt.dsl(1566) : warning 3124: Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer ../dsdt.dsl(1656) : warning 3124: Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer ../dsdt.dsl(1964) : error 6033: _HID string must be exactly 7 or 8 characters (XO15EC) ../dsdt.dsl(1976) : error 6136: Non-hex letters must be upper case (15EBK) ASL Input: ../dsdt.dsl - 2218 lines, 58890 bytes, 926 keywords
XO-1.75
How to build Open Firmware for an XO-1.75, on an XO-1.75:
- start with OLPC OS 13.2.0 build 13,
yum install -y gcc git make glibc-static wget git clone git://dev.laptop.org/users/quozl/openfirmware (cd openfirmware/cpu/arm/olpc/1.75/build; make olpc.rom)
- brick tested on 2013-09-13 with svn 3703 using 32013o2.zd,
- brick tested on each release, as this is the basis of the configuration used for building the release, although an XO-4 is used as the builder rather than XO-1.75,
XO-4
How to build Open Firmware for an XO-4, on an XO-4:
- start with OLPC OS 13.2.0 build 8,
yum install -y gcc git make glibc-static wget git clone git://dev.laptop.org/users/quozl/openfirmware (cd openfirmware/cpu/arm/olpc/4.0/build; make olpc.rom)
- brick tested on each release, as this is the basis of the configuration used for building the release,
Ubuntu
Preparing an Ubuntu 13.04 Raring chroot for building Open Firmware:
apt-get install debootstrap schroot debootstrap --arch i386 raring raring-i386 http://archive.ubuntu.com/ubuntu cp -p /etc/apt/apt.conf raring-i386/etc/apt/ # for universe, security, etc cp -p /etc/apt/sources.list raring-i386/etc/apt/ # for proxy settings cp -p /etc/environment raring-i386/etc/ # for proxy and locale settings cp -p /etc/sudoers raring-i386/etc/ # for %admin on Ubuntu ln -s /proc/mounts raring-i386/etc/mtab cat << EOF > /etc/schroot/chroot.d/raring-i386 [raring-i386] directory=/home/james/ephemeral.iso/raring-i386 type=directory personality=linux32 groups=users,admin EOF schroot -c raring-i386 apt-get update apt-get install git gcc patch make wget iasl git clone git://dev.laptop.org/users/quozl/openfirmware
Ubuntu 13.04 Raring has iasl 20100528-3ubuntu2.
An XO-1 build:
(cd openfirmware/cpu/x86/pc/olpc/build; make olpc.rom)
- brick tested with Q2F20 using 1b0f664.
An XO-1.5 build:
(cd openfirmware/cpu/x86/pc/olpc/via/build; make olpc.rom)
- brick tested with Q3C17 using 0f615b4.