Talk:Emulating the XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Wiki maintenance - how to build needed images)
(→‎Wiki maintenance - how to build needed images: continue attempt to create a livecd with Library.)
Line 10: Line 10:
== Wiki maintenance - how to build needed images ==
== Wiki maintenance - how to build needed images ==


The two flavors of iso/img's we really want to give visitors are not regrettably generated automatically. Here is how to create them.
The two flavors of iso/img's we really want to give visitors are not regrettably generated automatically. This section describes the attempt to create them. [[User:MitchellNCharity|MitchellNCharity]] 22:47, 1 June 2007 (EDT)


=== Modified .iso LiveCD - adding the olpc library ===
=== Modified .iso LiveCD - adding the olpc Library ===
The [[LiveCd]] is intended for development, and thus doesn't include the olpc library. One wants the library when demo'ing sugar to visitors. Here is how to add it.
The [[LiveCd]] is intended for development, and thus doesn't include the [[Library]] sample content. One wants the library when demo'ing sugar. Here is how to add it.


The LiveCD is currently created manually every month or two. [[User:Holger|Holger]] is working to make it automatic and daily. Perhaps we can make this part of that process.
The LiveCD is currently created manually every month or two.


==== Getting /home/olpc/Libary ====
==== Getting /home/olpc/Libary ====
Sigh. You would think there was a tar somewhere. But no.
Sigh. You would think there was a tar somewhere. But not as of 2007-06-01.


Approaches:
Approaches:
Line 32: Line 32:
mkdir tmpdir
mkdir tmpdir
mount -o loop,offset=32256 olpc-redhat-stream-development-ext3.img tmpdir
mount -o loop,offset=32256 olpc-redhat-stream-development-ext3.img tmpdir
But I can't. :/
But that doesn't work for me.
*Get shell access to tar or rpm it.
*...out of time for today... [[User:MitchellNCharity|MitchellNCharity]] 15:17, 27 May 2007 (EDT)
*Request it on [[Talk:Library]].
*...


==== Get squashfs ====
Get the livecd:
Get [http://squashfs.sourceforge.net/ squashfs]. On fc6,
yum install squashfs-tools

==== Add the library ====
wget http://olpc.download.redhat.com/olpc/streams/sdk/latest/livecd/olpc-redhat-stream-sdk-livecd.iso
wget http://olpc.download.redhat.com/olpc/streams/sdk/latest/livecd/olpc-redhat-stream-sdk-livecd.iso


As root
...
mkdir tmp_iso
mount -o loop -t iso9660 olpc-redhat-stream-sdk-livecd.iso tmp_iso
/usr/sbin/unsquashfs -dest tmp_squashfs tmp_iso/squashfs.img # about 4GB

file tmp_squashfs/os.img
## tmp_squashfs/os.img: x86 boot sector; partition 1: ID=0x83, starthead 1, startsector 62, 8388290 sectors, extended partition table (last)\011
## 62 * 512 = 31744
mkdir tmp_os
mount -o loop,offset=31744 -t ext3 tmp_squashfs/os.img tmp_os

mkdir tmp_os/home/olpc/Library
(cd dev.laptop.org/pub/content/library/; tar cf - .)|(cd tmp_os/home/olpc/Library; tar xf -)
chown -R 500:500 tmp_os/home/olpc/Library

umount tmp_os
/sbin/mksquashfs tmp_squashfs squashfs.img.new

mkdir tmp_iso2
(cd tmp_iso; tar cf - .)|(cd tmp_iso2; tar xpf -)
umount tmp_iso
mkisofs -v -r -T -J -V 'Modified LiveCd mumble' -l -R -c boot.catalog -b squashfs.img -o new.iso tmp_iso2 ##XXX - wrong - doesn't work

Notes:
*Unfinished.
*Could be cleaned up. And parts copied out into Help_and_tips.



=== qemu .img version of the LiveCd+Library ===
=== qemu .img version of the LiveCd+Library ===

Revision as of 02:47, 2 June 2007

Xen Player

Is anybody doing such an emulation? Nitpicker 21:59, 5 October 2006 (EDT)

Moved from abandoned Talk:OS_images_for_emulation. MitchellNCharity 03:04, 24 May 2007 (EDT)

Temporary summary of current state

currently: quickstart is a "choice of livecd/sound/no-library/read-only or qemu/non-devel.img/no-sound/library/read-write". and devel is "mix of qemu/livecd.iso/sound/ro and qemu/-devel.img/no-sound/rw". MitchellNCharity 13:06, 24 May 2007 (EDT)

Wiki maintenance - how to build needed images

The two flavors of iso/img's we really want to give visitors are not regrettably generated automatically. This section describes the attempt to create them. MitchellNCharity 22:47, 1 June 2007 (EDT)

Modified .iso LiveCD - adding the olpc Library

The LiveCd is intended for development, and thus doesn't include the Library sample content. One wants the library when demo'ing sugar. Here is how to add it.

The LiveCD is currently created manually every month or two.

Getting /home/olpc/Libary

Sigh. You would think there was a tar somewhere. But not as of 2007-06-01.

Approaches:

wget -r http://dev.laptop.org/pub/content/library

and then grovel over dev.laptop.org/pub/content/library/sidebar.html to obtain the sections.

perl -ne 'next if !m#(\w+)/index.html#;print "http://dev.laptop.org/pub/content/library/$1/\n";' < dev.laptop.org/pub/content/library/sidebar.html|sort -u > deleteme
cat deleteme | xargs -n 1 wget -r

But, then you would need to chase after more directories. Punt.

  • Snarf a copy from an xo disk image (the ext3.img variety).
    The -devel_ext3.img's don't have it. An ext3-tree tar I tried didn't have it.You should be able to do the following as root:
mkdir tmpdir
mount -o loop,offset=32256 olpc-redhat-stream-development-ext3.img tmpdir

But that doesn't work for me.

  • Get shell access to tar or rpm it.
  • Request it on Talk:Library.
  • ...

Get squashfs

Get squashfs. On fc6,

yum install squashfs-tools

Add the library

wget http://olpc.download.redhat.com/olpc/streams/sdk/latest/livecd/olpc-redhat-stream-sdk-livecd.iso

As root

mkdir tmp_iso
mount -o loop -t iso9660 olpc-redhat-stream-sdk-livecd.iso tmp_iso
/usr/sbin/unsquashfs -dest tmp_squashfs tmp_iso/squashfs.img  # about 4GB
file tmp_squashfs/os.img
## tmp_squashfs/os.img: x86 boot sector; partition 1: ID=0x83, starthead 1, startsector 62, 8388290 sectors, extended partition table (last)\011
## 62 * 512 = 31744
mkdir tmp_os
mount -o loop,offset=31744 -t ext3 tmp_squashfs/os.img tmp_os
mkdir tmp_os/home/olpc/Library
(cd dev.laptop.org/pub/content/library/; tar cf - .)|(cd tmp_os/home/olpc/Library; tar xf -)
chown -R 500:500 tmp_os/home/olpc/Library
umount tmp_os
/sbin/mksquashfs tmp_squashfs squashfs.img.new
mkdir tmp_iso2
(cd tmp_iso; tar cf - .)|(cd tmp_iso2; tar xpf -)
umount tmp_iso
mkisofs -v -r -T -J -V 'Modified LiveCd mumble' -l -R -c boot.catalog -b squashfs.img -o new.iso tmp_iso2  ##XXX - wrong - doesn't work

Notes:

  • Unfinished.
  • Could be cleaned up. And parts copied out into Help_and_tips.


qemu .img version of the LiveCd+Library