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

From Sugar Labs
Jump to navigation Jump to search
Line 42: Line 42:
 
<div class="NavFrame collapsed">
 
<div class="NavFrame collapsed">
 
<div class="NavHead">
 
<div class="NavHead">
<yum.log from 06 December 2009:> </div>
+
<yum.log from 21 May 2010:> </div>
 
<div class="NavContent">
 
<div class="NavContent">
 
<pre>
 
<pre>
 
[root@localhost ~]# yum install dkms gcc make
 
[root@localhost ~]# yum install dkms gcc make
 
Loaded plugins: presto, refresh-packagekit
 
Loaded plugins: presto, refresh-packagekit
fedora/metalink                     18 kB    00:00     
+
fedora/metalink                                                           13 kB    00:00     
fedora                               | 4.2 kB    00:00     
+
fedora                                                                   | 4.3 kB    00:00     
fedora/primary_db                   | 9.7 MB     01:50   
+
fedora/primary_db                                                         | 13 MB    00:18      
sugar                                | 1.3 kB     00:00   
+
updates/metalink                                                         15 kB    00:00     
sugar/primary                        | 5.9 kB    00:00      
+
updates                                                                   | 4.5 kB    00:00     
sugar                                                25/25
+
updates/primary_db                                                       | 867 kB     00:00      
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
 +
Package 1:make-3.81-18.fc12.x86_64 already installed and latest version
 
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
 
--> Processing Dependency: kernel-devel for package: dkms-2.1.0.1-1.fc12.noarch
---> Package gcc.i686 0:4.4.2-7.fc12 set to be updated
+
---> Package gcc.x86_64 0:4.4.4-2.fc13 set to be updated
--> Processing Dependency: cpp = 4.4.2-7.fc12 for package: gcc-4.4.2-7.fc12.i686
+
--> Processing Dependency: cpp = 4.4.4-2.fc13 for package: gcc-4.4.4-2.fc13.x86_64
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.2-7.fc12.i686
+
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.4-2.fc13.x86_64
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.2-7.fc12.i686
+
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.4-2.fc13.x86_64
---> Package make.i686 1:3.81-18.fc12 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.x86_64 0:0.15.7-1.fc12 set to be updated
--> Processing Dependency: libppl_c.so.2 for package: cloog-ppl-0.15.7-1.fc12.i686
+
--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.fc12.x86_64
--> Processing Dependency: libgmpxx.so.4 for package: cloog-ppl-0.15.7-1.fc12.i686
+
--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.fc12.x86_64
--> Processing Dependency: libppl.so.7 for package: cloog-ppl-0.15.7-1.fc12.i686
+
---> Package cpp.x86_64 0:4.4.4-2.fc13 set to be updated
--> Processing Dependency: libgmp.so.3 for package: cloog-ppl-0.15.7-1.fc12.i686
+
---> Package glibc-devel.x86_64 0:2.12-1 set to be updated
---> Package cpp.i686 0:4.4.2-7.fc12 set to be updated
+
--> Processing Dependency: glibc-headers = 2.12-1 for package: glibc-devel-2.12-1.x86_64
--> Processing Dependency: libmpfr.so.1 for package: cpp-4.4.2-7.fc12.i686
+
--> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.x86_64
---> Package glibc-devel.i686 0:2.11-2 set to be updated
+
---> Package kernel-devel.x86_64 0:2.6.33.4-95.fc13 set to be installed
--> Processing Dependency: glibc-headers = 2.11-2 for package: glibc-devel-2.11-2.i686
 
--> 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
+
---> Package glibc-headers.x86_64 0:2.12-1 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.11-2.i686
+
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.11-2.i686
+
--> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.x86_64
---> Package gmp.i686 0:4.3.1-5.fc12 set to be updated
+
---> Package ppl.x86_64 0:0.10.2-10.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
 
 
--> Running transaction check
 
--> Running transaction check
---> Package kernel-headers.i686 0:2.6.31.6-145.fc12 set to be updated
+
---> Package kernel-headers.x86_64 0:2.6.33.4-95.fc13 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                     x86_64          4.4.4-2.fc13                  fedora             10 M
make            i686    1:3.81-18.fc12      fedora  366 k
 
 
Installing for dependencies:
 
Installing for dependencies:
  cloog-ppl       i686    0.15.7-1.fc12       fedora   81 k
+
  cloog-ppl               x86_64          0.15.7-1.fc12                 fedora             82 k
  cpp             i686    4.4.2-7.fc12        fedora   3.3 M
+
  cpp                     x86_64          4.4.4-2.fc13                  fedora           3.7 M
  glibc-devel     i686    2.11-2              fedora   951 k
+
  glibc-devel             x86_64          2.12-1                        fedora           959 k
  glibc-headers   i686    2.11-2              fedora   588 k
+
  glibc-headers           x86_64          2.12-1                        fedora           588 k
gmp            i686    4.3.1-5.fc12        fedora  308 k
+
  kernel-devel             x86_64          2.6.33.4-95.fc13              updates           6.3 M
  kernel-devel   i686    2.6.31.6-145.fc12  updates 5.9 M
+
  kernel-headers           x86_64          2.6.33.4-95.fc13              updates           761 k
  kernel-headers i686    2.6.31.6-145.fc12  updates 741 k
+
  ppl                     x86_64          0.10.2-10.fc12               fedora           1.1 M
mpfr            i686    2.4.1-3.fc12        fedora  145 k
 
  ppl             i686    0.10.2-10.fc12     fedora   1.1 M
 
  
 
Transaction Summary
 
Transaction Summary
============================================================
+
=================================================================================================
Install     12 Package(s)
+
Install       9 Package(s)
 
Upgrade      0 Package(s)
 
Upgrade      0 Package(s)
  
Total download size: 22 M
+
Total download size: 24 M
 +
Installed size: 60 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     
+
fedora/prestodelta                                                       | 419 B     00:00     
updates/prestodelta                 | 166 kB    00:01      
+
updates/prestodelta                                                       | 4.6 kB    00:00      
 
Processing delta metadata
 
Processing delta metadata
Package(s) data still to download: 22 M
+
Package(s) data still to download: 24 M
(1/12): cloog-ppl-0.15.7-1.fc12.i686 81 kB    00:01      
+
(1/9): cloog-ppl-0.15.7-1.fc12.x86_64.rpm                                82 kB    00:00      
(2/12): cpp-4.4.2-7.fc12.i686.rpm   | 3.3 MB    00:38      
+
(2/9): cpp-4.4.4-2.fc13.x86_64.rpm                                       | 3.7 MB    00:06      
(3/12): dkms-2.1.0.1-1.fc12.noarch.r |  95 kB    00:01      
+
(3/9): dkms-2.1.0.1-1.fc12.noarch.rpm                                    |  95 kB    00:00      
(4/12): gcc-4.4.2-7.fc12.i686.rpm   | 8.1 MB    01:34      
+
(4/9): gcc-4.4.4-2.fc13.x86_64.rpm                                       | 10 MB    00:17      
(5/12): glibc-devel-2.11-2.i686.rpm | 951 kB    00:10      
+
(5/9): glibc-devel-2.12-1.x86_64.rpm                                     | 959 kB    00:01      
(6/12): glibc-headers-2.11-2.i686.rp | 588 kB    00:06   
+
(6/9): glibc-headers-2.12-1.x86_64.rpm                                   | 588 kB    00:00      
(7/12): gmp-4.3.1-5.fc12.i686.rpm   | 308 kB    00:03      
+
(7/9): kernel-devel-2.6.33.4-95.fc13.x86_64.rpm                          | 6.3 MB    00:02      
(8/12): kernel-devel-2.6.31.6-145.fc | 5.9 MB    01:09      
+
(8/9): kernel-headers-2.6.33.4-95.fc13.x86_64.rpm                         | 761 kB    00:00     
(9/12): kernel-headers-2.6.31.6-145. | 741 kB    00:08   
+
(9/9): ppl-0.10.2-10.fc12.x86_64.rpm                                     | 1.1 MB    00:02      
(10/12): make-3.81-18.fc12.i686.rpm | 366 kB    00:04   
+
-------------------------------------------------------------------------------------------------
(11/12): mpfr-2.4.1-3.fc12.i686.rpm  | 145 kB    00:01      
+
Total                                                           718 kB/s |  24 MB    00:33      
(12/12): ppl-0.10.2-10.fc12.i686.rpm | 1.1 MB    00:13      
 
------------------------------------------------------------
 
Total                       87 kB/s |  22 MB    04:15      
 
 
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    : cpp-4.4.4-2.fc13.x86_64                                                  1/9
   Installing    : glibc-headers-2.11-2.i686          2/12
+
   Installing    : ppl-0.10.2-10.fc12.x86_64                                                2/9
   Installing    : glibc-devel-2.11-2.i686            3/12
+
   Installing    : cloog-ppl-0.15.7-1.fc12.x86_64                                            3/9
   Installing    : kernel-devel-2.6.31.6-145.fc12.i    4/12
+
   Installing    : kernel-devel-2.6.33.4-95.fc13.x86_64                                      4/9
   Installing    : gmp-4.3.1-5.fc12.i686              5/12
+
   Installing    : kernel-headers-2.6.33.4-95.fc13.x86_64                                    5/9
   Installing    : ppl-0.10.2-10.fc12.i686            6/12  
+
   Installing    : glibc-headers-2.12-1.x86_64                                              6/9
  Installing    : cloog-ppl-0.15.7-1.fc12.i686        7/12
+
   Installing    : glibc-devel-2.12-1.x86_64                                                7/9  
   Installing    : mpfr-2.4.1-3.fc12.i686              8/12  
+
   Installing    : gcc-4.4.4-2.fc13.x86_64                                                  8/9
  Installing    : cpp-4.4.2-7.fc12.i686              9/12
+
   Installing    : dkms-2.1.0.1-1.fc12.noarch                                               9/9
  Installing    : 1:make-3.81-18.fc12.i686          10/12
 
   Installing    : gcc-4.4.2-7.fc12.i686              11/12
 
   Installing    : dkms-2.1.0.1-1.fc12.noarch         12/12
 
  
 
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.x86_64 0:4.4.4-2.fc13                   
  make.i686 1:3.81-18.fc12     
 
  
 
Dependency Installed:
 
Dependency Installed:
   cloog-ppl.i686 0:0.15.7-1.fc12                          
+
   cloog-ppl.x86_64 0:0.15.7-1.fc12               cpp.x86_64 0:4.4.4-2.fc13                     
  cpp.i686 0:4.4.2-7.fc12                                 
+
   glibc-devel.x86_64 0:2.12-1                    glibc-headers.x86_64 0:2.12-1                  
   glibc-devel.i686 0:2.11-2                               
+
   kernel-devel.x86_64 0:2.6.33.4-95.fc13        kernel-headers.x86_64 0:2.6.33.4-95.fc13       
  glibc-headers.i686 0:2.11-2                             
+
   ppl.x86_64 0:0.10.2-10.fc12                  
  gmp.i686 0:4.3.1-5.fc12                                 
 
   kernel-devel.i686 0:2.6.31.6-145.fc12                   
 
  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!
Line 175: Line 151:
 
</div>
 
</div>
  
# go to VirtualBox Devices Menu->Install Guest Additions
+
 
# mkdir /mnt/cdrom
+
# cd /media/VBOXADDITIONS_3.2.0_61806/
# mount /dev/sr0 /mnt/cdrom
+
# ./VBoxLinuxAdditions-amd64.run  
# cd /mnt/cdrom
+
#* (This fails currently. More testing and debugging needed.)
# ./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.
 
#* If upgrading from one VirtualBox version to another, start with fresh virtual disks and machines built with the new versions to avoid breakage.
 
# reboot
 
# reboot
Line 188: Line 162:
 
<div class="NavContent">
 
<div class="NavContent">
 
<pre>
 
<pre>
[root@localhost ~]# mkdir /mnt/cdrom
+
[root@localhost ~]# cd /media/VBOXADDITIONS_3.2.0_61806/
[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/
+
[root@localhost VBOXADDITIONS_3.2.0_61806]# ./VBoxLinuxAdditions-amd64.run  
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.
 
Verifying archive integrity... All good.
Uncompressing VirtualBox 3.0.12 Guest Additions for Linux installation................................................................................................................................................................................................................................
+
Uncompressing VirtualBox 3.2.0 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    [FAILED]
Done.
+
(Your system does not seem to be set up to build kernel modules.
Building the VirtualBox Guest Additions kernel module...
+
Look at /var/log/vboxadd-install.log to find out what went wrong)
Building the shared folder support kernel module...
+
Installing the Window System drivers
Building the drm support kernel module...
+
Installing X.Org Server 1.8 modules                        [  OK  ]
Installing the VirtualBox Guest Additions...
+
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.
  
Successfully installed the VirtualBox Guest Additions.
+
Installing graphics libraries and desktop services componen[  OK  ]
You must restart your guest system in order to complete the installation.
 
 
</pre>
 
</pre>
 
</div>
 
</div>

Revision as of 12:21, 21 May 2010

Instructions for preparing a VirtualBox disk image from a SoaS iso image file.

Installing SoaS iso image

  1. Create a new VM, choose a name such a Mirabelle
  2. Choose Linux for the Operating System and Version Fedora (64 bit)
  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://alt.fedoraproject.org/pub/alt/nightly-composes/soas/, 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 /dev/sda
  14. mklabel msdos -- make partition table
  15. mkpart primary ext2 0 2048
  16. toggle 1 boot
  17. quit
  18. mke2fs /dev/sda1
  19. /LiveOS/livecd-iso-to-disk --overlay-size-mb 200 --home-size-mb 200 --delete-home --unencrypted-home /dev/live /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)
    • 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 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.)
    • 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 on an upgrade.
  20. shutdown -h now

Installing VirtualBox Guest Additions

  1. Unmount CDROM in VirtualBox settings
  2. Mount VBoxGuestAdditions.iso in its place.
  3. Boot VM
  4. Open Terminal
  5. su -
  6. yum install dkms gcc make
    (Other dependencies will be called into the installation.)


  1. cd /media/VBOXADDITIONS_3.2.0_61806/
  2. ./VBoxLinuxAdditions-amd64.run
    • (This fails currently. More testing and debugging needed.)
    • If upgrading from one VirtualBox version to another, start with fresh virtual disks and machines built with the new versions to avoid breakage.
  3. reboot

Configure Screen

  1. Edit /etc/X11/xorg.conf to match the following section: (This is for 1200x900 (XO) and other resolutions.)
 Section "Device"
        Identifier "VirtualBox Video Card"
        Driver "vboxvideo"
 EndSection
 
 Section "Screen"
        Identifier "Default Screen"
        Device "VirtualBox Video Card"
        Monitor "Generic Monitor"
        DefaultDepth 16
        SubSection "Display"
                Depth 16
                Modes "1200x900" "1024x768" "800x600" "640x480"
        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 in the ssh daemon configuration:

  1. in Terminal,
  2. su -
  3. pico /etc/ssh/sshd_config
    1. [add] PermitEmptyPasswords yes
    2. ^O (WriteOut), <Enter> on File Name to Write: /etc/ssh/sshd_config , ^X (Exit)
  4. service sshd restart