Projects/KDE on Solaris/OpenSolaris/LiveCDHowTo
Appearance
Follow this guide to create an OpenSolaris live DVD with KDE desktop. It assumes that you already have the packages in a local repository.
Make sure you have enough space
you'll need at least 12 GB, I add a 16 GB disk to my VirtualBox machine.
$ pfexec zpool create -f dpool c7d1s0 $ pfexec zpool import $ zpool list NAME SIZE USED AVAIL CAP HEALTH ALTROOT dpool 15.9G 74.5K 15.9G 0% ONLINE - rpool 15.9G 12.3G 3.53G 77% ONLINE -
Install the distribution constructor
$ pfexec pkg install SUNWdistro-const
Modify the supplied config file
so that the local repo is added and KDE packages are added
$ cp /usr/share/distro_const/slim_cd/all_lang_slim_cd_x86.xml . $ vi all_lang_slim_cd_x86.xml
a diff:
--- /usr/share/distro_const/slim_cd/all_lang_slim_cd_x86.xml 2009-08-08 16:57:07.500098872 +0200
+++ all_lang_slim_cd_x86.xml 2009-08-08 23:00:45.221631342 +0200
@@ -25,7 +25,7 @@
live CD iso and usb image
-->
-<distribution name="OpenSolaris">
+<distribution name="Korona 0.0.2">
<distro_constr_params>
<distro_constr_flags>
<!--
@@ -75,15 +75,12 @@
If you want to use one or more mirrors that are
setup for the authority, specify the urls here.
-->
- <!--
- Uncomment before using.
<pkg_repo_addl_authority>
<main
- url=""
- authname=""/>
+ url="http://localhost:10000"
+ authname="local"/>
<mirror url="" />
</pkg_repo_addl_authority>
- -->
<!--
The default preferred authority to be used by the system
after it has been installed.
@@ -125,7 +122,7 @@
is not a zfs dataset or mountpoint, checkpointing will not
be enabled.
-->
- <build_area>rpool/dc</build_area>
+ <build_area>dpool/dc</build_area>
<!--
list of packages used to form the installed image
-->
@@ -144,11 +141,88 @@
<pkg_name="[email protected]#/>
-->
- <pkg name="entire"/>
<pkg name="SUNWcsd"/>
<pkg name="SUNWcs"/>
<pkg name="babel_install"/>
<pkg name="SUNWslim-utils"/>
+<pkg name="KDEl10n-ar"/>
+<pkg name="KDEl10n-bg"/>
+<pkg name="KDEl10n-bnIN"/>
+<pkg name="KDEl10n-ca"/>
+<pkg name="KDEl10n-cs"/>
+<pkg name="KDEl10n-csb"/>
+<pkg name="KDEl10n-da"/>
+<pkg name="KDEl10n-de"/>
+<pkg name="KDEl10n-el"/>
+<pkg name="KDEl10n-enGB"/>
+<pkg name="KDEl10n-es"/>
+<pkg name="KDEl10n-et"/>
+<pkg name="KDEl10n-eu"/>
+<pkg name="KDEl10n-fi"/>
+<pkg name="KDEl10n-fr"/>
+<pkg name="KDEl10n-ga"/>
+<pkg name="KDEl10n-gl"/>
+<pkg name="KDEl10n-gu"/>
+<pkg name="KDEl10n-he"/>
+<pkg name="KDEl10n-hi"/>
+<pkg name="KDEl10n-hne"/>
+<pkg name="KDEl10n-hu"/>
+<pkg name="KDEl10n-is"/>
+<pkg name="KDEl10n-it"/>
+<pkg name="KDEl10n-ja"/>
+<pkg name="KDEl10n-kk"/>
+<pkg name="KDEl10n-km"/>
+<pkg name="KDEl10n-kn"/>
+<pkg name="KDEl10n-ko"/>
+<pkg name="KDEl10n-ku"/>
+<pkg name="KDEl10n-lt"/>
+<pkg name="KDEl10n-lv"/>
+<pkg name="KDEl10n-mai"/>
+<pkg name="KDEl10n-mk"/>
+<pkg name="KDEl10n-ml"/>
+<pkg name="KDEl10n-mr"/>
+<pkg name="KDEl10n-nb"/>
+<pkg name="KDEl10n-nds"/>
+<pkg name="KDEl10n-nl"/>
+<pkg name="KDEl10n-nn"/>
+<pkg name="KDEl10n-pa"/>
+<pkg name="KDEl10n-pl"/>
+<pkg name="KDEl10n-pt"/>
+<pkg name="KDEl10n-ptBR"/>
+<pkg name="KDEl10n-ro"/>
+<pkg name="KDEl10n-ru"/>
+<pkg name="KDEl10n-sk"/>
+<pkg name="KDEl10n-sl"/>
+<pkg name="KDEl10n-sr"/>
+<pkg name="KDEl10n-sv"/>
+<pkg name="KDEl10n-tg"/>
+<pkg name="KDEl10n-th"/>
+<pkg name="KDEl10n-tr"/>
+<pkg name="KDEl10n-uk"/>
+<pkg name="KDEl10n-wa"/>
+<pkg name="KDEl10n-zhCN"/>
+<pkg name="KDEl10n-zhTW"/>
+<pkg name="KDEaccessibility"/>
+<pkg name="KDEadmin"/>
+<pkg name="KDEartwork"/>
+<pkg name="KDEbase-apps"/>
+<pkg name="KDEbase-runtime"/>
+<pkg name="KDEbase-workspace"/>
+<pkg name="KDEedu"/>
+<pkg name="KDEgames"/>
+<pkg name="KDEgdm-integration"/>
+<pkg name="KDEgraphics"/>
+<pkg name="KDEkonversation"/>
+<pkg name="KDElibs"/>
+<pkg name="KDElibs-experimental"/>
+<pkg name="KDEnetwork"/>
+<pkg name="KDEoxygen-icons"/>
+<pkg name="KDEpim"/>
+<pkg name="KDEpimlibs"/>
+<pkg name="KDEsdk"/>
+<pkg name="KDEtoys"/>
+<pkg name="KDEutils"/>
+<pkg name="KDEwebdev"/>
</packages>
<!--
Items below this line are rarely configured
@@ -182,10 +256,7 @@
the first line of /etc/release will be used as
the title for the grub menu
-->
- <!--
- Uncomment before using
- <title>Special Grub Title Text</title>
- -->
+ <title>Korona 0.0.2</title>
<entry>
<title_suffix>Enable SSH</title_suffix>
<line>kernel$ /platform/i86pc/kernel/$ISADIR/unix -B livessh=enable</line>
(I use this oneliner to get all the KDE packages installed on my build system:
pkginfo |grep ^KDE|sed s/^KDE4\ *//|grep -o ^KDE[^\ ]*|sed s/^/\<pkg\ name=\"/|sed s/\$/\"\\/\>/
Run the first phase, takes several hours
$ pfexec distro_const build -p 1 all_lang_slim_cd_x86.xml
Remove the step_im-mod snapshot
$ zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT dpool/dc/build_data@empty 0 - 23K - dpool/dc/[email protected]_im-pop 0 - 23K - dpool/dc/[email protected]_im-mod 6.54M - 5.05G - rpool/ROOT/opensolaris@install 150M - 2.82G - $ pfexec zfs destroy dpool/dc/[email protected]_im-mod
Add a .dmrc file for jack, so that kde is the default session
$ pfexec vi /dpool/dc/build_data/pkg_image/jack/.dmrc $ cat /dpool/dc/build_data/pkg_image/jack/.dmrc [Desktop] Session=kde $ pfexec chown --reference=/dpool/dc/build_data/pkg_image/jack /dpool/dc/build_data/pkg_image/jack/.dmrc
Add some desktop icons
$ scp [email protected]:/tmp/KDE* /dpool/dc/build_data/pkg_image/jack/Desktop/ $ scp [email protected]:/tmp/kde* /dpool/dc/build_data/pkg_image/jack/Desktop/ $ pfexec chown --reference=/dpool/dc/build_data/pkg_image/jack /dpool/dc/build_data/pkg_image/jack/Desktop/KDE-Solaris-forum.desktop $ pfexec chown --reference=/dpool/dc/build_data/pkg_image/jack /dpool/dc/build_data/pkg_image/jack/Desktop/kde-solaris.desktop
Create the step_im-mod snapshot again and proceed with the build
$ pfexec zfs snapshot dpool/dc/[email protected]_im-mod $ pfexec distro_const build -r 1 all_lang_slim_cd_x86.xml