| 1 |
<?xml version='1.0' encoding='ISO-8859-1'?> |
|---|
| 2 |
<chapter id="chap_01"> |
|---|
| 3 |
<title>The first steps: Morphing and making a new Combined ISO</title> |
|---|
| 4 |
<abstract> |
|---|
| 5 |
<para>What we will do in this howto:</para> |
|---|
| 6 |
<para> |
|---|
| 7 |
<itemizedlist> |
|---|
| 8 |
<listitem><para>Give you an introduction to morphing</para></listitem> |
|---|
| 9 |
<listitem><para>Show you how/where to get isomorph</para></listitem> |
|---|
| 10 |
<listitem><para>Get you up to speed on using isomorph to create your own ISOs</para></listitem> |
|---|
| 11 |
</itemizedlist> |
|---|
| 12 |
</para> |
|---|
| 13 |
</abstract> |
|---|
| 14 |
|
|---|
| 15 |
<sect1 id="sect_01_01"> |
|---|
| 16 |
<title>Introduction to morphing</title> |
|---|
| 17 |
|
|---|
| 18 |
<sect2 id="sect_01_01_01"> |
|---|
| 19 |
<title>Should I read this?</title> |
|---|
| 20 |
<para> |
|---|
| 21 |
Okay, you've tried out some of the pre-built Morphix Combined ISOs, |
|---|
| 22 |
you've possibly even attempted (and hopefully succeeded) in installing them. |
|---|
| 23 |
Now what? If you are content with the live CDs Morphix provides, this |
|---|
| 24 |
howto isn't for you. If, on the other hand, you'd like to modify your |
|---|
| 25 |
ISO, build a new one using the latest base ISO or just are curious in |
|---|
| 26 |
the gritty modularity that makes Morphix tick, you're at the right address. |
|---|
| 27 |
</para> |
|---|
| 28 |
<para> |
|---|
| 29 |
In this howto, we'll concentrate on only one of the Morphix tools. As often in |
|---|
| 30 |
life, there are more ways than one to hit a nail (and when you |
|---|
| 31 |
want to hit one, everything looks like a hammer), however we'll limit ourselves |
|---|
| 32 |
to 'isomorph' here. We will assume you are using either a Debian, |
|---|
| 33 |
Morphix or Knoppix install and at least have heard about apt-get before. |
|---|
| 34 |
If you aren't using a Debian-based install, don't worry: every tool can |
|---|
| 35 |
also be downloaded as a tarball, and nothing about morphing is specific to |
|---|
| 36 |
Debian. Morphing using Windows however is something you'll have to figure out |
|---|
| 37 |
for yourself! |
|---|
| 38 |
We will also assume you aren't afraid of the command-line: and if |
|---|
| 39 |
you are, you shouldn't be! |
|---|
| 40 |
</para> |
|---|
| 41 |
</sect2> |
|---|
| 42 |
|
|---|
| 43 |
<sect2 id="sect_01_01_02"> |
|---|
| 44 |
<title>The concepts</title> |
|---|
| 45 |
<para> |
|---|
| 46 |
Now you might have already heard about a few of the 'morphing' terms. Morphix |
|---|
| 47 |
is quite different from other live CDs in this aspect, and a lot of |
|---|
| 48 |
documentation is available to overcome the gap. Here, you'll get a quick |
|---|
| 49 |
and dirty introduction to the most important concepts. If you are already |
|---|
| 50 |
familiar with the concepts of Morphing, you'd most likely want to skip this |
|---|
| 51 |
section. |
|---|
| 52 |
</para> |
|---|
| 53 |
<para> |
|---|
| 54 |
A Morphix live CD is often termed as a <emphasis>Combined ISO</emphasis>, or just |
|---|
| 55 |
as an ISO. An ISO is a cd image, ready to be burned to a CD, DVD or possibly |
|---|
| 56 |
other types of bootable media aswell. |
|---|
| 57 |
Morphix is modular; that means a Morphix-based live CD is made up out of |
|---|
| 58 |
modules. <emphasis>Morphing</emphasis> is the modifying or building of a Morphix-based live CD, |
|---|
| 59 |
often by adding or removing these modules. |
|---|
| 60 |
</para> |
|---|
| 61 |
|
|---|
| 62 |
<para> |
|---|
| 63 |
In Morphix, |
|---|
| 64 |
there are three types of modules: <emphasis>base modules</emphasis>, <emphasis>main modules</emphasis> and <emphasis>mini modules</emphasis>: |
|---|
| 65 |
</para> |
|---|
| 66 |
<itemizedlist> |
|---|
| 67 |
<listitem> |
|---|
| 68 |
<para> |
|---|
| 69 |
<emphasis>Base modules</emphasis> are where the magic takes place; they boot your live CD, detect |
|---|
| 70 |
your hardware and fire up the other modules. Base modules are normally |
|---|
| 71 |
distributed as base ISOs: this means they are small ready-to-run live CDs, |
|---|
| 72 |
ready for 'morphing' with. |
|---|
| 73 |
</para> |
|---|
| 74 |
</listitem> |
|---|
| 75 |
<listitem> |
|---|
| 76 |
<para> |
|---|
| 77 |
<emphasis>Main modules</emphasis> contain the file system of the live CD; |
|---|
| 78 |
they contain your window manager, your office suite and your browser. |
|---|
| 79 |
</para> |
|---|
| 80 |
</listitem> |
|---|
| 81 |
<listitem> |
|---|
| 82 |
<para> |
|---|
| 83 |
<emphasis>Mini |
|---|
| 84 |
modules</emphasis> contain extra software or files; you can include in them your resume, |
|---|
| 85 |
the drivers for your modem or a set of extra applications. |
|---|
| 86 |
</para> |
|---|
| 87 |
</listitem> |
|---|
| 88 |
</itemizedlist> |
|---|
| 89 |
<para> |
|---|
| 90 |
A Morphix live CD |
|---|
| 91 |
can contain only one base module, but can have an arbitrary number of main and |
|---|
| 92 |
mini modules included. However, only one main module can be used at the |
|---|
| 93 |
same time: if you add more than one, you are prompt at boot time to choose the |
|---|
| 94 |
one you want. As many mini modules as you want can be used by a single live CD. |
|---|
| 95 |
</para> |
|---|
| 96 |
</sect2> |
|---|
| 97 |
|
|---|
| 98 |
<sect2 id="sect_01_01_03"> |
|---|
| 99 |
<title>Examples of morphing</title> |
|---|
| 100 |
<para> |
|---|
| 101 |
Please see our <ulink url="http://www.morphix.org">derivative list</ulink>! |
|---|
| 102 |
|
|---|
| 103 |
</para> |
|---|
| 104 |
</sect2> |
|---|
| 105 |
|
|---|
| 106 |
</sect1> |
|---|
| 107 |
<sect1 id="sect_01_02"> |
|---|
| 108 |
<title>Getting and installing isomorph</title> |
|---|
| 109 |
|
|---|
| 110 |
<sect2 id="sect_01_02_01"> |
|---|
| 111 |
<title>Why you want to start off with isomorph</title> |
|---|
| 112 |
<para> |
|---|
| 113 |
Isomorph is a command-line tool, which easily allows you to list, add and |
|---|
| 114 |
remove modules without having to remember an endless amount commands. It's |
|---|
| 115 |
usage is simple: you give it an ISO, you give it an action and out pops a new |
|---|
| 116 |
ISO. It doesn't get much simpler! |
|---|
| 117 |
</para> |
|---|
| 118 |
<para> |
|---|
| 119 |
You can get isomorph in a number of ways. The first method will involve the |
|---|
| 120 |
use of apt-get, the second will apply the (lower-level) dpkg tool. Please |
|---|
| 121 |
note that you'll have to be the root user to execute most of these commands. |
|---|
| 122 |
At the command line use the following command to become the root user: |
|---|
| 123 |
<programlisting> |
|---|
| 124 |
<prompt># </prompt><userinput><command>su</command></userinput> |
|---|
| 125 |
</programlisting> |
|---|
| 126 |
If you are attempting this from a Morphix live CD (which isn't a good idea, |
|---|
| 127 |
as morphing takes quite a bit of space and memory): |
|---|
| 128 |
<programlisting> |
|---|
| 129 |
<prompt># </prompt><userinput><command>sudo</command> sh</userinput> |
|---|
| 130 |
</programlisting> |
|---|
| 131 |
</para> |
|---|
| 132 |
</sect2> |
|---|
| 133 |
|
|---|
| 134 |
<sect2 id="sect_01_02_02"> |
|---|
| 135 |
<title>Getting isomorph Debian-style: apt-get</title> |
|---|
| 136 |
<para> |
|---|
| 137 |
To get isomorph using apt-get, you'll have to add the Morphix repository to |
|---|
| 138 |
your repository list, if it isn't there already: |
|---|
| 139 |
<programlisting> |
|---|
| 140 |
<prompt># </prompt><userinput><command>nano</command> /etc/apt/sources.list</userinput> |
|---|
| 141 |
</programlisting> |
|---|
| 142 |
In this file, every line is a repository. All lines that start with a '#' are |
|---|
| 143 |
comments. To add the Morphix repository to your list, add the following line: |
|---|
| 144 |
<itemizedlist> |
|---|
| 145 |
<listitem> |
|---|
| 146 |
<para>deb http://www.morphix.org/debian ./</para> |
|---|
| 147 |
</listitem> |
|---|
| 148 |
</itemizedlist> |
|---|
| 149 |
To save, use |
|---|
| 150 |
<keycombo> |
|---|
| 151 |
<keycap>Ctrl</keycap> |
|---|
| 152 |
<keycap>O</keycap> |
|---|
| 153 |
</keycombo> |
|---|
| 154 |
, hit enter and you're done. Hit |
|---|
| 155 |
<keycombo> |
|---|
| 156 |
<keycap>Ctrl</keycap> |
|---|
| 157 |
<keycap>X</keycap> |
|---|
| 158 |
</keycombo> |
|---|
| 159 |
to exit. |
|---|
| 160 |
</para> |
|---|
| 161 |
|
|---|
| 162 |
<para> |
|---|
| 163 |
Now that we have added the Morphix repository, we'd naturally want to use it! |
|---|
| 164 |
<programlisting> |
|---|
| 165 |
<prompt># </prompt><userinput><command>apt-get</command> update</userinput> |
|---|
| 166 |
</programlisting> |
|---|
| 167 |
in order to update the package lists of the repositories in your sources.list. |
|---|
| 168 |
If that worked out okay (if you have errors, check the file for typos), you |
|---|
| 169 |
should be all set for downloading isomorph and any dependancies necessary: |
|---|
| 170 |
<programlisting> |
|---|
| 171 |
<prompt># </prompt><userinput><command>apt-get</command> install morphix-isomorph</userinput> |
|---|
| 172 |
</programlisting> |
|---|
| 173 |
If you didn't see any errors, congratulations! You now have installed isomorph, |
|---|
| 174 |
and are ready to begin using it in the next section! |
|---|
| 175 |
</para> |
|---|
| 176 |
</sect2> |
|---|
| 177 |
|
|---|
| 178 |
<sect2 id="sect_01_02_03"> |
|---|
| 179 |
<title>Getting isomorph the old way: dpkg</title> |
|---|
| 180 |
<para>Bla about dpkg</para> |
|---|
| 181 |
</sect2> |
|---|
| 182 |
|
|---|
| 183 |
<sect2 id="sect_01_02_03"> |
|---|
| 184 |
<title>Getting isomorph the non-Debian way: tarballs</title> |
|---|
| 185 |
<para>Bla about tar.gz</para> |
|---|
| 186 |
</sect2> |
|---|
| 187 |
</sect1> |
|---|
| 188 |
|
|---|
| 189 |
<sect1 id="sect_01_03"> |
|---|
| 190 |
<title>Using isomorph to make your new live CD</title> |
|---|
| 191 |
|
|---|
| 192 |
<para> |
|---|
| 193 |
Now that you have isomorph, lets use it to make us a new ISO. From the |
|---|
| 194 |
<ulink url="http://www.morphix.org">Morphix website</ulink>, download the latest |
|---|
| 195 |
base ISO and one of the combined ISOs. Using isomorph, get a list of modules |
|---|
| 196 |
from both: |
|---|
| 197 |
<programlisting> |
|---|
| 198 |
<prompt># </prompt><userinput><command>isomorph</command> --list MorphixBase-0.5-pre1.iso</userinput> |
|---|
| 199 |
</programlisting> |
|---|
| 200 |
Now a base ISO won't show any main modules in it: it doesn't contain any. However |
|---|
| 201 |
the combined ISO does have a main module (that's the difference between the |
|---|
| 202 |
two). You can use the --get option to extract the modules form an ISO: |
|---|
| 203 |
<programlisting> |
|---|
| 204 |
<prompt># </prompt><userinput><command>isomorph</command> --get iso MorphixCombined-LightGUI-0.4-1.iso ./</userinput> |
|---|
| 205 |
</programlisting> |
|---|
| 206 |
This extracts all modules from the ISO to the directory you are now in. You |
|---|
| 207 |
can use extra type-options for narrowing most of the isomorph commands: check |
|---|
| 208 |
the --help option for more info. |
|---|
| 209 |
</para> |
|---|
| 210 |
<para> |
|---|
| 211 |
Now, lets use isomorph to create a new iso, with the old module. Isomorph has |
|---|
| 212 |
two options for creating new ISOs: 'add' and 'del'. Again, see the help for |
|---|
| 213 |
further details, for now we're only interested in adding the main module we |
|---|
| 214 |
just retrieved from our old combined ISO: |
|---|
| 215 |
<programlisting> |
|---|
| 216 |
<prompt># </prompt><userinput><command>isomorph</command> --add main lightgui.mod MorphixBase-0.5-pre1.iso mynewiso.iso</userinput> |
|---|
| 217 |
</programlisting> |
|---|
| 218 |
And viola, one new combined ISO just waiting to be burned! Don't you just love |
|---|
| 219 |
the smell of freshly baked live CD in the morning? You can use your usual |
|---|
| 220 |
cd burning tool (cdrecord, xcdroast or K3B) and finish off this job. Happy |
|---|
| 221 |
morphing! |
|---|
| 222 |
</para> |
|---|
| 223 |
|
|---|
| 224 |
</sect1> |
|---|
| 225 |
|
|---|
| 226 |
</chapter> |
|---|