OS Builder/Run on XO hardware: Difference between revisions
Jump to navigation
Jump to search
(→Recipe) |
(→Recipe) |
||
Line 22: | Line 22: | ||
mount |
mount |
||
# unmount any existing |
# unmount any existing partitions |
||
umount /media/mysdcard |
umount /media/mysdcard |
||
# |
# delete manufacturer's partition |
||
# create a new partition, of at least 2GB, type 82 |
# create a new partition, of at least 2GB, type 82 |
||
parted /dev/mmcblkN |
|||
(parted) rm 1 |
|||
(parted) mkpart primary linux-swap 1M -1s |
|||
(parted) quit |
|||
# prepare the new partition to be swap |
# prepare the new partition to be swap |
||
# it will report a UUID identifier |
# it will report a UUID identifier |
||
partprobe |
|||
mkswap /dev/mmcblkNp1 |
mkswap /dev/mmcblkNp1 |
||
# add this line to fstab to use swap automatically on every boot |
# add this line to fstab to use swap automatically on every boot |
||
UUID=<UUID reported by mkswap> swap swap defaults 0 0 |
echo UUID=<UUID reported by mkswap> swap swap defaults 0 0 >> /etc/fstab |
||
# enable all swap partitions in fstab |
# enable all swap partitions in fstab |
||
swapon -a -v |
swapon -a -v |
||
⚫ | |||
⚫ | |||
⚫ | |||
date --utc --set="{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}} {{CURRENTHOUR}}:{{CURRENTMINUTE}}:{{CURRENTSECOND}}" |
|||
⚫ | |||
* Follow the [[OS_Builder/Development|OS Builder development installation instructions]] -- remember to disable firstboot, and note that you will want to have your OS Builder directory on the external USB disk |
* Follow the [[OS_Builder/Development|OS Builder development installation instructions]] -- remember to disable firstboot, and note that you will want to have your OS Builder directory on the external USB disk |
||
* On F14, you will need to bind-mount /var/tmp to be on your external USB HDD; some large |
* For 11.3.x, On F14, you will need to bind-mount /var/tmp to be on your external USB HDD; because some large files are created: |
||
mkdir /media/externaldisk/vartmp |
mkdir /media/externaldisk/vartmp |
||
cp -pr /var/tmp/* /media/externaldisk/vartmp/ |
cp -pr /var/tmp/* /media/externaldisk/vartmp/ |
Revision as of 03:23, 13 June 2013
It is usually possible, if a bit slow, to run OS builder on XO hardware. On platforms where fast machines are available (such as x86), using a server-class "builder" machine is recommended.
When resources are limited, or if server-class machines are not available for the platform (such as ARM), this recipe is recommended.
The procedure has been tested with XO-1.75 and XO-4 hardware and builds of the 11.3.x series and 13.2.x series.
Ingredients
- XO-1.75 or XO-4
- Good, fast SD card for swap,
- External USB HDD -- fast, large capacity, to store cached RPMs and build files,
Recipe
- Install a recent OS (we used 11.3.1-17 or 13.2.0-8)
- Boot to Sugar or Gnome, log in, connect to network
- Disable automatic power management from the Sugar control panel, or in Gnome:
touch /etc/powerd/flags/inhibit-suspend
- Insert external SD card to be used for swap
- Prepare the SD for swap -- in a terminal, as root
# see what block device id is the external SD mount # unmount any existing partitions umount /media/mysdcard # delete manufacturer's partition # create a new partition, of at least 2GB, type 82 parted /dev/mmcblkN (parted) rm 1 (parted) mkpart primary linux-swap 1M -1s (parted) quit # prepare the new partition to be swap # it will report a UUID identifier mkswap /dev/mmcblkNp1 # add this line to fstab to use swap automatically on every boot echo UUID=<UUID reported by mkswap> swap swap defaults 0 0 >> /etc/fstab # enable all swap partitions in fstab swapon -a -v
- Prepare the USB HDD partitioning it with a large partition of type "83", then use mkfs to create an ext3 or ext4 partition.
- Ensure the system date is correct, set it if necessary:
date --utc --set="2024-11-23 18:13:05"
- Follow the OS Builder development installation instructions -- remember to disable firstboot, and note that you will want to have your OS Builder directory on the external USB disk
- For 11.3.x, On F14, you will need to bind-mount /var/tmp to be on your external USB HDD; because some large files are created:
mkdir /media/externaldisk/vartmp cp -pr /var/tmp/* /media/externaldisk/vartmp/ mount -o bind /media/externaldisk/vartmp /var/tmp
- For 11.3.x, we want to work on branch v4.0, so
git checkout -b v4.0 origin/v4.0
- For 13.2.x, install the olpc-os-builder package:
sed -i '/excludedocs/d' /etc/rpm/macros.imgcreate yum install olpc-os-builder
- During test builds, generating only one image is faster -- edit examples/olpc-os-11.3.1-xo1.75.ini to disable 8GB image generation and comment out the "usb_update" module.
Your setup is ready, you can now do:
sudo ./osbuilder.py examples/olpc-os-11.3.1-xo1.75.ini