Firmware/Building: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
How to build Open Firmware for an XO-1.75 or XO-4, on an XO-1.75 or XO-4
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.

<font color="red">Warning:</font> we have experienced [[Firmware/Recovery|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,
* start with OLPC OS 13.2.0 build 8,


yum install -y gcc git svn make glibc-static
yum install -y gcc git make glibc-static iasl
svn co -q svn://openfirmware.info/openfirmware
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 [[Release_notes/13.2.0#XO-1.75|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)
(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 [http://dev.laptop.org/git/users/quozl/openfirmware/commit/?id=1b0f66486b85ba31c6d0d3980a8ceb965ab900c0 1b0f664].

An XO-1.5 build:

(cd openfirmware/cpu/x86/pc/olpc/via/build; make olpc.rom)

* brick tested with Q3C17 using [http://dev.laptop.org/git/users/quozl/openfirmware/commit/?id=0f615b4c1004fe3af0f8a408c91ba0f1a81e0db1 0f615b4].

Latest revision as of 09:24, 29 January 2016

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:

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.