Difference between revisions of "VirtualBox/Preparing a disk image"

From Sugar Labs
Jump to navigation Jump to search
(incorporate full, uncompressed image alternate)
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<noinclude>{{TOCright}}</noinclude>
+
<noinclude></noinclude>
 +
==LiveOS image==
 +
Below are instructions for preparing a VirtualBox disk image from a SoaS iso image file.  The process parallels the compressed [[LiveOS image]] used on Live CD and Live USB installations.
 +
* (Taken from Dave Bauer's posting at http://schools.sugarlabs.org/mod/forum/discuss.php?d=27.)
 +
* Updated 16 August 2010 with [http://www.virtualbox.org/wiki/Downloads VirtualBox 3.2.8] and 32-bit Fedora.
  
Instructions for preparing a VirtualBox disk image from a SoaS iso image file.
+
 
:(Taken from Dave Bauer's posting at http://schools.sugarlabs.org/mod/forum/discuss.php?d=27.)
+
('''Note:''' The SoaS .iso distribution also contains an installer for full, uncompressed, hard disc images of Fedora with the Sugar graphical interface. See [[#Uncompressed, hard disc image|Uncompressed, hard disc image]] below for instructions.)
==Installing SoaS iso image==
+
===Installing SoaS .iso image===
# Create a new VM.
+
# Create a new VM, choose a name, such as Mirabelle
# Choose Linux->Fedora
+
# Choose Linux for the Operating System and Version Fedora (use 64 bit, if available)
# Choose 256MB
+
# Choose Base Memory Size: 256 MB to match an XO-1, 512 or 1024 MB to match an XO-1.5
# Create a new disk image, 2GB
+
# Create a new virtual hard disk image with dynamically expanding storage of 2 GB
 
# Finish.
 
# Finish.
# Download the lastest SoaS, http://download.sugarlabs.org/soas/snapshots/2/?C=M;O=D, for Fedora-12.
+
# Download the lastest SoaS, http://spins.fedoraproject.org/soas/#downloads, for Fedora 13.
# Mount SoaS ISO as a CD-ROM in the newly created VM.
+
# Mount the SoaS .iso image file as a CD-ROM in the newly created VM.
# Change Network Adapter to Intel Pro/1000 MT Desktop (82540EM)
+
# Change the Network Attached to: Bridged Adapter  (This allows for networking with the host computer.)
#* recommended by VirtualBox for modern hosts -- Default of PCnet-FAST III (Am79C973) also worked on Ubuntu 8.10 and Vista hosts.
+
# Start the VM
#* Select Attached to: Host Interface -- allows local networking for SSH connections to probe the file system.
+
# Enter an account name and startup Sugar.
# Boot VM
 
# Type you name and startup Sugar.
 
 
# Open Terminal.
 
# Open Terminal.
# su -
+
# {{Code|su -}}
# parted /dev/sda
+
# {{Code|parted}}
# mklabel msdos -- make partition table
+
# {{Code|mklabel msdos}}
# mkpartfs primary ext2 0 2048
+
#: This makes a partition table.
# toggle 1 boot
+
# {{Code|mkpart primary ext2 0 2048}}
# quit
+
#: You will receive this message:<br>Warning: The resulting partition is not properly aligned for best performance.<br>Ignore/Cancel?
# umount /dev/sda1 -- (not required with soas-2-blueberry.iso)
+
#: Enter (I)gnore
# /media/soas-2-blueberry/LiveOS/livecd-iso-to-disk --overlay-size-mb 400 /dev/sr0 /dev/sda1
+
# {{Code|toggle 1 boot}}
#: (for earlier versions of SoaS, like Strawberry, use /mnt/live/LiveOS/livecd-iso-to-disk ...<br>soas05.iso carries an incompatible version of livecd-iso-to-disk, see [http://bugs.launchpad.net/soas/+bug/417415 this bug report].)
+
# {{Code|quit}}
#* the --overlay-size-mb NNN option creates space for persistence of changes on the disk; otherwise, a liveOS disk is read-only.
+
# {{Code|mke2fs /dev/sda1}}
#: <br>The following optional parameters seem to be incompatible with soas-1-strawberry and soas-2-blueberry released versions.  (The script completes successfully, but the virtual machine startup process has trouble finding the home directory and fails to complete.)
+
# {{Code|/LiveOS/livecd-iso-to-disk --overlay-size-mb 1024 --home-size-mb 200 --delete-home --unencrypted-home /dev/sr0 /dev/sda1}}<br>(for earlier versions of SoaS
#* the --home-size-mb NNN option creates space for saving the /home/liveuser folder if you want to update the OS image while keeping the user files.  (In this case, skip the new disk creation and parted steps and leave out the --home-size-mb NNN option at this step and continue on.)
+
#: Blueberry - use /media/soas-2-blueberry/LiveOS/livecd-iso-to-disk<br>Strawberry - use /mnt/live/LiveOS/livecd-iso-to-disk)
#* the --unencrypted-home option prevents password protection and encryption on the /home/liveuser folder. This releaves the overhead on the compressed squashfs and should be more robust to file system failures (outside of security).
+
<ul>
#* the --delete-home option is used to avoid an error message while requesting both a new home (with --home-size-mb) and a persistent home (with--unencrypted-home).  You wouldn't use this option on an upgrade.
+
{{Show|<Terminal log>
# shutdown -h now
+
|<pre>
 +
[root@localhost ~]# parted
 +
GNU Parted 2.1
 +
Using /dev/sda
 +
Welcome to GNU Parted! Type 'help' to view a list of commands.
 +
(parted) mklabel msdos                                                   
 +
(parted) mkpart primary ext2 0 2048
 +
Warning: The resulting partition is not properly aligned for best performance.
 +
Ignore/Cancel? I                                                         
 +
(parted) toggle 1 boot                                                   
 +
(parted) quit                                                           
 +
Information: You may need to update /etc/fstab.                          
 +
 
 +
[root@localhost ~]# mke2fs /dev/sda1
 +
mke2fs 1.41.10 (10-Feb-2009)
 +
Filesystem label=
 +
OS type: Linux
 +
Block size=4096 (log=2)
 +
Fragment size=4096 (log=2)
 +
Stride=0 blocks, Stripe width=0 blocks
 +
125184 inodes, 500000 blocks
 +
25000 blocks (5.00%) reserved for the super user
 +
First data block=0
 +
Maximum filesystem blocks=515899392
 +
16 block groups
 +
32768 blocks per group, 32768 fragments per group
 +
7824 inodes per group
 +
Superblock backups stored on blocks:
 +
    32768, 98304, 163840, 229376, 294912
 +
 
 +
Writing inode tables: done                           
 +
Writing superblocks and filesystem accounting information: done
 +
 
 +
This filesystem will be automatically checked every 36 mounts or
 +
180 days, whichever comes first.  Use tune2fs -c or -i to override.
 +
[root@localhost ~]#
 +
[root@localhost ~]# /LiveOS/livecd-iso-to-disk --overlay-size-mb 1024 --home-size-mb 200 --delete-home --unencrypted-home /dev/live /dev/sda1
 +
Verifying image...
 +
/dev/sr0:  0ce28e3947106fd37bab9317abf09938
 +
Fragment sums: a3c6e5fd5fba11d2b4da71771e8732b63bcb62b841971f7f39ab5c187f64
 +
Fragment count: 20
 +
Checking: 100.0%
 +
 
 +
The media check is complete, the result is: PASS.
 +
 
 +
It is OK to use this media.
 +
Copying live image to USB stick
 +
Updating boot config file
 +
Initializing persistent overlay file
 +
0+0 records in
 +
0+0 records out
 +
0 bytes (0 B) copied, 0.000150187 s, 0.0 kB/s
 +
Initializing persistent /home
 +
0+0 records in
 +
0+0 records out
 +
0 bytes (0 B) copied, 0.0039562 s, 0.0 kB/s
 +
Formatting unencrypted /home
 +
mke2fs 1.41.10 (10-Feb-2009)
 +
Filesystem label=
 +
OS type: Linux
 +
Block size=1024 (log=0)
 +
Fragment size=1024 (log=0)
 +
Stride=0 blocks, Stripe width=0 blocks
 +
51200 inodes, 204800 blocks
 +
10240 blocks (5.00%) reserved for the super user
 +
First data block=1
 +
Maximum filesystem blocks=67371008
 +
25 block groups
 +
8192 blocks per group, 8192 fragments per group
 +
2048 inodes per group
 +
Superblock backups stored on blocks:
 +
    8193, 24577, 40961, 57345, 73729
 +
 
 +
Writing inode tables: done                           
 +
Creating journal (4096 blocks): done
 +
Writing superblocks and filesystem accounting information: done
 +
 
 +
This filesystem will be automatically checked every 26 mounts or
 +
180 days, whichever comes first.  Use tune2fs -c or -i to override.
 +
tune2fs 1.41.10 (10-Feb-2009)
 +
Setting maximal mount count to -1
 +
Setting interval between checks to 0 seconds
 +
Installing boot loader
 +
/media/usbdev.XB8shz/syslinux is device /dev/sda1
 +
USB stick set up as live image!
 +
</pre>}}
 +
* the --overlay-size-mb NNN and --home-size-mb NNN options creates space for persistence of changes on the disk; otherwise, a liveOS disk is read-only. See [[LiveOS image]].
 +
: <br>The following optional parameters seem to be incompatible with soas-1-strawberry and soas-2-blueberry released versions.  (The script completes successfully, but the virtual machine startup process has trouble finding the home directory and fails to complete.)
 +
* the --home-size-mb NNN option creates space for file storage in the /home/liveuser folder.  (In the case where you you want to update the LiveOS image while keeping the user files, skip the new disk creation and parted steps, leave out the --home-size-mb NNN option at this step, and continue on.)
 +
* the --unencrypted-home option prevents password protection and encryption on the /home/liveuser folder. This releaves the overhead on the compressed [[wikipedia:SquashFS|SquashFS]], and should be more robust to file system failures (outside of security).
 +
* the --delete-home option is used to avoid an error message while requesting both a new home (with --home-size-mb) and a persistent home (with --unencrypted-home).  (You wouldn't use this option for the LiveOS upgrade case.)
 +
</ul>
 +
<ol start=20>
 +
<li> {{Code|shutdown -h now}}</li>
 +
</ol>
 
==Installing VirtualBox Guest Additions==
 
==Installing VirtualBox Guest Additions==
# Unmount CDROM in VirtualBox settings
+
The VirtualBox Guest Additions requires installing [[wikipedia:Dynamic_Kernel_Module_Support|DKMS]] and compiling virtual device drivers for the Linux kernel.
# Mount VBoxGuestAdditions.iso in its place.
+
# Unmount CD/DVD in VirtualBox settings, select 'Empty' for the CD/DVD device under 'Attributes'
# Boot VM
+
# Start the virtual machine
 
# Open Terminal
 
# Open Terminal
# su -
+
# {{Code|su -}}
# yum install dkms gcc make
+
<ol start=5>
#: (Other dependencies will be called into the installation.)
+
<li>Determine the kernel version,<br>
 +
{{Code|uname -a}}<br>
 +
<pre>
 +
Linux localhost.localdomain 2.6.33.3-85.fc13.i686 #1 SMP Thu May 6 18:44:12 UTC 2010 i686 i686 i386 GNU/Linux</pre></li>
 +
<li>For SoaS-Mirabelle, the kernel is Linux-2.6.33.3-85.fc13, so specific kernel-headers and kernel-devel are needed:<br><br>
 +
{{Code|yum install kernel-headers-2.6.33.3-85.fc13 kernel-devel-2.6.33.3-85.fc13 dkms gcc}}<br>
 +
: (Other dependencies will be called into the installation.)
  
<div class="NavFrame collapsed">
+
{{Show|<Successful Terminal log from 16 Aug 2010 with Fedora 32 bit>  
<div class="NavHead">
+
|<pre>
yum.log from 06 December 2009):
+
[root@localhost ~]# yum install kernel-devel-2.6.33.3-85.fc13 kernel-headers-2.6.33.3-85.fc13 dkms gcc
</div>
 
<div class="NavContent">
 
<pre>
 
[root@localhost ~]# yum install dkms gcc make
 
 
Loaded plugins: presto, refresh-packagekit
 
Loaded plugins: presto, refresh-packagekit
fedora/metalink                      |  18 kB    00:00   
 
fedora                              | 4.2 kB    00:00   
 
fedora/primary_db                    | 9.7 MB    01:50   
 
sugar                                | 1.3 kB    00:00   
 
sugar/primary                        | 5.9 kB    00:00   
 
sugar                                                25/25
 
updates/metalink                    |  17 kB    00:00   
 
updates                              | 4.4 kB    00:00   
 
updates/primary_db                  | 1.3 MB    00:14   
 
 
Setting up Install Process
 
Setting up Install Process
 
Resolving Dependencies
 
Resolving Dependencies
 
--> Running transaction check
 
--> Running transaction check
 
---> Package dkms.noarch 0:2.1.0.1-1.fc12 set to be updated
 
---> Package dkms.noarch 0:2.1.0.1-1.fc12 set to be updated
--> Processing Dependency: kernel-devel for package: dkms-2.1.0.1-1.fc12.noarch
+
---> Package gcc.i686 0:4.4.4-10.fc13 set to be updated
---> Package gcc.i686 0:4.4.2-7.fc12 set to be updated
+
--> Processing Dependency: cpp = 4.4.4-10.fc13 for package: gcc-4.4.4-10.fc13.i686
--> Processing Dependency: cpp = 4.4.2-7.fc12 for package: gcc-4.4.2-7.fc12.i686
+
--> Processing Dependency: libgomp = 4.4.4-10.fc13 for package: gcc-4.4.4-10.fc13.i686
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.2-7.fc12.i686
+
--> Processing Dependency: libgcc >= 4.4.4-10.fc13 for package: gcc-4.4.4-10.fc13.i686
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.2-7.fc12.i686
+
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.4-10.fc13.i686
---> Package make.i686 1:3.81-18.fc12 set to be updated
+
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.4-10.fc13.i686
 +
---> Package kernel-devel.i686 0:2.6.33.3-85.fc13 set to be installed
 +
---> Package kernel-headers.i686 0:2.6.33.3-85.fc13 set to be updated
 
--> Running transaction check
 
--> Running transaction check
 
---> Package cloog-ppl.i686 0:0.15.7-1.fc12 set to be updated
 
---> Package cloog-ppl.i686 0:0.15.7-1.fc12 set to be updated
 +
--> Processing Dependency: libppl.so.7 for package: cloog-ppl-0.15.7-1.fc12.i686
 
--> Processing Dependency: libppl_c.so.2 for package: cloog-ppl-0.15.7-1.fc12.i686
 
--> Processing Dependency: libppl_c.so.2 for package: cloog-ppl-0.15.7-1.fc12.i686
--> Processing Dependency: libgmpxx.so.4 for package: cloog-ppl-0.15.7-1.fc12.i686
+
---> Package cpp.i686 0:4.4.4-10.fc13 set to be updated
--> Processing Dependency: libppl.so.7 for package: cloog-ppl-0.15.7-1.fc12.i686
+
---> Package glibc-devel.i686 0:2.12-3 set to be updated
--> Processing Dependency: libgmp.so.3 for package: cloog-ppl-0.15.7-1.fc12.i686
+
--> Processing Dependency: glibc = 2.12-3 for package: glibc-devel-2.12-3.i686
---> Package cpp.i686 0:4.4.2-7.fc12 set to be updated
+
--> Processing Dependency: glibc-headers = 2.12-3 for package: glibc-devel-2.12-3.i686
--> Processing Dependency: libmpfr.so.1 for package: cpp-4.4.2-7.fc12.i686
+
--> Processing Dependency: glibc-headers for package: glibc-devel-2.12-3.i686
---> Package glibc-devel.i686 0:2.11-2 set to be updated
+
---> Package libgcc.i686 0:4.4.4-10.fc13 set to be updated
--> Processing Dependency: glibc-headers = 2.11-2 for package: glibc-devel-2.11-2.i686
+
---> Package libgomp.i686 0:4.4.4-10.fc13 set to be updated
--> Processing Dependency: glibc-headers for package: glibc-devel-2.11-2.i686
 
---> Package kernel-devel.i686 0:2.6.31.6-145.fc12 set to be installed
 
 
--> Running transaction check
 
--> Running transaction check
---> Package glibc-headers.i686 0:2.11-2 set to be updated
+
--> Processing Dependency: glibc = 2.12-1 for package: glibc-common-2.12-1.i686
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.11-2.i686
+
---> Package glibc.i686 0:2.12-3 set to be updated
--> Processing Dependency: kernel-headers for package: glibc-headers-2.11-2.i686
+
---> Package glibc-headers.i686 0:2.12-3 set to be updated
---> Package gmp.i686 0:4.3.1-5.fc12 set to be updated
 
---> Package mpfr.i686 0:2.4.1-3.fc12 set to be updated
 
 
---> Package ppl.i686 0:0.10.2-10.fc12 set to be updated
 
---> Package ppl.i686 0:0.10.2-10.fc12 set to be updated
 
--> Running transaction check
 
--> Running transaction check
---> Package kernel-headers.i686 0:2.6.31.6-145.fc12 set to be updated
+
---> Package glibc-common.i686 0:2.12-3 set to be updated
 
--> Finished Dependency Resolution
 
--> Finished Dependency Resolution
  
 
Dependencies Resolved
 
Dependencies Resolved
  
============================================================
+
=================================================================================================
  Package         Arch   Version             Repository
+
  Package                 Arch             Version                       Repository         Size
                                                      Size
+
=================================================================================================
============================================================
 
 
Installing:
 
Installing:
  dkms           noarch 2.1.0.1-1.fc12     fedora   95 k
+
  dkms                     noarch           2.1.0.1-1.fc12               fedora             95 k
  gcc            i686    4.4.2-7.fc12        fedora  8.1 M
+
  gcc                     i686             4.4.4-10.fc13                updates          8.1 M
  make           i686   1:3.81-18.fc12      fedora   366 k
+
  kernel-devel            i686            2.6.33.3-85.fc13              fedora           6.3 M
 +
kernel-headers          i686             2.6.33.3-85.fc13              fedora           760 k
 
Installing for dependencies:
 
Installing for dependencies:
  cloog-ppl       i686   0.15.7-1.fc12       fedora   81 k
+
  cloog-ppl               i686             0.15.7-1.fc12                 fedora             81 k
  cpp            i686    4.4.2-7.fc12        fedora  3.3 M
+
  cpp                     i686             4.4.4-10.fc13                updates          3.4 M
  glibc-devel     i686   2.11-2              fedora  951 k
+
  glibc-devel             i686             2.12-3                        updates          960 k
  glibc-headers   i686   2.11-2              fedora  588 k
+
  glibc-headers           i686             2.12-3                        updates          599 k
  gmp             i686    4.3.1-5.fc12       fedora   308 k
+
  ppl                      i686             0.10.2-10.fc12               fedora           1.1 M
  kernel-devel    i686   2.6.31.6-145.fc12  updates 5.9 M
+
Updating for dependencies:
  kernel-headers  i686   2.6.31.6-145.fc12  updates 741 k
+
  glibc                    i686             2.12-3                        updates           4.3 M
  mpfr            i686   2.4.1-3.fc12        fedora  145 k
+
  glibc-common            i686             2.12-3                        updates           14 M
  ppl             i686    0.10.2-10.fc12      fedora  1.1 M
+
  libgcc                  i686             4.4.4-10.fc13                updates          103 k
 +
  libgomp                  i686             4.4.4-10.fc13                updates          109 k
  
 
Transaction Summary
 
Transaction Summary
============================================================
+
=================================================================================================
Install     12 Package(s)
+
Install       9 Package(s)
Upgrade      0 Package(s)
+
Upgrade      4 Package(s)
  
Total download size: 22 M
+
Total download size: 40 M
 
Is this ok [y/N]: y
 
Is this ok [y/N]: y
 
Downloading Packages:
 
Downloading Packages:
 
Setting up and reading Presto delta metadata
 
Setting up and reading Presto delta metadata
fedora/prestodelta                   | 1.3 kB    00:00      
+
updates/prestodelta                                                       | 87 kB    00:18      
updates/prestodelta                 | 166 kB     00:01      
+
fedora/prestodelta                                                       | 414 B     00:00      
 
Processing delta metadata
 
Processing delta metadata
Package(s) data still to download: 22 M
+
Package(s) data still to download: 40 M
(1/12): cloog-ppl-0.15.7-1.fc12.i686 |  81 kB    00:01   
+
(1/13): cloog-ppl-0.15.7-1.fc12.i686.rpm                                  |  81 kB    00:06
(2/12): cpp-4.4.2-7.fc12.i686.rpm   | 3.3 MB    00:38      
+
(2/13): cpp-4.4.4-10.fc13.i686.rpm                                       | 3.4 MB    01:47      
(3/12): dkms-2.1.0.1-1.fc12.noarch.r |  95 kB    00:01      
+
(3/13): dkms-2.1.0.1-1.fc12.noarch.rpm                                    |  95 kB    00:09      
(4/12): gcc-4.4.2-7.fc12.i686.rpm   | 8.1 MB    01:34      
+
(4/13): gcc-4.4.4-10.fc13.i686.rpm                                       | 8.1 MB    04:06      
(5/12): glibc-devel-2.11-2.i686.rpm | 951 kB     00:10      
+
(5/13): glibc-2.12-3.i686.rpm                                             | 4.3 MB     01:50      
(6/12): glibc-headers-2.11-2.i686.rp | 588 kB     00:06      
+
(6/13): glibc-common-2.12-3.i686.rpm                                      | 14 MB     04:43      
(7/12): gmp-4.3.1-5.fc12.i686.rpm   | 308 kB    00:03      
+
(7/13): glibc-devel-2.12-3.i686.rpm                                      | 960 kB    00:22   
(8/12): kernel-devel-2.6.31.6-145.fc | 5.9 MB    01:09      
+
(8/13): glibc-headers-2.12-3.i686.rpm                                     | 599 kB    00:15      
(9/12): kernel-headers-2.6.31.6-145. | 741 kB    00:08      
+
(9/13): kernel-devel-2.6.33.3-85.fc13.i686.rpm                            | 6.3 MB    03:25      
(10/12): make-3.81-18.fc12.i686.rpm | 366 kB    00:04      
+
(10/13): kernel-headers-2.6.33.3-85.fc13.i686.rpm                        | 760 kB    00:24      
(11/12): mpfr-2.4.1-3.fc12.i686.rpm | 145 kB    00:01      
+
(11/13): libgcc-4.4.4-10.fc13.i686.rpm                                   | 103 kB    00:05      
(12/12): ppl-0.10.2-10.fc12.i686.rpm | 1.1 MB    00:13      
+
(12/13): libgomp-4.4.4-10.fc13.i686.rpm                                   | 109 kB    00:04      
------------------------------------------------------------
+
(13/13): ppl-0.10.2-10.fc12.i686.rpm                                     | 1.1 MB    00:26      
Total                       87 kB/s |  22 MB    04:15      
+
-------------------------------------------------------------------------------------------------
 +
Total                                                             32 kB/s |  40 MB    21:10      
 
Running rpm_check_debug
 
Running rpm_check_debug
 
Running Transaction Test
 
Running Transaction Test
Finished Transaction Test
 
 
Transaction Test Succeeded
 
Transaction Test Succeeded
 
Running Transaction
 
Running Transaction
   Installing    : kernel-headers-2.6.31.6-145.fc12    1/12
+
   Installing    : kernel-devel-2.6.33.3-85.fc13.i686                                      1/17
   Installing    : glibc-headers-2.11-2.i686           2/12
+
   Installing    : kernel-headers-2.6.33.3-85.fc13.i686                                     2/17
   Installing    : glibc-devel-2.11-2.i686             3/12
+
   Updating      : libgcc-4.4.4-10.fc13.i686                                               3/17
   Installing    : kernel-devel-2.6.31.6-145.fc12.i    4/12  
+
   Installing    : dkms-2.1.0.1-1.fc12.noarch                                              4/17
   Installing    : gmp-4.3.1-5.fc12.i686               5/12
+
  Updating      : glibc-2.12-3.i686                                                        5/17
   Installing    : ppl-0.10.2-10.fc12.i686             6/12
+
   Updating      : glibc-common-2.12-3.i686                                                6/17
   Installing    : cloog-ppl-0.15.7-1.fc12.i686       7/12
+
  Updating      : libgomp-4.4.4-10.fc13.i686                                               7/17
   Installing    : mpfr-2.4.1-3.fc12.i686             8/12
+
   Installing    : ppl-0.10.2-10.fc12.i686                                                 8/17
   Installing    : cpp-4.4.2-7.fc12.i686               9/12
+
   Installing    : cloog-ppl-0.15.7-1.fc12.i686                                             9/17
   Installing    : 1:make-3.81-18.fc12.i686           10/12
+
   Installing    : cpp-4.4.4-10.fc13.i686                                                 10/17
   Installing    : gcc-4.4.2-7.fc12.i686             11/12
+
   Installing    : glibc-headers-2.12-3.i686                                              11/17
   Installing    : dkms-2.1.0.1-1.fc12.noarch        12/12
+
  Installing    : glibc-devel-2.12-3.i686                                                 12/17
 +
   Installing    : gcc-4.4.4-10.fc13.i686                                                 13/17
 +
   Cleanup        : libgomp-4.4.4-2.fc13.i686                                              14/17
 +
  Cleanup        : glibc-common-2.12-1.i686                                               15/17
 +
   Cleanup        : glibc-2.12-1.i686                                                      16/17
 +
  Cleanup        : libgcc-4.4.4-2.fc13.i686                                                17/17
  
 
Installed:
 
Installed:
   dkms.noarch 0:2.1.0.1-1.fc12   gcc.i686 0:4.4.2-7.fc12 
+
   dkms.noarch 0:2.1.0.1-1.fc12                   gcc.i686 0:4.4.4-10.fc13                       
   make.i686 1:3.81-18.fc12     
+
   kernel-devel.i686 0:2.6.33.3-85.fc13          kernel-headers.i686 0:2.6.33.3-85.fc13         
  
 
Dependency Installed:
 
Dependency Installed:
   cloog-ppl.i686 0:0.15.7-1.fc12                          
+
   cloog-ppl.i686 0:0.15.7-1.fc12     cpp.i686 0:4.4.4-10.fc13      glibc-devel.i686 0:2.12-3   
  cpp.i686 0:4.4.2-7.fc12                                 
+
   glibc-headers.i686 0:2.12-3        ppl.i686 0:0.10.2-10.fc12  
  glibc-devel.i686 0:2.11-2                               
+
 
   glibc-headers.i686 0:2.11-2                             
+
Dependency Updated:
  gmp.i686 0:4.3.1-5.fc12                                  
+
   glibc.i686 0:2.12-3              glibc-common.i686 0:2.12-3    libgcc.i686 0:4.4.4-10.fc13   
   kernel-devel.i686 0:2.6.31.6-145.fc12                   
+
   libgomp.i686 0:4.4.4-10.fc13   
  kernel-headers.i686 0:2.6.31.6-145.fc12                 
 
  mpfr.i686 0:2.4.1-3.fc12                                 
 
   ppl.i686 0:0.10.2-10.fc12                               
 
  
 
Complete!
 
Complete!
</pre>
+
</pre>}}<br></li>
</div>
+
<li> In the VirtualBox Guest 'Devices Menu', select 'Install Guest Additions...'</li>
</div>
+
<li> {{Code|mkdir /mnt/cdrom}} </li>
 +
<li> {{Code|mount /dev/sr0 /mnt/cdrom/}} </li>
 +
<li> {{Code|cd /mnt/cdrom/}} </li>
 +
<li> {{Code|./VBoxLinuxAdditions-x86.run}}<br><br>
 +
You may check the consumption status of the overlay by executing,
 +
* {{Code|dmsetup status}} <br>
 +
: reveals that 953440/2097152 (512-byte sectors) or 448 MB of the 1024 MB overlay file has been consumed by the installation process
 +
* If upgrading from one VirtualBox version to another, start with fresh virtual disks and machines built with the new versions to avoid breakage.<br>
 +
</li>
 +
<li> {{Code|reboot}} <br>
  
# go to VirtualBox Devices Menu->Install Guest Additions
+
{{Show|<Terminal log:>  
# mkdir /mnt/cdrom
+
|<pre>
# mount /dev/sr0 /mnt/cdrom
+
[root@localhost ~]# mkdir /mnt/cdrom/
# cd /mnt/cdrom
 
# ./VBoxLinuxAdditions-x86.run
 
#* (This stalled on two trials; had to reboot and restart.)
 
#* If upgrading from one VirtualBox version to another, start with fresh virtual disks and machines built with the new versions to avoid breakage.
 
# reboot
 
<div class="NavFrame collapsed">
 
<div class="NavHead">
 
Terminal log:
 
</div>
 
<div class="NavContent">
 
<pre>
 
[root@localhost ~]# mkdir /mnt/cdrom
 
 
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
 
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
 
mount: block device /dev/sr0 is write-protected, mounting read-only
 
mount: block device /dev/sr0 is write-protected, mounting read-only
Line 197: Line 285:
 
[root@localhost cdrom]# ./VBoxLinuxAdditions-x86.run  
 
[root@localhost cdrom]# ./VBoxLinuxAdditions-x86.run  
 
Verifying archive integrity... All good.
 
Verifying archive integrity... All good.
Uncompressing VirtualBox 3.0.12 Guest Additions for Linux installation................................................................................................................................................................................................................................
+
Uncompressing VirtualBox 3.2.8 Guest Additions for Linux........
VirtualBox 3.0.12 Guest Additions installation
+
VirtualBox Guest Additions installer
Attempt to remove old DKMS modules...
+
Building the VirtualBox Guest Additions kernel modules
Done.
+
Building the main Guest Additions module                   [  OK  ]
Building the VirtualBox Guest Additions kernel module...
+
Building the shared folder support module                 [  OK  ]
Building the shared folder support kernel module...
+
Building the OpenGL support module                        [  OK  ]
Building the drm support kernel module...
+
Doing non-kernel setup of the Guest Additions              [  OK  ]
Installing the VirtualBox Guest Additions...
+
Starting the VirtualBox Guest Additions                   [  OK  ]
 +
Installing the Window System drivers
 +
Installing X.Org Server 1.8 modules                        [  OK  ]
 +
Setting up the Window System to use the Guest Additions    [  OK  ]
 +
You may need to restart the hal service and the Window System (or just restart
 +
the guest system) to enable the Guest Additions.
 +
 
 +
Installing graphics libraries and desktop services componen[  OK  ]
  
Successfully installed the VirtualBox Guest Additions.
+
[root@localhost cdrom]# dmsetup status
You must restart your guest system in order to complete the installation.
+
live-osimg-min: 0 8388608 snapshot 2344/2344 24
 +
live-rw: 0 8388608 snapshot 953440/2097152 3720
 +
</pre>}}</li>
 +
</ol>
 +
<!--
 +
* Note that you will need to have the same kernel version as you have kernel-headers and kernel-devel
 +
* I recommend:
 +
<pre>
 +
# yum update kernel
 +
# yum install kernel-headers kernel-devel dkms gcc
 
</pre>
 
</pre>
</div>
+
* With the guest additions successfully installed, it should '''Not be necessary to configure the screen (below)'''
</div>
+
 
 +
Thanks! for this information.  update kernel consumed 203280/1048576 of the overlay and install kernel-headers kernel-devel dkms gcc raised consumption to 1047112/1048576 leading to failure of the ./VBoxLinuxAdditions-x86.run  -->
  
===Configure Screen===
+
==Configure Screen==
# Edit /etc/X11/xorg.conf to match the following section:   (This is for 1200x900 (XO) and other resolutions.)
+
If you want to match the 16 bpp XO screen and a particular display size, you may
 +
# Edit /etc/X11/xorg.conf to match the following section:
 +
#* 832x624 - matches default XO display proportions
 +
#* 1200x900 - XO reflective resolution
 
<pre>
 
<pre>
Section "Device"
+
# VirtualBox generated configuration file
        Identifier "VirtualBox Video Card"
+
# based on /etc/X11/xorg.conf.
        Driver "vboxvideo"
+
 
EndSection
+
Section "Monitor"
+
  Identifier  "Monitor[0]"
Section "Screen"
+
  ModelName    "VirtualBox Virtual Output"
        Identifier "Default Screen"
+
  VendorName  "Sun Microsystems Inc"
        Device "VirtualBox Video Card"
+
EndSection
        Monitor "Generic Monitor"
+
 
        DefaultDepth 16
+
Section "Device"
        SubSection "Display"
+
  BoardName    "VirtualBox Graphics"
                Depth 16
+
  Driver       "vboxvideo"
                Modes "1200x900" "1024x768" "800x600" "640x480"
+
  Identifier  "Device[0]"
        EndSubSection
+
  VendorName  "Sun Microsystems Inc"
EndSection
+
EndSection
 +
 
 +
Section "Screen"
 +
  Identifier   "Screen[0]"
 +
  Device       "Device[0]"
 +
  Monitor     "Monitor[0]"
 +
  DefaultDepth 16
 +
  SubSection "Display"
 +
    Depth     16
 +
    Modes     "832x624" "1200x900" "1024x768" "800x600"
 +
  EndSubSection
 +
EndSection
 
</pre>
 
</pre>
 +
 
==Clear user data==
 
==Clear user data==
 
Finally,
 
Finally,
Line 247: Line 367:
  
 
==SSH connections==
 
==SSH connections==
To enable SSH communications, we need to permit no passwords in the ssh daemon configuration:
+
To enable SSH communications, we need to permit no passwords (to match the default Sugar configuration) in the ssh daemon configuration:
  
 
# in Terminal,
 
# in Terminal,
 
# su -
 
# su -
# pico /etc/ssh/sshd_config
+
# vi /etc/ssh/sshd_config
 
## [add] PermitEmptyPasswords yes
 
## [add] PermitEmptyPasswords yes
## ^O (WriteOut), <Enter> on File Name to Write: /etc/ssh/sshd_config , ^X (Exit)
+
## :wq <Enter>
 
# service sshd restart
 
# service sshd restart
 +
 +
One may also supply a password for the root user:
 +
# su -
 +
# passwd
 +
#: Changing password for user root.<br>New password:<br>Retype new password:<br>passwd: all authentication tokens updated successfully.
 +
 +
 +
==Uncompressed, hard disc image==
 +
:'''Start VirtualBox (version 3.2.10 used here).'''
 +
#Click NEW  "Welcome to New Virtual Machine Wizard"
 +
#<Next> fill out: Name (soas-i386-20101025)  ; Operating system(Linux); Version (Fedora)
 +
#<Next> Base Memory Size
 +
#<Next> Create new hard disk
 +
#<Next> Storage Type (Dynamically expanding storage)
 +
#<Next> Size (8.00 GB)
 +
#<Finish>
 +
:'''Back on main Oracle VM VirtualBox screen'''
 +
#Settings/Storage (CD Image0)CD/DVD Device: (Select your CD Host Drive-(sr0) with CD inserted
 +
#<OK>
 +
:'''Start'''
 +
::SoaS will boot and run Sugar SoaS
 +
::Enter Name color
 +
::Enter Password ONE TIME then cancel next 6 times
 +
::Start Sugar-Terminal
 +
su
 +
liveinst
 +
:(Anaconda starts) Do normal HD install: Basic Storage Devices/ Reinitalize all/Host/TZ/Root Password/Use all Space/ Write Changes to Disk/ Install works to Completion.
 +
:: "Congratulations, your Fedora Installation is complete" <Close> Quit sugar-terminal; Shutdown.
 +
:'''Back on main Oracle VM VirtualBox screen'''
 +
 +
===Firstboot of new Virtual Machine===
 +
::Settings/Storage; Host Drive: change to empty (You can also change boot order in Systems, if needed.)
 +
:'''Start''' HD goes to firstboot (Answer questions); then to gdm login, then to Sugar. Click to Change Color_____ (hit <Back> to change name)
 +
===Export your Appliance===
 +
:File/Export Appliance (select soas-i386-20101025)<next> fill in Settings if you want to; <next> Export settings <Finish>
 +
'''Congratulations, you have just created an importable/exportable appliance.'''

Latest revision as of 17:53, 22 January 2012

LiveOS image

Below are instructions for preparing a VirtualBox disk image from a SoaS iso image file. The process parallels the compressed LiveOS image used on Live CD and Live USB installations.


(Note: The SoaS .iso distribution also contains an installer for full, uncompressed, hard disc images of Fedora with the Sugar graphical interface. See Uncompressed, hard disc image below for instructions.)

Installing SoaS .iso image

  1. Create a new VM, choose a name, such as Mirabelle
  2. Choose Linux for the Operating System and Version Fedora (use 64 bit, if available)
  3. Choose Base Memory Size: 256 MB to match an XO-1, 512 or 1024 MB to match an XO-1.5
  4. Create a new virtual hard disk image with dynamically expanding storage of 2 GB
  5. Finish.
  6. Download the lastest SoaS, http://spins.fedoraproject.org/soas/#downloads, for Fedora 13.
  7. Mount the SoaS .iso image file as a CD-ROM in the newly created VM.
  8. Change the Network Attached to: Bridged Adapter (This allows for networking with the host computer.)
  9. Start the VM
  10. Enter an account name and startup Sugar.
  11. Open Terminal.
  12. su -
  13. parted
  14. mklabel msdos
    This makes a partition table.
  15. mkpart primary ext2 0 2048
    You will receive this message:
    Warning: The resulting partition is not properly aligned for best performance.
    Ignore/Cancel?
    Enter (I)gnore
  16. toggle 1 boot
  17. quit
  18. mke2fs /dev/sda1
  19. /LiveOS/livecd-iso-to-disk --overlay-size-mb 1024 --home-size-mb 200 --delete-home --unencrypted-home /dev/sr0 /dev/sda1
    (for earlier versions of SoaS
    Blueberry - use /media/soas-2-blueberry/LiveOS/livecd-iso-to-disk
    Strawberry - use /mnt/live/LiveOS/livecd-iso-to-disk)
    <Terminal log>
    [root@localhost ~]# parted
    GNU Parted 2.1
    Using /dev/sda
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel msdos                                                    
    (parted) mkpart primary ext2 0 2048
    Warning: The resulting partition is not properly aligned for best performance.
    Ignore/Cancel? I                                                          
    (parted) toggle 1 boot                                                    
    (parted) quit                                                             
    Information: You may need to update /etc/fstab.                           
    
    [root@localhost ~]# mke2fs /dev/sda1
    mke2fs 1.41.10 (10-Feb-2009)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    125184 inodes, 500000 blocks
    25000 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=515899392
    16 block groups
    32768 blocks per group, 32768 fragments per group
    7824 inodes per group
    Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912
    
    Writing inode tables: done                            
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 36 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    [root@localhost ~]#
    [root@localhost ~]# /LiveOS/livecd-iso-to-disk --overlay-size-mb 1024 --home-size-mb 200 --delete-home --unencrypted-home /dev/live /dev/sda1
    Verifying image...
    /dev/sr0:   0ce28e3947106fd37bab9317abf09938
    Fragment sums: a3c6e5fd5fba11d2b4da71771e8732b63bcb62b841971f7f39ab5c187f64
    Fragment count: 20
    Checking: 100.0%
    
    The media check is complete, the result is: PASS.
    
    It is OK to use this media.
    Copying live image to USB stick
    Updating boot config file
    Initializing persistent overlay file
    0+0 records in
    0+0 records out
    0 bytes (0 B) copied, 0.000150187 s, 0.0 kB/s
    Initializing persistent /home
    0+0 records in
    0+0 records out
    0 bytes (0 B) copied, 0.0039562 s, 0.0 kB/s
    Formatting unencrypted /home
    mke2fs 1.41.10 (10-Feb-2009)
    Filesystem label=
    OS type: Linux
    Block size=1024 (log=0)
    Fragment size=1024 (log=0)
    Stride=0 blocks, Stripe width=0 blocks
    51200 inodes, 204800 blocks
    10240 blocks (5.00%) reserved for the super user
    First data block=1
    Maximum filesystem blocks=67371008
    25 block groups
    8192 blocks per group, 8192 fragments per group
    2048 inodes per group
    Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729
    
    Writing inode tables: done                            
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done
    
    This filesystem will be automatically checked every 26 mounts or
    180 days, whichever comes first.  Use tune2fs -c or -i to override.
    tune2fs 1.41.10 (10-Feb-2009)
    Setting maximal mount count to -1
    Setting interval between checks to 0 seconds
    Installing boot loader
    /media/usbdev.XB8shz/syslinux is device /dev/sda1
    USB stick set up as live image!
    
    • the --overlay-size-mb NNN and --home-size-mb NNN options creates space for persistence of changes on the disk; otherwise, a liveOS disk is read-only. See LiveOS image.

    The following optional parameters seem to be incompatible with soas-1-strawberry and soas-2-blueberry released versions. (The script completes successfully, but the virtual machine startup process has trouble finding the home directory and fails to complete.)
    • the --home-size-mb NNN option creates space for file storage in the /home/liveuser folder. (In the case where you you want to update the LiveOS image while keeping the user files, skip the new disk creation and parted steps, leave out the --home-size-mb NNN option at this step, and continue on.)
    • the --unencrypted-home option prevents password protection and encryption on the /home/liveuser folder. This releaves the overhead on the compressed SquashFS, and should be more robust to file system failures (outside of security).
    • the --delete-home option is used to avoid an error message while requesting both a new home (with --home-size-mb) and a persistent home (with --unencrypted-home). (You wouldn't use this option for the LiveOS upgrade case.)
  1. shutdown -h now

Installing VirtualBox Guest Additions

The VirtualBox Guest Additions requires installing DKMS and compiling virtual device drivers for the Linux kernel.

  1. Unmount CD/DVD in VirtualBox settings, select 'Empty' for the CD/DVD device under 'Attributes'
  2. Start the virtual machine
  3. Open Terminal
  4. su -
  1. Determine the kernel version,
    uname -a
    Linux localhost.localdomain 2.6.33.3-85.fc13.i686 #1 SMP Thu May 6 18:44:12 UTC 2010 i686 i686 i386 GNU/Linux
  2. For SoaS-Mirabelle, the kernel is Linux-2.6.33.3-85.fc13, so specific kernel-headers and kernel-devel are needed:

    yum install kernel-headers-2.6.33.3-85.fc13 kernel-devel-2.6.33.3-85.fc13 dkms gcc
    (Other dependencies will be called into the installation.)
    <Successful Terminal log from 16 Aug 2010 with Fedora 32 bit>
    [root@localhost ~]# yum install kernel-devel-2.6.33.3-85.fc13 kernel-headers-2.6.33.3-85.fc13 dkms gcc
    Loaded plugins: presto, refresh-packagekit
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package dkms.noarch 0:2.1.0.1-1.fc12 set to be updated
    ---> Package gcc.i686 0:4.4.4-10.fc13 set to be updated
    --> Processing Dependency: cpp = 4.4.4-10.fc13 for package: gcc-4.4.4-10.fc13.i686
    --> Processing Dependency: libgomp = 4.4.4-10.fc13 for package: gcc-4.4.4-10.fc13.i686
    --> Processing Dependency: libgcc >= 4.4.4-10.fc13 for package: gcc-4.4.4-10.fc13.i686
    --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.4-10.fc13.i686
    --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.4-10.fc13.i686
    ---> Package kernel-devel.i686 0:2.6.33.3-85.fc13 set to be installed
    ---> Package kernel-headers.i686 0:2.6.33.3-85.fc13 set to be updated
    --> Running transaction check
    ---> Package cloog-ppl.i686 0:0.15.7-1.fc12 set to be updated
    --> Processing Dependency: libppl.so.7 for package: cloog-ppl-0.15.7-1.fc12.i686
    --> Processing Dependency: libppl_c.so.2 for package: cloog-ppl-0.15.7-1.fc12.i686
    ---> Package cpp.i686 0:4.4.4-10.fc13 set to be updated
    ---> Package glibc-devel.i686 0:2.12-3 set to be updated
    --> Processing Dependency: glibc = 2.12-3 for package: glibc-devel-2.12-3.i686
    --> Processing Dependency: glibc-headers = 2.12-3 for package: glibc-devel-2.12-3.i686
    --> Processing Dependency: glibc-headers for package: glibc-devel-2.12-3.i686
    ---> Package libgcc.i686 0:4.4.4-10.fc13 set to be updated
    ---> Package libgomp.i686 0:4.4.4-10.fc13 set to be updated
    --> Running transaction check
    --> Processing Dependency: glibc = 2.12-1 for package: glibc-common-2.12-1.i686
    ---> Package glibc.i686 0:2.12-3 set to be updated
    ---> Package glibc-headers.i686 0:2.12-3 set to be updated
    ---> Package ppl.i686 0:0.10.2-10.fc12 set to be updated
    --> Running transaction check
    ---> Package glibc-common.i686 0:2.12-3 set to be updated
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =================================================================================================
     Package                  Arch             Version                       Repository         Size
    =================================================================================================
    Installing:
     dkms                     noarch           2.1.0.1-1.fc12                fedora             95 k
     gcc                      i686             4.4.4-10.fc13                 updates           8.1 M
     kernel-devel             i686             2.6.33.3-85.fc13              fedora            6.3 M
     kernel-headers           i686             2.6.33.3-85.fc13              fedora            760 k
    Installing for dependencies:
     cloog-ppl                i686             0.15.7-1.fc12                 fedora             81 k
     cpp                      i686             4.4.4-10.fc13                 updates           3.4 M
     glibc-devel              i686             2.12-3                        updates           960 k
     glibc-headers            i686             2.12-3                        updates           599 k
     ppl                      i686             0.10.2-10.fc12                fedora            1.1 M
    Updating for dependencies:
     glibc                    i686             2.12-3                        updates           4.3 M
     glibc-common             i686             2.12-3                        updates            14 M
     libgcc                   i686             4.4.4-10.fc13                 updates           103 k
     libgomp                  i686             4.4.4-10.fc13                 updates           109 k
    
    Transaction Summary
    =================================================================================================
    Install       9 Package(s)
    Upgrade       4 Package(s)
    
    Total download size: 40 M
    Is this ok [y/N]: y
    Downloading Packages:
    Setting up and reading Presto delta metadata
    updates/prestodelta                                                       |  87 kB     00:18     
    fedora/prestodelta                                                        |  414 B     00:00     
    Processing delta metadata
    Package(s) data still to download: 40 M
    (1/13): cloog-ppl-0.15.7-1.fc12.i686.rpm                                  |  81 kB     00:06 
    (2/13): cpp-4.4.4-10.fc13.i686.rpm                                        | 3.4 MB     01:47     
    (3/13): dkms-2.1.0.1-1.fc12.noarch.rpm                                    |  95 kB     00:09     
    (4/13): gcc-4.4.4-10.fc13.i686.rpm                                        | 8.1 MB     04:06     
    (5/13): glibc-2.12-3.i686.rpm                                             | 4.3 MB     01:50     
    (6/13): glibc-common-2.12-3.i686.rpm                                      |  14 MB     04:43     
    (7/13): glibc-devel-2.12-3.i686.rpm                                       | 960 kB     00:22     
    (8/13): glibc-headers-2.12-3.i686.rpm                                     | 599 kB     00:15     
    (9/13): kernel-devel-2.6.33.3-85.fc13.i686.rpm                            | 6.3 MB     03:25     
    (10/13): kernel-headers-2.6.33.3-85.fc13.i686.rpm                         | 760 kB     00:24     
    (11/13): libgcc-4.4.4-10.fc13.i686.rpm                                    | 103 kB     00:05     
    (12/13): libgomp-4.4.4-10.fc13.i686.rpm                                   | 109 kB     00:04     
    (13/13): ppl-0.10.2-10.fc12.i686.rpm                                      | 1.1 MB     00:26     
    -------------------------------------------------------------------------------------------------
    Total                                                             32 kB/s |  40 MB     21:10     
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing     : kernel-devel-2.6.33.3-85.fc13.i686                                       1/17 
      Installing     : kernel-headers-2.6.33.3-85.fc13.i686                                     2/17 
      Updating       : libgcc-4.4.4-10.fc13.i686                                                3/17 
      Installing     : dkms-2.1.0.1-1.fc12.noarch                                               4/17 
      Updating       : glibc-2.12-3.i686                                                        5/17 
      Updating       : glibc-common-2.12-3.i686                                                 6/17 
      Updating       : libgomp-4.4.4-10.fc13.i686                                               7/17 
      Installing     : ppl-0.10.2-10.fc12.i686                                                  8/17 
      Installing     : cloog-ppl-0.15.7-1.fc12.i686                                             9/17 
      Installing     : cpp-4.4.4-10.fc13.i686                                                  10/17 
      Installing     : glibc-headers-2.12-3.i686                                               11/17 
      Installing     : glibc-devel-2.12-3.i686                                                 12/17 
      Installing     : gcc-4.4.4-10.fc13.i686                                                  13/17 
      Cleanup        : libgomp-4.4.4-2.fc13.i686                                               14/17 
      Cleanup        : glibc-common-2.12-1.i686                                                15/17 
      Cleanup        : glibc-2.12-1.i686                                                       16/17 
      Cleanup        : libgcc-4.4.4-2.fc13.i686                                                17/17 
    
    Installed:
      dkms.noarch 0:2.1.0.1-1.fc12                   gcc.i686 0:4.4.4-10.fc13                        
      kernel-devel.i686 0:2.6.33.3-85.fc13           kernel-headers.i686 0:2.6.33.3-85.fc13          
    
    Dependency Installed:
      cloog-ppl.i686 0:0.15.7-1.fc12     cpp.i686 0:4.4.4-10.fc13      glibc-devel.i686 0:2.12-3    
      glibc-headers.i686 0:2.12-3        ppl.i686 0:0.10.2-10.fc12    
    
    Dependency Updated:
      glibc.i686 0:2.12-3              glibc-common.i686 0:2.12-3     libgcc.i686 0:4.4.4-10.fc13    
      libgomp.i686 0:4.4.4-10.fc13    
    
    Complete!
    

  3. In the VirtualBox Guest 'Devices Menu', select 'Install Guest Additions...'
  4. mkdir /mnt/cdrom
  5. mount /dev/sr0 /mnt/cdrom/
  6. cd /mnt/cdrom/
  7. ./VBoxLinuxAdditions-x86.run

    You may check the consumption status of the overlay by executing,
    • dmsetup status
    reveals that 953440/2097152 (512-byte sectors) or 448 MB of the 1024 MB overlay file has been consumed by the installation process
    • If upgrading from one VirtualBox version to another, start with fresh virtual disks and machines built with the new versions to avoid breakage.
  8. reboot
    <Terminal log:>
    [root@localhost ~]# mkdir /mnt/cdrom/
    [root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
    mount: block device /dev/sr0 is write-protected, mounting read-only
    [root@localhost ~]# cd /mnt/cdrom/
    [root@localhost cdrom]# ./VBoxLinuxAdditions-x86.run 
    Verifying archive integrity... All good.
    Uncompressing VirtualBox 3.2.8 Guest Additions for Linux........
    VirtualBox Guest Additions installer
    Building the VirtualBox Guest Additions kernel modules
    Building the main Guest Additions module                   [  OK  ]
    Building the shared folder support module                  [  OK  ]
    Building the OpenGL support module                         [  OK  ]
    Doing non-kernel setup of the Guest Additions              [  OK  ]
    Starting the VirtualBox Guest Additions                    [  OK  ]
    Installing the Window System drivers
    Installing X.Org Server 1.8 modules                        [  OK  ]
    Setting up the Window System to use the Guest Additions    [  OK  ]
    You may need to restart the hal service and the Window System (or just restart
    the guest system) to enable the Guest Additions.
    
    Installing graphics libraries and desktop services componen[  OK  ]
    
    [root@localhost cdrom]# dmsetup status
    live-osimg-min: 0 8388608 snapshot 2344/2344 24
    live-rw: 0 8388608 snapshot 953440/2097152 3720
    

Configure Screen

If you want to match the 16 bpp XO screen and a particular display size, you may

  1. Edit /etc/X11/xorg.conf to match the following section:
    • 832x624 - matches default XO display proportions
    • 1200x900 - XO reflective resolution
# VirtualBox generated configuration file
# based on /etc/X11/xorg.conf.

Section "Monitor"
  Identifier   "Monitor[0]"
  ModelName    "VirtualBox Virtual Output"
  VendorName   "Sun Microsystems Inc"
EndSection

Section "Device"
  BoardName    "VirtualBox Graphics"
  Driver       "vboxvideo"
  Identifier   "Device[0]"
  VendorName   "Sun Microsystems Inc"
EndSection

Section "Screen"
  Identifier   "Screen[0]"
  Device       "Device[0]"
  Monitor      "Monitor[0]"
  DefaultDepth 16
  SubSection "Display"
    Depth      16
    Modes      "832x624" "1200x900" "1024x768" "800x600"
  EndSubSection
EndSection

Clear user data

Finally,

  1. Open Terminal
  2. Terminal
  3. rm -rf ~/.sugar (if distributing image)
  4. su -
  5. shutdown -h now
  6. Now you can share the VDI file.

Backup discs

It would be wise to maintain a clone of your virtual disk image to restart if the working copy is damaged:

  1. From host command line (Windows cmd, or Linux terminal) See VirtualBox Help section 8.14.
    • VBoxManage clonehd <uuid>|<filename> <outputfile> [-format VDI|VMDK|VHD|RAW|<other>] [-remember]
  2. Reclone any virtual hard disks you would like to archive.

SSH connections

To enable SSH communications, we need to permit no passwords (to match the default Sugar configuration) in the ssh daemon configuration:

  1. in Terminal,
  2. su -
  3. vi /etc/ssh/sshd_config
    1. [add] PermitEmptyPasswords yes
    2. :wq <Enter>
  4. service sshd restart

One may also supply a password for the root user:

  1. su -
  2. passwd
    Changing password for user root.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.


Uncompressed, hard disc image

Start VirtualBox (version 3.2.10 used here).
  1. Click NEW "Welcome to New Virtual Machine Wizard"
  2. <Next> fill out: Name (soas-i386-20101025) ; Operating system(Linux); Version (Fedora)
  3. <Next> Base Memory Size
  4. <Next> Create new hard disk
  5. <Next> Storage Type (Dynamically expanding storage)
  6. <Next> Size (8.00 GB)
  7. <Finish>
Back on main Oracle VM VirtualBox screen
  1. Settings/Storage (CD Image0)CD/DVD Device: (Select your CD Host Drive-(sr0) with CD inserted
  2. <OK>
Start
SoaS will boot and run Sugar SoaS
Enter Name color
Enter Password ONE TIME then cancel next 6 times
Start Sugar-Terminal
su
liveinst
(Anaconda starts) Do normal HD install: Basic Storage Devices/ Reinitalize all/Host/TZ/Root Password/Use all Space/ Write Changes to Disk/ Install works to Completion.
"Congratulations, your Fedora Installation is complete" <Close> Quit sugar-terminal; Shutdown.
Back on main Oracle VM VirtualBox screen

Firstboot of new Virtual Machine

Settings/Storage; Host Drive: change to empty (You can also change boot order in Systems, if needed.)
Start HD goes to firstboot (Answer questions); then to gdm login, then to Sugar. Click to Change Color_____ (hit <Back> to change name)

Export your Appliance

File/Export Appliance (select soas-i386-20101025)<next> fill in Settings if you want to; <next> Export settings <Finish>

Congratulations, you have just created an importable/exportable appliance.