Changes

Jump to navigation Jump to search
20,611 bytes added ,  17:43, 28 August 2013
m
→‎Deprecated: updating sugar-build doc url
Line 1: Line 1:  
<noinclude>{{Translations}}{{TOCright}}</noinclude>
 
<noinclude>{{Translations}}{{TOCright}}</noinclude>
 +
{{Template:Obsolete}}
    +
==Deprecated==
 +
 +
'''Note: <font color=red>Sugar-jhbuild is deprecated.</font>''' Please use [http://sugarlabs.org/~buildbot/docs/dev-environment.md.html sugar-build].
 +
 +
== sugar-jhbuild ==
 
Sugar-jhbuild will automatically download the latest of Sugar's dependencies as well as Sugar itself directly from their source repositories, rather than relying on source packages that may have become stale.
 
Sugar-jhbuild will automatically download the latest of Sugar's dependencies as well as Sugar itself directly from their source repositories, rather than relying on source packages that may have become stale.
 
Below are generic instructions on how to use jhbuild to get up and running with Sugar.
 
Below are generic instructions on how to use jhbuild to get up and running with Sugar.
Line 17: Line 23:  
* [[/Fedora | Fedora]] (some [http://www.youtube.com/profile?user=pleabargain&view=videos&query=jhbuild videos of the Fedora jhbuild install process]).  
 
* [[/Fedora | Fedora]] (some [http://www.youtube.com/profile?user=pleabargain&view=videos&query=jhbuild videos of the Fedora jhbuild install process]).  
 
* [[/Ubuntu | Ubuntu]]
 
* [[/Ubuntu | Ubuntu]]
* [[/Mandriva | Mandriva]]
     −
Distro packaging guidelines vary, so please don't worry if jhbuild requires twice/half the packages in one distro that it did an another.
+
Distro packaging guidelines vary, so please don't worry if jhbuild requires twice/half the packages in one distro that it did on another.
    
==Some general advice==
 
==Some general advice==
Line 33: Line 38:  
; git
 
; git
 
: To get the source code of sugar-jhbuild itself and many other Sugar packages you need the <code>git</code> command-line tool from the distributed version control system of the same name. In many distributions the minimal package you need to install is "git-core".
 
: To get the source code of sugar-jhbuild itself and many other Sugar packages you need the <code>git</code> command-line tool from the distributed version control system of the same name. In many distributions the minimal package you need to install is "git-core".
; svn
+
; subversion
 
: A few packages (as of January 2010, only squeak and part of etoys) do not use git, and you need the <code>svn</code> command-line tool from the Subversion version control system to get their source code.
 
: A few packages (as of January 2010, only squeak and part of etoys) do not use git, and you need the <code>svn</code> command-line tool from the Subversion version control system to get their source code.
   Line 42: Line 47:  
In a suitable directory (i.e. usually your user's home directory i.e. /home/yourusername/~), execute
 
In a suitable directory (i.e. usually your user's home directory i.e. /home/yourusername/~), execute
 
  git clone git://git.sugarlabs.org/sugar-jhbuild/mainline.git sugar-jhbuild
 
  git clone git://git.sugarlabs.org/sugar-jhbuild/mainline.git sugar-jhbuild
  −
::Make sure you are in the _user's_ home directory
  −
:: video http://www.youtube.com/watch?v=Tdr1bs4rQ_s
      
You'll know if it worked if you get something like this:
 
You'll know if it worked if you get something like this:
Line 89: Line 91:     
The use of -a and --clean flags are needed when a file is removed so that autogen.sh is run. '''Note:''' Some packages, e.g., squeak and etoys, don't have a ''make clean''. Just ignore the error.
 
The use of -a and --clean flags are needed when a file is removed so that autogen.sh is run. '''Note:''' Some packages, e.g., squeak and etoys, don't have a ''make clean''. Just ignore the error.
  −
=== known issue with hulahop ===
  −
  −
* hulahop stopped building because I had installed a more recent version of xulrunner on my machine. The workaround was to <code>rm -rf ~/sugar-jhbuild/source/hulahop</code> and then run update and build again.
  −
*25 Aug 9: hulahop doesnt' build correctly. http://lists.sugarlabs.org/archive/sugar-devel/2009-August/018540.html The 'fix' is running autoconf.
  −
::Question. How do you run autoconf to fix this problem?
  −
::: when you get asked because of the error, choose the configure stage, or add "-a" to the build / buildone commands
      
=== If build breaks after an update ===
 
=== If build breaks after an update ===
Line 106: Line 101:     
== Run Sugar ==
 
== Run Sugar ==
 +
 +
Note: if you have a non-US keyboard, please follow the instructions on [[#Running sugar in a VNC session|running Sugar in a VNC session]] instead.
    
This command launches Sugar in a nested X session:
 
This command launches Sugar in a nested X session:
Line 113: Line 110:  
To set debug variables, modify <code>~/.sugar/debug</code> (this file will be created on first run of Sugar).
 
To set debug variables, modify <code>~/.sugar/debug</code> (this file will be created on first run of Sugar).
   −
Note that due to a [https://bugs.sugarlabs.org/ticket/342 bug in Xephyr] your keyboard might not work as expected. A partial workaround is to run <code>setxkbmap &lt;keymap name&gt;</code> by adding this command line to <code>~/.sugar/debug</code>. Most "regular" keys should work fine after that, some "special keys" (e.g. cursor up/down) might still refuse to operate as intended.
+
Note that due to a [https://bugs.sugarlabs.org/ticket/342 bug in Xephyr] your keyboard might not work as expected. A partial workaround is to run <code>setxkbmap &lt;keymap name&gt;</code> by adding this command line to <code>~/.sugar/debug</code>. Most "regular" keys should work fine after that, some "special keys" (e.g. cursor up/down) might still refuse to operate as intended.  The "keymap name" usually is a two letter country code, e.g. "de" for german or "fr" for french.
   −
The "keymap name" usually is a two letter country code, e.g. "de" for german or "fr" for french.
+
== Running sugar in a VNC session ==
 +
 
 +
Many users and developers have reported problems with running sugar-emulator because it uses Xephyr. As an alternative, you can run sugar in a VNC session. To accomplish this create a <code>~/.vnc/xstartup</code> file containing the code below:
 +
 
 +
#!/bin/sh
 +
exec ~/sugar-jhbuild/sugar-jhbuild run dbus-launch --exit-with-session sugar
 +
 
 +
Note: The above code assumes that sugar-jhbuild is installed in the <code>~/sugar-jhbuild/</code> directory.
 +
 
 +
Now, you may run Sugar by creating a VNC session and accessing it using a VNC viewer. E.g.:
 +
vncserver :1
 +
vncviewer :1
    
== Run an individual activity ==
 
== Run an individual activity ==
Line 125: Line 133:  
You will see debug output appearing in Terminal.
 
You will see debug output appearing in Terminal.
   −
== Configure the mode and resolution of Sugar ==
+
== Configure the mode and resolution of Xephyr ==
   −
You can make Sugar run fullscreen or specify a size (in pixels):
+
You can make Xephyr run fullscreen or specify a size (in pixels):
    
  ./sugar-jhbuild run sugar-emulator --fullscreen
 
  ./sugar-jhbuild run sugar-emulator --fullscreen
 
  ./sugar-jhbuild run sugar-emulator --dimensions 1200x900
 
  ./sugar-jhbuild run sugar-emulator --dimensions 1200x900
 
+
./sugar-jhbuild run sugar-emulator --dimensions 832x624
The default size of 800x600 is currently the minimum that should work without issues. I.e. activities should be tested to work in this mode (and in others as well).
+
The default size of 800x600 is currently the minimum that should work without issues. I.e., activities should be tested to work in this mode (and in others as well). 832x624 approximates the display proportions of the XO laptops, closely matching the toolbar, for example.
 
  −
== Running sugar in a VNC session ==
  −
 
  −
Many users and developers have reported problems with running sugar-emulator, which uses Xephyr. As an alternatice, you can run sugar inside a VNC session. To accomplish this, install a complete set of VNC packages (both server and client)  and create a <code>~/.vnc/xstartup</code> file containing the code below:
  −
 
  −
#!/bin/sh
  −
exec ~/sugar-jhbuild/sugar-jhbuild run dbus-launch --exit-with-session sugar
  −
 
  −
Now, you may run Sugar by creating a VNC session and accessing it using a VNC viewer. E.g.:
  −
vncserver :1
  −
vncviewer :1
      
== Other commands ==
 
== Other commands ==
Line 152: Line 149:     
== From within Sugar ==
 
== From within Sugar ==
Once you have Sugar running, here are some useful commands:
+
Once you have Sugar running, here are some useful commands (these are not specific to sugar-jhbuild or sugar-emulator, but work in all Sugar sessions):
 +
 
 
*'''Alt+Shift+F''' makes the frame appear and disappear
 
*'''Alt+Shift+F''' makes the frame appear and disappear
 
*'''Ctrl-Q''' quits an activity
 
*'''Ctrl-Q''' quits an activity
Line 162: Line 160:     
To customize the build you can modify the configuration file named <code>sugar.jhbuildrc</code> or create a copy of it and pass <code>--file /path/to/your/new/config</code> to sugar-jhbuild.
 
To customize the build you can modify the configuration file named <code>sugar.jhbuildrc</code> or create a copy of it and pass <code>--file /path/to/your/new/config</code> to sugar-jhbuild.
  −
=== Write access to the repositories ===
  −
  −
If you have write access to the repositories you can add this (if your login name happens to be marco):
  −
repos['gnome.org'] = ':ext:marco@cvs.gnome.org:/cvs/gnome'
  −
repos['mozilla.org'] = ':ext:marco%gnome.org@cvs.mozilla.org:/cvsroot'
  −
repos['dev.laptop.org'] = 'git+ssh://marco@dev.laptop.org/git/'
  −
repos['dev.laptop.org/projects'] = 'git+ssh://marco@dev.laptop.org/git/projects/'
      
== Compiling using 2 or more CPU cores ==
 
== Compiling using 2 or more CPU cores ==
Line 199: Line 189:  
<pre>modulesets = 'sugar'</pre>
 
<pre>modulesets = 'sugar'</pre>
 
* Set this to:
 
* Set this to:
<pre>modulesets = 'sugar-0.86'</pre>
+
<pre>modulesets = 'sugar-0.84'</pre>
 
customizing the latter to your specific needs.
 
customizing the latter to your specific needs.
 
* Copy ''sugar.jhbuildrc'' to ''~/.jhbuildrc''
 
* Copy ''sugar.jhbuildrc'' to ''~/.jhbuildrc''
Line 220: Line 210:     
* [http://library.gnome.org/devel/jhbuild/unstable/ JHBuild manual]
 
* [http://library.gnome.org/devel/jhbuild/unstable/ JHBuild manual]
 +
 +
 +
== Known issues==
 +
 +
=== Known issue with hulahop ===
 +
 +
* hulahop stopped building because I had installed a more recent version of xulrunner on my machine. The workaround was to <code>rm -rf ~/sugar-jhbuild/source/hulahop</code> and then run update and build again.
    
[[Category:Installing Sugar]]
 
[[Category:Installing Sugar]]
 +
[[Category:Jhbuild]]
 +
 +
 +
 +
== Dual-Booting F17 and F14 ==
 +
 +
 +
=== Install F17, using a LiveUSB. This would erase all the previous existing OSes (if any). ===
 +
 +
* Start "Install to Hard Drive".
 +
 +
* Choose "Use the entire space", with "Use LVM" UNCHECKED. Note that this is important, since using the LVM option prevents the drive to be partitioned later for the two Fedoras.
 +
 +
* When asked for bootloader-installation position, choose "MBR in /dev/sda".
 +
 +
* Installation should complete successfully.
 +
 +
 +
 +
=== Re-install F17, using a LiveUSB (but this time on a dedicated partition) ===
 +
 +
* Start "Install to Hard Drive".
 +
 +
* Choose "Create Custom Layout".
 +
 +
* Delete "dev/sda4" (extended-partition-root). This should also automatially delete "/dev/sda5" (extended-partition-leaf).
 +
 +
* Now, select on the "Free" chunk (mine was 500 GB).
 +
** Click "Edit".
 +
** Select "/" as the mount-point.
 +
** Choose an appropriate space (I chose 300 GB).
 +
** Click "OK".
 +
** This sould create "/dev/sda4" as the extended-partition-root, and "/dev/sda5" (worth 300 GB of space) as extended-partition-leaf.
 +
 +
* Click "Next".
 +
 +
* When asked for bootloader-installation position, choose "MBR in /dev/sda".
 +
 +
* Installation should complete successfully.
 +
 +
 +
 +
=== Install F14, using a LiveUSB (on a dedicated partition) ===
 +
 +
* Start "Install to Hard Drive".
 +
 +
* Choose "Create Custom Layout".
 +
 +
* Now, select on the "Free" chunk (mine was about 175 GB).
 +
** Click "Edit".
 +
** Select "/" as the mount-point.
 +
** Choose an appropriate space (I chose 175 GB).
 +
** Click "OK".
 +
** This sould create "/dev/sda6" as the extended-partition-leaf.
 +
 +
* Click "Next".
 +
 +
* When asked for bootloader-installation position, choose "First sector of /dev/sda6".
 +
 +
* Installation should complete successfully.
 +
 +
 +
 +
=== Enabling dual-boot ===
 +
 +
* At the moment, with all LiveUSBs removed, I was able to boot into F17 only. I could not see any option to boot into F14.
 +
 +
 +
* Boot into F17.
 +
 +
 +
* In one terminal, open the file "/etc/grub2.cfg" (in editable mode). The original contents should be on the lines of
 +
<pre>
 +
#
 +
# DO NOT EDIT THIS FILE
 +
#
 +
# It is automatically generated by grub2-mkconfig using templates
 +
# from /etc/grub.d and settings from /etc/default/grub
 +
#
 +
 +
### BEGIN /etc/grub.d/00_header ###
 +
if [ -s $prefix/grubenv ]; then
 +
  load_env
 +
fi
 +
set default="${saved_entry}"
 +
 +
if [ x"${feature_menuentry_id}" = xy ]; then
 +
  menuentry_id_option="--id"
 +
else
 +
  menuentry_id_option=""
 +
fi
 +
 +
export menuentry_id_option
 +
 +
if [ "${prev_saved_entry}" ]; then
 +
  set saved_entry="${prev_saved_entry}"
 +
  save_env saved_entry
 +
  set prev_saved_entry=
 +
  save_env prev_saved_entry
 +
  set boot_once=true
 +
fi
 +
 +
function savedefault {
 +
  if [ -z "${boot_once}" ]; then
 +
    saved_entry="${chosen}"
 +
    save_env saved_entry
 +
  fi
 +
}
 +
 +
function load_video {
 +
  if [ x$feature_all_video_module = xy ]; then
 +
    insmod all_video
 +
  else
 +
    insmod efi_gop
 +
    insmod efi_uga
 +
    insmod ieee1275_fb
 +
    insmod vbe
 +
    insmod vga
 +
    insmod video_bochs
 +
    insmod video_cirrus
 +
  fi
 +
}
 +
 +
if [ x$feature_default_font_path = xy ] ; then
 +
  font=unicode
 +
else
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
    font="/usr/share/grub/unicode.pf2"
 +
fi
 +
 +
if loadfont $font ; then
 +
  set gfxmode=auto
 +
  load_video
 +
  insmod gfxterm
 +
  set locale_dir=$prefix/locale
 +
  set lang=en_US
 +
  insmod gettext
 +
fi
 +
terminal_output gfxterm
 +
set timeout=5
 +
### END /etc/grub.d/00_header ###
 +
 +
### BEGIN /etc/grub.d/10_linux ###
 +
menuentry 'Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
load_video
 +
set gfxpayload=keep
 +
insmod gzio
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
echo 'Loading Linux 3.3.4-5.fc17.i686 ...'
 +
linux /boot/vmlinuz-3.3.4-5.fc17.i686 root=UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
 +
echo 'Loading initial ramdisk ...'
 +
initrd /boot/initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
submenu 'Advanced options for Fedora Linux' $menuentry_id_option 'gnulinux-advanced-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
menuentry 'Fedora Linux, with Linux 3.3.4-5.fc17.i686' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.i686-advanced-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
load_video
 +
set gfxpayload=keep
 +
insmod gzio
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
echo 'Loading Linux 3.3.4-5.fc17.i686 ...'
 +
linux /boot/vmlinuz-3.3.4-5.fc17.i686 root=UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
 +
echo 'Loading initial ramdisk ...'
 +
initrd /boot/initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
menuentry 'Fedora Linux, with Linux 3.3.4-5.fc17.i686 (recovery mode)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.i686-recovery-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
load_video
 +
set gfxpayload=keep
 +
insmod gzio
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
echo 'Loading Linux 3.3.4-5.fc17.i686 ...'
 +
linux /boot/vmlinuz-3.3.4-5.fc17.i686 root=UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 ro single rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
 +
echo 'Loading initial ramdisk ...'
 +
initrd /boot/initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
}
 +
if [ "x$default" = 'Fedora Linux, with Linux 3.3.4-5.fc17.i686' ]; then default='Advanced options for Fedora Linux>Fedora Linux, with Linux 3.3.4-5.fc17.i686'; fi;
 +
### END /etc/grub.d/10_linux ###
 +
 +
### BEGIN /etc/grub.d/20_linux_xen ###
 +
### END /etc/grub.d/20_linux_xen ###
 +
 +
### BEGIN /etc/grub.d/20_ppc_terminfo ###
 +
### END /etc/grub.d/20_ppc_terminfo ###
 +
 +
### BEGIN /etc/grub.d/30_os-prober ###
 +
menuentry 'Fedora release 17 (Beefy Miracle)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-9a669232-ec18-4571-85da-904db5b24112' {
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos1'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  f2a4fc34-1b1d-494e-903f-7481e6381302
 +
else
 +
  search --no-floppy --fs-uuid --set=root f2a4fc34-1b1d-494e-903f-7481e6381302
 +
fi
 +
linux /vmlinuz-3.3.4-5.fc17.i686 root=/dev/sda2
 +
initrd /initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
submenu 'Advanced options for Fedora release 17 (Beefy Miracle)' $menuentry_id_option 'osprober-gnulinux-advanced-9a669232-ec18-4571-85da-904db5b24112' {
 +
menuentry 'Fedora release 17 (Beefy Miracle) (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz-3.3.4-5.fc17.i686--9a669232-ec18-4571-85da-904db5b24112' {
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos1'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  f2a4fc34-1b1d-494e-903f-7481e6381302
 +
else
 +
  search --no-floppy --fs-uuid --set=root f2a4fc34-1b1d-494e-903f-7481e6381302
 +
fi
 +
linux /vmlinuz-3.3.4-5.fc17.i686 root=/dev/sda2
 +
initrd /initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
}
 +
 +
### END /etc/grub.d/30_os-prober ###
 +
 +
### BEGIN /etc/grub.d/40_custom ###
 +
# This file provides an easy way to add custom menu entries.  Simply type the
 +
# menu entries you want to add after this comment.  Be careful not to change
 +
# the 'exec tail' line above.
 +
### END /etc/grub.d/40_custom ###
 +
 +
### BEGIN /etc/grub.d/41_custom ###
 +
if [ -f  $prefix/custom.cfg ]; then
 +
  source $prefix/custom.cfg;
 +
fi
 +
### END /etc/grub.d/41_custom ###
 +
</pre>
 +
 +
 +
 +
 +
* In another terminal, mount F14 on a directory.
 +
<pre>
 +
[ajay@localhost ~]$ su -
 +
Password:
 +
 +
[root@localhost ~]# mkdir qq
 +
 +
[root@localhost ~]# mount -t ext4 /dev/sda6 qq
 +
 +
[root@localhost ~]# ls -l qq/boot
 +
total 19064
 +
-rw-r--r--. 1 root root  114968 Oct 18  2010 config-2.6.35.6-45.fc14.i686
 +
drwxr-xr-x. 3 root root    4096 Oct 22  2010 efi
 +
-rw-r--r--. 1 root root  166756 May 25  2010 elf-memtest86+-4.10
 +
drwxr-xr-x. 2 root root    4096 Aug  5  2010 grub
 +
-rw-r--r--. 1 root root 12562626 Jun 15 15:59 initramfs-2.6.35.6-45.fc14.i686.img
 +
-rw-r--r--. 1 root root  1106254 Oct 22  2010 initrd-plymouth.img
 +
-rw-r--r--. 1 root root  165080 May 25  2010 memtest86+-4.10
 +
-rw-r--r--. 1 root root  1681526 Oct 18  2010 System.map-2.6.35.6-45.fc14.i686
 +
-rwxr-xr-x. 1 root root  3696448 Oct 18  2010 vmlinuz-2.6.35.6-45.fc14.i686
 +
</pre>
 +
 +
 +
 +
 +
* Now, open the contents of "qq/boot/grub/menu.lst"
 +
<pre>
 +
# grub.conf generated by anaconda
 +
#
 +
# Note that you do not have to rerun grub after making changes to this file
 +
# NOTICE:  You do not have a /boot partition.  This means that
 +
#          all kernel and initrd paths are relative to /, eg.
 +
#          root (hd0,5)
 +
#          kernel /boot/vmlinuz-version ro root=/dev/sda6
 +
#          initrd /boot/initrd-[generic-]version.img
 +
#boot=/dev/sda6
 +
default=0
 +
timeout=0
 +
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
 +
hiddenmenu
 +
title Fedora (2.6.35.6-45.fc14.i686)
 +
root (hd0,5)
 +
kernel /boot/vmlinuz-2.6.35.6-45.fc14.i686 ro root=UUID=333b5104-4f4a-41d9-856a-c7802677bec0 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet
 +
initrd /boot/initramfs-2.6.35.6-45.fc14.i686.img
 +
</pre>
 +
 +
 +
 +
 +
* Now, in the originally opened "/etc/grub2.cfg", add the entry for boot-option for Fedora-14. Take note that
 +
** Replace the UUID, with the UUID of F14 partition (as seen from contents of "qq/boot/grub/menu.lst".
 +
 +
 +
** The arguments to "initrd" should of the initramfs of  F14 (As seen from the output of '''ls qq/boot''').
 +
 +
 +
** '''hd0,msdos5''' (corresponding to "/dev/sda5" for F17) is replaced by '''hd0,msdos6''' (corresponding to "/dev/sda6" for F14).
 +
 +
 +
** Finally, the command '''kernel /boot/vmlinuz-2.6.35.6-45.fc14.i686 ro root=UUID=333b5104-4f4a-41d9-856a-c7802677bec0 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet''' (as seen in '''qq/boot/grub/menu.lst''', used to boot up kernel vis F14's grub) is replaced by '''linux /boot/vmlinuz-2.6.35.6-45.fc14.i686 ro root=UUID=333b5104-4f4a-41d9-856a-c7802677bec0 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet''' (in '''/etc/grub2.cfg''', since we intend to boot F14 via F17's grub2).
 +
 +
 +
<pre>
 +
#
 +
# DO NOT EDIT THIS FILE
 +
#
 +
# It is automatically generated by grub2-mkconfig using templates
 +
# from /etc/grub.d and settings from /etc/default/grub
 +
#
 +
 +
### BEGIN /etc/grub.d/00_header ###
 +
if [ -s $prefix/grubenv ]; then
 +
  load_env
 +
fi
 +
set default="${saved_entry}"
 +
 +
if [ x"${feature_menuentry_id}" = xy ]; then
 +
  menuentry_id_option="--id"
 +
else
 +
  menuentry_id_option=""
 +
fi
 +
 +
export menuentry_id_option
 +
 +
if [ "${prev_saved_entry}" ]; then
 +
  set saved_entry="${prev_saved_entry}"
 +
  save_env saved_entry
 +
  set prev_saved_entry=
 +
  save_env prev_saved_entry
 +
  set boot_once=true
 +
fi
 +
 +
function savedefault {
 +
  if [ -z "${boot_once}" ]; then
 +
    saved_entry="${chosen}"
 +
    save_env saved_entry
 +
  fi
 +
}
 +
 +
function load_video {
 +
  if [ x$feature_all_video_module = xy ]; then
 +
    insmod all_video
 +
  else
 +
    insmod efi_gop
 +
    insmod efi_uga
 +
    insmod ieee1275_fb
 +
    insmod vbe
 +
    insmod vga
 +
    insmod video_bochs
 +
    insmod video_cirrus
 +
  fi
 +
}
 +
 +
if [ x$feature_default_font_path = xy ] ; then
 +
  font=unicode
 +
else
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
    font="/usr/share/grub/unicode.pf2"
 +
fi
 +
 +
if loadfont $font ; then
 +
  set gfxmode=auto
 +
  load_video
 +
  insmod gfxterm
 +
  set locale_dir=$prefix/locale
 +
  set lang=en_US
 +
  insmod gettext
 +
fi
 +
terminal_output gfxterm
 +
set timeout=5
 +
### END /etc/grub.d/00_header ###
 +
 +
### BEGIN /etc/grub.d/10_linux ###
 +
menuentry 'Fedora Linux' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
load_video
 +
set gfxpayload=keep
 +
insmod gzio
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
echo 'Loading Linux 3.3.4-5.fc17.i686 ...'
 +
linux /boot/vmlinuz-3.3.4-5.fc17.i686 root=UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
 +
echo 'Loading initial ramdisk ...'
 +
initrd /boot/initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
### [STARTS] OPTION TO ADD BOOT-UP OPTION FOR F14 ###
 +
menuentry 'Fedora Linux 14' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-333b5104-4f4a-41d9-856a-c7802677bec0' {
 +
load_video
 +
set gfxpayload=keep
 +
insmod gzio
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos6'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 --hint='hd0,msdos6'  333b5104-4f4a-41d9-856a-c7802677bec0
 +
else
 +
  search --no-floppy --fs-uuid --set=root 333b5104-4f4a-41d9-856a-c7802677bec0
 +
fi
 +
echo 'Loading Linux 14 waala ...'
 +
linux /boot/vmlinuz-2.6.35.6-45.fc14.i686 ro root=UUID=333b5104-4f4a-41d9-856a-c7802677bec0 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rhgb quiet
 +
echo 'Loading initial ramdisk ...'
 +
initrd /boot/initramfs-2.6.35.6-45.fc14.i686.img
 +
}
 +
### [ENDS] OPTION TO ADD BOOT-UP OPTION FOR F14 ###
 +
submenu 'Advanced options for Fedora Linux' $menuentry_id_option 'gnulinux-advanced-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
menuentry 'Fedora Linux, with Linux 3.3.4-5.fc17.i686' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.i686-advanced-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
load_video
 +
set gfxpayload=keep
 +
insmod gzio
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
echo 'Loading Linux 3.3.4-5.fc17.i686 ...'
 +
linux /boot/vmlinuz-3.3.4-5.fc17.i686 root=UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
 +
echo 'Loading initial ramdisk ...'
 +
initrd /boot/initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
menuentry 'Fedora Linux, with Linux 3.3.4-5.fc17.i686 (recovery mode)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.3.4-5.fc17.i686-recovery-1ff89cae-60bc-40fb-9e3c-e16e4850caa3' {
 +
load_video
 +
set gfxpayload=keep
 +
insmod gzio
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos5'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5'  1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
else
 +
  search --no-floppy --fs-uuid --set=root 1ff89cae-60bc-40fb-9e3c-e16e4850caa3
 +
fi
 +
echo 'Loading Linux 3.3.4-5.fc17.i686 ...'
 +
linux /boot/vmlinuz-3.3.4-5.fc17.i686 root=UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 ro single rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True  KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rhgb quiet
 +
echo 'Loading initial ramdisk ...'
 +
initrd /boot/initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
}
 +
if [ "x$default" = 'Fedora Linux, with Linux 3.3.4-5.fc17.i686' ]; then default='Advanced options for Fedora Linux>Fedora Linux, with Linux 3.3.4-5.fc17.i686'; fi;
 +
### END /etc/grub.d/10_linux ###
 +
 +
### BEGIN /etc/grub.d/20_linux_xen ###
 +
### END /etc/grub.d/20_linux_xen ###
 +
 +
### BEGIN /etc/grub.d/20_ppc_terminfo ###
 +
### END /etc/grub.d/20_ppc_terminfo ###
 +
 +
### BEGIN /etc/grub.d/30_os-prober ###
 +
menuentry 'Fedora release 17 (Beefy Miracle)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-9a669232-ec18-4571-85da-904db5b24112' {
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos1'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  f2a4fc34-1b1d-494e-903f-7481e6381302
 +
else
 +
  search --no-floppy --fs-uuid --set=root f2a4fc34-1b1d-494e-903f-7481e6381302
 +
fi
 +
linux /vmlinuz-3.3.4-5.fc17.i686 root=/dev/sda2
 +
initrd /initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
submenu 'Advanced options for Fedora release 17 (Beefy Miracle)' $menuentry_id_option 'osprober-gnulinux-advanced-9a669232-ec18-4571-85da-904db5b24112' {
 +
menuentry 'Fedora release 17 (Beefy Miracle) (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz-3.3.4-5.fc17.i686--9a669232-ec18-4571-85da-904db5b24112' {
 +
insmod part_msdos
 +
insmod ext2
 +
set root='hd0,msdos1'
 +
if [ x$feature_platform_search_hint = xy ]; then
 +
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  f2a4fc34-1b1d-494e-903f-7481e6381302
 +
else
 +
  search --no-floppy --fs-uuid --set=root f2a4fc34-1b1d-494e-903f-7481e6381302
 +
fi
 +
linux /vmlinuz-3.3.4-5.fc17.i686 root=/dev/sda2
 +
initrd /initramfs-3.3.4-5.fc17.i686.img
 +
}
 +
}
 +
 +
### END /etc/grub.d/30_os-prober ###
 +
 +
### BEGIN /etc/grub.d/40_custom ###
 +
# This file provides an easy way to add custom menu entries.  Simply type the
 +
# menu entries you want to add after this comment.  Be careful not to change
 +
# the 'exec tail' line above.
 +
### END /etc/grub.d/40_custom ###
 +
 +
### BEGIN /etc/grub.d/41_custom ###
 +
if [ -f  $prefix/custom.cfg ]; then
 +
  source $prefix/custom.cfg;
 +
fi
 +
### END /etc/grub.d/41_custom ###
 +
</pre>
 +
 +
 +
 +
* As a last step, change "/etc/fstab" from
 +
<pre>
 +
 +
#
 +
# /etc/fstab
 +
# Created by anaconda on Fri Jun 15 15:30:02 2012
 +
#
 +
# Accessible filesystems, by reference, are maintained under '/dev/disk'
 +
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
 +
#
 +
UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 /                      ext4    defaults        1 1
 +
UUID=9d06cbba-57e6-4cb2-93be-61a430601a67 swap                    swap    defaults        0 0
 +
</pre>
 +
 +
to
 +
 +
<pre>
 +
 +
#
 +
# /etc/fstab
 +
# Created by anaconda on Fri Jun 15 15:30:02 2012
 +
#
 +
# Accessible filesystems, by reference, are maintained under '/dev/disk'
 +
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
 +
#
 +
UUID=1ff89cae-60bc-40fb-9e3c-e16e4850caa3 /                      ext4    defaults        1 1
 +
UUID=333b5104-4f4a-41d9-856a-c7802677bec0 /                      ext4    defaults        1 1
 +
UUID=9d06cbba-57e6-4cb2-93be-61a430601a67 swap                    swap    defaults        0 0
 +
</pre>
 +
 +
 +
 +
* Reboot. Now the option to boot into F14 should be present (in options via F17's grub).
 +
 +
 +
 +
=== Useful links ===
 +
 +
* http://www.dedoimedo.com/computers/grub-2.html
 +
 
[[Category:Jhbuild]]
 
[[Category:Jhbuild]]
9

edits

Navigation menu