OS images: Difference between revisions
Jump to navigation
Jump to search
m (Build images moved to OS images: More descriptive title) |
No edit summary |
||
(169 intermediate revisions by 60 users not shown) | |||
Line 1: | Line 1: | ||
{{Translations}} |
|||
== Downloads == |
|||
{{ Latest Releases |
|||
| rc = inline |
|||
| stable = inline |
|||
| devel = inline |
|||
| livecd = inline |
|||
| firmware = inline |
|||
| server = inline }} |
|||
OLPC produces '''OS images''' (also known as '''software builds''') which can be installed on XO laptops, customized and rebuilt by deployments, etc. These images include all of the system and user software, allowing your XO to boot straight into OLPC's software environment. |
|||
As the operating system for OLPC is under development, there are several builds available. The latest build might not always be stable since developers are experimenting with new features. Each build is labeled with a unique version number. When reporting problems on mailing lists, please make sure you list the build number you are using. |
|||
* To install a specific build on your laptop, follow the links to one of the XO releases from the box on the right. For other releases, see [[Releases]]. |
|||
You can download the latest images from: |
|||
* The [[Release notes]] for each release have instructions for installing or upgrading to a release on your XO. The [[Updating the XO]] page references other ways that software images can be installed. |
|||
* If you want to identify which build/release is running on your XO, see [[What release am I running?]]. |
|||
[http://olpc.download.redhat.com/olpc/streams/development http://olpc.download.redhat.com/olpc/streams/development] |
|||
* If you are interested in testing upcoming releases, the [[Friends in testing]] page explains where you can start. |
|||
* If you know what you're doing, you might be able to find the files that you're looking for on http://download.laptop.org |
|||
=== Latest Stable Build === |
|||
* To build your own image, see [[Building custom images]]. |
|||
A build is marked "stable" when the developers are happy with a build. At minimum, a stable build will meet the criterion: |
|||
* USB image on A test board with Insyde BIOS |
|||
* NAND image on A test board with Insyde BIOS, booting via USB and kexec'ing into a kernel loaded from NAND (select OLPC NAND in grub on the USB stick) |
|||
* QEMU image |
|||
* USB image for A test board with LinuxBIOS (for post-build59) |
|||
At some point this will include: |
|||
* NAND flash image for A test board with LinuxBIOS |
|||
Source: [http://mailman.laptop.org/pipermail/devel/2006-August/001396.html David Zeuthen on devel mailing list]. |
|||
A stable build does not mean everything is working, nor that it is actually "stable." For example, for a while [[Sugar]] and X were both broken in a stable build, but virtual consoles worked fine and that was enough to get work done for most developers. Casual downloader and those upgrading to a new build beware: check the mailing list to see whether there are known problems before selecting a build. |
|||
The latest stable build is [http://olpc.download.redhat.com/olpc/streams/development/build59-20060808_1153/ build59]. --[[User:Blizzard|Blizzard]] 23:35, 8 Aug 2006 (EDT) |
|||
== Image variants == |
|||
Images are available in two variants |
|||
* Normal images |
|||
** These are in the <tt>images/</tt> subdirectory of a build. |
|||
** Intended for production use; does not contain tools or software suitable for developers of the OLPC operating system |
|||
** Also available in two sub-variants: ext3, which is a filesystem image, and tree, which is an archive of the directory structure |
|||
* Developer images |
|||
** These are in the <tt>images-rpm/</tt> sub-directory of a build |
|||
** Contains tools useful for developers of the OLPC operating system |
|||
*** Presently includes: <tt>yum, rpm, vim-minimal, openssh-server, xterm, which, file, tree, wget, xorg-x11-twm, gdb</tt> |
|||
** '''WARNING''': Do not attempt to update the kernel on <tt>images-rpm</tt> builds - the <tt>initrd</tt> will be wrong. We're working on fixing this through including an <tt>olpc-mkinitrd</tt> package. |
|||
=== Passwords === |
|||
The images have no password set at build time. This means you can log in as root using no password. Always remember to change the password as the first thing when start using an image. |
|||
As the <tt>image-rpm</tt> variant ships with an SSH server you thus need to set the password to be able to login from a remote host. This is a feature of <tt>sshd</tt>. |
|||
''Password handling is subject to change before official release.'' |
|||
== Using Images == |
|||
For development we right now offer images that runs the OLPC operating system off a USB storage device. We're working on getting this to work on the NAND flash of the hardware too. Instructions to come. |
|||
=== Images on USB storage devices === |
|||
To try out an image, simply download the appropriate <tt>.img.bz2</tt> file, e.g., |
|||
olpc-stream-development-42-20060714_1709-rpm-ext3.img.bz2 |
|||
unzip it, and transfer it to a USB storage device via <tt>dd</tt>, e.g., |
|||
# bunzip2 olpc-stream-development-42-20060714_1709-rpm-ext3.img.bz2 |
|||
# dd if=olpc-stream-development-42-20060714_1709-rpm-ext3.img of=/dev/sdb bs=512 |
|||
# sync |
|||
Remember to |
|||
* Do this as the super user / root |
|||
* Replace <tt>/dev/sdb</tt> with the device file of the USB storage device. The images do contain a partition table, so do not write to a partition such as <tt>/dev/sdb1</tt> |
|||
* Make sure any old partitions from the storage device is unmounted. |
|||
* The USB storage device must be 512MB or bigger. All existing data on it will be wiped. |
|||
Now you should be able to boot the OLPC operating system off the USB storage device. |
|||
=== Installing in an existing partition on a USB storage device === |
|||
Useful notes: |
|||
* Make sure your root partition is ext3, ''not'' ext2 |
|||
* Label for root partition needs to be OLPCRoot (e.g: "tune2fs -L OLPCRoot /dev/sdb1" to set the label on an existing partition) |
|||
If you don't want to completely wipe the USB stick or hard drive, you can also try transferring the partition within the image file into an existing partition on your storage device. Using dd to transfer the image directly onto the device completely replaces the existing data and partition table. Instead, you can use loopback mounts to copy the partition across and then set-up grub on the device. |
|||
For example, I have a 200GB USB hard disk partitioned into 3 partitions: |
|||
* sdb1 - 10GB (for the root filesystem) |
|||
* sdb2 - 1.5GB swap partition |
|||
* sdb3 - the rest as a storage partition. |
|||
Retrieve and unzip the appropriate OLPC image file as above. This file contains a partition table, which describes exactly one partition. What we want to do is to mount that partition (using a loopback device) and copy the contents to the USB hard disk, then make that hard disk bootable. |
|||
First, we need to setup the image file on a loopback device so we can inspect that partition table: |
|||
# losetup /dev/loop0 olpc-stream-development-59-20060808_1153-rpm-ext3.img |
|||
Now, use fdisk to look at the contents: |
|||
# fdisk -l -u /dev/loop0 |
|||
Disk /dev/loop0: 504 MB, 504626688 bytes |
|||
16 heads, 32 sectors/track, 1924 cylinders, total 985599 sectors |
|||
Units = sectors of 1 * 512 = 512 bytes |
|||
Device Boot Start End Blocks Id System |
|||
/dev/loop0p1 32 985599 492784 83 Linux |
|||
In this case, the partition we want starts at sector 32, and each sector is 512 bytes = 16384 bytes into the image file. Now, we can set up a second loopback device to load this partition and mount it: |
|||
# losetup /dev/loop1 -o 16384 olpc-stream-development-59-20060808_1153-rpm-ext3.img |
|||
# mount -text3 /dev/loop1 /media/tmp/ |
|||
Now, copy the files to your USB hard disk: |
|||
# cd /media/tmp; find | cpio -p --unconditional --preserve-modification-time --dot /media/usbdisk |
|||
And finally, we need to set up grub on the disk to boot from the first partition. We do this using the GRUB shell. Note that in this example, we're installing on (hd1), because the external disk is the 2nd disk connected to the system. When it boots on the OLPC board, it will be the primary disk and grub will treat it as (hd0) |
|||
# grub |
|||
Probing devices to guess BIOS drives. This may take a long time. |
|||
# grub> root (hd1) |
|||
root (hd1) |
|||
Filesystem type unknown, using whole disk |
|||
# grub> root (hd1,0) |
|||
root (hd1,0) |
|||
Filesystem type is ext2fs, partition type 0x83 |
|||
grub> setup (hd1) |
|||
setup (hd1) |
|||
Checking if "/boot/grub/stage1" exists... yes |
|||
Checking if "/boot/grub/stage2" exists... yes |
|||
Checking if "/boot/grub/e2fs_stage1_5" exists... yes |
|||
Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 15 sectors are embedded. |
|||
succeeded |
|||
Running "install /boot/grub/stage1 (hd1) (hd1)1+15 p (hd1,0)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded |
|||
Done. |
|||
# grub> ^C |
|||
# |
|||
* When I tried booting from this drive on the OLPC, GRUB started but didn't load its configuration correctly - just dropping me into the grub shell instead. I needed to run 'root' and 'setup' again on the actual board to get GRUB to set itself up right. If anyone knows how to avoid this step, please fix the instructions. |
|||
=== Images in QEMU === |
|||
The easiest way to test the images is to use qemu or some similar emulator. It is available for various host systems: |
|||
* [[#QEMU on Linux|Linux]] |
|||
* [[#QEMU on Windows|Windows]] |
|||
* [[#QEMU on Mac|Mac]] |
|||
==== QEMU on Linux ==== |
|||
On Fedora Core 5, QEMU is included in extras and is very easy to install. As root just type |
|||
yum install qemu |
|||
and it should be installed. You may have to start the service for it. As root run: |
|||
service qemu start |
|||
Once you have an image downloaded, it is very easy to use qemu to launch the OLPC environment: |
|||
qemu -hda olpc-stream-development-7-20060609_1600-ext3.img |
|||
The simulator will start up at this point. When the screen turns green saying ''One Laptop Per Child'' at the bottom, press the spacebar to get the grub menu. It's '''important that you choose the OLPC Simulator option'''. The default for these images is to boot for the '''OLPC Hardware, not the Simulator'''. |
|||
We have heard multiple people say that QEMU doesn't work with these images on the debian-derived distributions. We also haven't heard of any solutions to these problems. The symptom is that the kernel hangs during boot. |
|||
[[User:Marcin|Marcin]]: On Ubuntu Dapper it hangs with qemu 0.8.0 (from distro), but works with 0.8.1 from [http://fabrice.bellard.free.fr/qemu/download.html i386 binary tarball]. |
|||
[[User:Vedran|Vedran]]: It also hangs on Debian unstable with qemu 0.8.1-1 (from distro), but works with 0.8.1 from [http://fabrice.bellard.free.fr/qemu/download.html i386 binary tarball]. |
|||
==== QEMU on Windows ==== |
|||
See [[Using QEMU on Windows XP]] |
|||
==== QEMU on Mac ==== |
|||
[[User:Bert|Bert]]: I successfully ran OLPC on OSX using the following method on a Powerbook G4 (867 MHz), albeit very slowly |
|||
*Download and install Q.app ([http://kju-app.org/ kju-app.org], I got 0.8.1a35) |
|||
*Download a disk image (build 59 worked, 73 did not), double-click to unzip. |
|||
*Double-click Q.app |
|||
*Click (+) to add a new PC |
|||
** Name: OLPC |
|||
** Operating System: Q Standard Guest |
|||
** Click (Create PC) |
|||
*Configure Settings: |
|||
** General: No file sharing |
|||
** Hardware - Hard disk: Select your unzipped disk image |
|||
** Advanced - QEMU Arguments: type "-redir tcp:2222::22" (without quotes) |
|||
** Click (Create PC) |
|||
*Double-click "OLPC" to run: |
|||
** press space to get into GRUB, choose Simulator, press "e" to edit commands, select "kernel" line, press "e", add "single" option, hit return, then "b" to boot |
|||
** set some root password (necessary for SSH), sync |
|||
** reboot (only power-off button worked for me) |
|||
*once it's up, from a terminal, log into OLPC using "ssh -p 2222 root@localhost" |
|||
=== Images in VMware Player === |
|||
VMware Player is another convenient way to test the image on your windows machine. You can convert the image to a VMware virtual disk file with qemu-img command included qemu distribution. |
|||
$ qemu-img convert olpc-stream-development-59-20060808_1153-rpm-ext3.img -O vmdk olpc.vmdk |
|||
Additionally, you need a config file to run the virtual disk. This is an example(save it as olpc.vmx). |
|||
#!/usr/bin/vmware |
|||
config.version = "8" |
|||
virtualHW.version = "3" |
|||
memsize = "128" |
|||
ide0:0.present = "TRUE" |
|||
ide0:0.fileName = "olpc.vmdk" |
|||
ide1:0.present = "TRUE" |
|||
ide1:0.fileName = "/dev/cdrom" |
|||
ide1:0.deviceType = "atapi-cdrom" |
|||
floppy0.fileName = "A:" |
|||
ethernet0.present = "TRUE" |
|||
ethernet0.connectionType = "nat" |
|||
usb.present = "TRUE" |
|||
sound.present = "TRUE" |
|||
sound.virtualDev = "es1371" |
|||
displayName = "OLPC" |
|||
guestOS = "other26xlinux" |
|||
ethernet0.addressType = "generated" |
|||
uuid.location = "56 4d d1 99 5c 64 a3 6f-ef c7 aa 86 a8 cc ed 46" |
|||
uuid.bios = "56 4d d1 99 5c 64 a3 6f-ef c7 aa 86 a8 cc ed 46" |
|||
tools.remindInstall = "TRUE" |
|||
ethernet0.generatedAddress = "00:0c:29:cc:ed:46" |
|||
ethernet0.generatedAddressOffset = "0" |
|||
checkpoint.vmState = "olpc.vmss" |
|||
ide0:0.redo = "" |
|||
Note: Don't forget to select OLPC Simulator option on booting. |
|||
[[Category:Hardware]] |
|||
[[Category:Developers]] |
|||
[[Category:OS]] |
[[Category:OS]] |
||
[[Category: |
[[Category:Build system]] |
||
[[Category:Update paths]] |
|||
[[Category:Builds]] |
Latest revision as of 21:51, 5 August 2013
OLPC produces OS images (also known as software builds) which can be installed on XO laptops, customized and rebuilt by deployments, etc. These images include all of the system and user software, allowing your XO to boot straight into OLPC's software environment.
- To install a specific build on your laptop, follow the links to one of the XO releases from the box on the right. For other releases, see Releases.
- The Release notes for each release have instructions for installing or upgrading to a release on your XO. The Updating the XO page references other ways that software images can be installed.
- If you want to identify which build/release is running on your XO, see What release am I running?.
- If you are interested in testing upcoming releases, the Friends in testing page explains where you can start.
- If you know what you're doing, you might be able to find the files that you're looking for on http://download.laptop.org
- To build your own image, see Building custom images.