[SourceMage_Wiki] [TitleIndex] [WordIndex

Note: this guide only applies to the 0.9.6 series of ISOs!

Welcome to Source Mage GNU/Linux!

Source Mage is a source-based GNU/Linux distribution based on a Sorcery metaphor of "casting" and "dispelling" programs, which we refer to as "spells", and a package manager called "Sorcery". Our packages are designed to allow the user to customize the package any way they want (custom CFLAGS, LDFLAGS, ./configure flags, etc.) as well as offering as many of the package options as possible to the user up-front (you will not need to know what options a package has or what optional dependencies it can use ahead of time). All of our scripts are GPL'd and our package manager and packages are written in bash, so they are easy to learn and modify. Sorcery supports custom packages maintained by users, which can override the default package and will never be touched by updates. The magic is truly in your hands with Source Mage.

From: http://www.sourcemage.org/about

Installing Source Mage is quite easy. In no time at all, you will be able to boot into a base system on which you can start building you dream environment. On a 1.6 GHz laptop with 512MB RAM, the default installation (just copying the ISO kernel) only took around 20 minutes. Using the installer is also very easy. It presents an easy to use interface, with a guided menu system that walks you through each step of the installation process.

This installation guide is a sort of walkthrough of the different steps and options of the Source Mage installer. Some screenshots are provided to give an idea of the interface and the options. (Note: in order to conserve bandwidth, this guide only uses only a selected number screenshots. All screenshots are available in this location.) This guide is also a sort of journal of my own installation process, so it doesn't cover all possible options due to hardware constraints. In some places, this guide also quotes material from the official install.guide in order to give users a more detailed view of the options.


  1. A - Introduction
  2. ? - Installation and help notes
  3. B - Pre-installation and default settings
    1. B.1 - Font
    2. B.2 - Keymap
    3. B.3 - Language
    4. B.4 - Editor
  4. C - Disk Structure
    1. C.A - Partition Disks
      1. C.A.1 - Disk Selection Menu
      2. C.A.2 - Partitioning Menu
    2. C.B - Make MD RAID Devices
      1. C.B.1 - Warning!
      2. C.B.2 - Multiple Disk Device Name
      3. C.B.3 - Select Raid level
    3. C.C - Format/mount filessystems and swap
      1. C.C.1 - Instructions
      2. C.C.2 - Partition Selection Menu
      3. C.C.3 - Filesystem Selection Menu
      4. C.C.4 - Auto /
      5. C.C.5 - Error-checking
      6. C.C.6 - Format partition
      7. C.C.7 - Mkfs
      8. C.C.8 - Mount point selection
    4. C.D - Done
  5. D - Start Installation
  6. E - Select Timezone
    1. E.1 - Time Zone Selection Menu
    2. E.2 - GMT or local time
  7. F - Architecture Optimizations
    1. F.1 - Advanced options
    2. F.2 - Build System Selection
    3. F.3 - Optimization Menu
    4. F.4 - Custom Optimizations Menu
    5. F.5 - Parallel/Distributed Options Menu
  8. G - Select Linux Kernel
    1. G.1 - Choose between precompiled kernel on ISO or custom kernel
    2. G.2 - Copy Kernel from ISO
    3. G.3 - Compile Custom Kernel
    4. G.4 - Choose between config from ISO kernel or Linux defaults
    5. G.5 - Linux Kernel Configuration (menuconfig)
  9. H - Configure Log System
  10. I - Configure Bootloader
    1. I.1 - Bootloader selection menu
    2. I.2 - Lilo
    3. I.3 - GRUB
  11. J - Configure Networking
    1. J.1 - Configure hostname
      1. J.1.1 - Configure hostname
      2. J.1.2 - Select hostname area
    2. J.2 - Networking Setup
      1. J.2.1.1 - Ethernet options
      2. J.2.1.2 - Add, Modify or Remove Network Devices
      3. J.2.1.3 - Add new network device
      4. J.2.1.4 - Modify, Remove Network Device
      5. J.2.1.5-1 - Configure MODULE
        1. J.2.1.5-2 - Enter module name
        2. J.2.1.5-3 - Choose a module
      6. J.2.1.6-1 - Configure MODE
        1. J.2.1.6-2 - Selected static
      7. J.2.1.7 - Configure POINTOPOINT address
      8. J.2.1.8 - Configure MTU
      9. J.2.1.9-0 - Configure WIFI
        1. J.2.1.9-1 - Configure NetworkID
        2. J.2.1.9-2 - Configure SSID
        3. J.2.1.9-3 - Configure the bitrate
        4. J.2.1.9-4 - Configure the mode
        5. J.2.1.9-5 - Configure security options
      10. J.2.1.10 - Configure the MAC address
      11. J.2.1.11 - Configure custom options
      12. J.2.1.12 - Confirmation
      13. J.2.1.13-1 - Configure DNS
        1. J.2.1.13-2 - Configure Nameserver #
      14. J.2.2.1 - PPP options
        1. J.2.2.2 - ISP username
        2. J.2.2.3 - ISP password
        3. J.2.2.4 - ISP phone number
        4. J.2.2.5 - serial port device
      15. J.2.3 - PPPoE options
      16. J.2.4 - Start networking now
  12. K - Misc. Configuration
    1. K.1 - Choose /dev system
    2. K.2 - Optional Spells
    3. K.3 - Extra cache
  13. L - Install Source Mage GNU/Linux
    1. L.1 - Root password
    2. L.2 - Create regular user
    3. L.3 - New user
    4. L.4 - Select groups
    5. L.5 - User password
  14. M - Choose Services to Run at Boot (expert)
  15. X - Done
    1. S - Shell
    2. R - Restart Installation
    3. Z - Debug Menu

Know Thy Computer

As a preparatory step, it might be a good idea to take a good, hard look at your computer. Gather as much information as you can to help you not only in the installation, but it also getting to know more about your beloved machine. It will also be good to store this information for future reference.

The most important pieces of information you need for the installation would be:

Other pieces of information that might be needed at some point in time (like in compiling your own kernel):

Download Source Mage

The current stable version of Source Mage GNU/Linux is 0.9.6. You can download the appropriate ISO from http://wiki.sourcemage.org/Download_Source_Mage

You can also browse the Codex online on http://www.sourcemage.org/codex to get a peek at the available packages.

Boot Up

The first and most important thing you need to do (besides putting the installer CD into your CD-ROM drive) is to setup the BIOS to boot from the CD-ROM drive. Once you boot up, you will be greeted with a short welcoming message and copyright information, as well as instructions for entering special kernel parameters. Most users at this point would just press Enter to boot.


How to use the installer

The Source Mage installer uses the `dialog' program to accept user input.

Generally in dialog, escape means Cancel and enter means Ok. 

The dialog program supports the following basic widget types that we use:

     This is the widget that you see here. It supports arrow keys, page-up, page-down, home, end, and many vi navigation keys.

     This widget merely presents a list of choices. To the left of each choice is a hot-key that moves you to that menu item quickly. Note: you still have to press Enter If there are more menu options than the screen can fit, the arrow keys can be used to reveal more menu items and (+) graphics will show you that more items are available. To select an item that's highlighted, press enter. To leave the menu, press cancel. Cancelling a submenu often means "I'm done." in this installer.

     The checklist widget allows one to turn on and off items in a list. Similar to the menu widget, the checklist also has [ ] or [X] boxes for off and on, respectively. To toggle the state of each item, use the space bar. When finished, press enter.

     The msgbox merely lets you know something, and you acknowledge it by hitting enter to select ok.

     The inputbox allows you to enter a free string of text into a box. When you press enter, the text in the box is accepted by the program. Note: To move from the text field to the buttons, press Tab

     The yesno box allows you to say yes or no to a query. Press Y or N to respond, or highlight the appropriate response with the left and right arrow keys and select the highlighted response with the enter key.

From: instal.guide


The initial ramdisk, or initrd is a temporary file system used by the Linux kernel during boot. The initrd is typically used for making preparations before the real root file system can be mounted.

From http://en.wikipedia.org/wiki/Initrd

This menu is if you need to do anything special in order to install Source Mage. You can load modules (modules for various file systems, raid drivers, and various other drivers). Since you are installing from the ISO you can just leave it be and press Continue booting to continue with the installation. At this menu you can also choose what root device you would like to use if you are using the cd as a rescue cd.

From: Install_Source_Mage



Load modules

Select modules to load



Shell out for a moment (Ctrl+D or type exit to return)


disable hotplug

toggle if the ISO runs hotplug


Choose root device (for rescue mode)

Choose the device to be mounted as /


Continue booting

Continue the normal boot process

Install Menu

The Source Mage installer uses a guided menu system. After completing a specific step in the installer menu, the next item will be highlighted to indicate which step is to be taken next. All steps preceded by an asterisk are optional, but might be of interest to some more advanced users. It's recommended to at least read the Introduction (step A) and the Installation Notes (step ?) if it is your first time to install Source Mage. Remember that pressing the letter to the left of an item in the menu highlights that item (but you still have to press Enter). You can go back to previous choices to undo mistakes or make changes. Or you can also choose to restart the installation (step R) to reset everything and begin again from step B.

http://jucato.org/sourcemage/screenshots/install_menu1.png http://jucato.org/sourcemage/screenshots/install_menu2.png

1. A - Introduction

Read about the advantages of using Source Mage GNU/Linux


The purpose of SMGL is to return control to System Administrators that the wizards and maintainers of modern distributions have steadily chipped away.


Source Mage GNU/Linux empowers System Administrators to choose:

And it provides the conveniences of:


2. ? - Installation and help notes

A help text on the installer

Note: you have to press Alt+F3 to F6 to get to tty3 to 6 in order to be able to read the install.guide while doing the installation. Once you get to a tty, enter these commands:

cd /usr/share/smgl.install/install.guide
use nano


3. B - Pre-installation and default settings

Select default language, keymap, font and editor

This is the default first step in the installer (skipping the Introduction and Installation Notes). This optional step allows you to choose the language, keyboard mapping, font, and the default editor to be used during the installation.


3.1. B.1 - Font

Select a new default console font


3.2. B.2 - Keymap

Select a new default keyboard mapping. (is unset)


3.3. B.3 - Language

Select a new default language. (currently is "")


While sorcery is entirely in English, it is possible to change the languages of many other programs.

3.4. B.4 - Editor

Select a new default editor


The Install/Rescue disc provides three easy to use editors: elvis, nano, and jed. Due to the limited size of the CD, vim and emacs can not be used during installation. However, you can select vim, which still uses elvis during the install, vim on the final system.


a pico clone

nano is an enhanced free pico clone


Powerful text editor

jed is an editor with emulation for emacs, EDT and Wordstar


a vi clone

elvis is a clone of the ex/vi text editor


Vi IMproved

VIM is an improved version of vi

4. C - Disk Structure

Partition, format, and mount your disk


Please create at least a root partition.
There is currently a bug with grub on xfs, so you can't install grub to an xfs / partition without a separate non-xfs /boot partition.

4.1. C.A - Partition Disks

Create partitions on your drives

<p>This step in the installer allows you to create and manage partitions on your hard drive, in preparation for installing Source Mage. Three partitioning tools are offered: cfdisk (menu-based), fdisk (most common), and parted (many features). Seasoned Linux users might be more familiar with using fdisk, while beginners would probably be more comfortable using cfdisk. Modifying partitions should be done with caution, specially if dual booting or with other existing partitions or drives.</p>

[ Insert link to partitioning guide/tips here ]

4.1.1. C.A.1 - Disk Selection Menu


Please select a disk to partition. Sizes are in blocks

4.1.2. C.A.2 - Partitioning Menu


Please choose the program for partitioning /dev/______


Menu-driven partitioning program. Easy to use.


Text-based. A little harder to use, more features


Text-based. Many features, such as moving partitions

Note: type q to quit fdisk, type quit to quit parted

4.2. C.B - Make MD RAID Devices

Create RAID devices using mdadm

4.2.1. C.B.1 - Warning!

If you plan on mounting the device you're about to create as / (the root), you need to ensure that you make the partition types "Linux raid autodetect" (ID 0xFD). Otherwise your system will not boot!

4.2.2. C.B.2 - Multiple Disk Device Name

Enter the fully qualified device name (ex /dev/md0)

4.2.3. C.B.3 - Select Raid level

4.3. C.C - Format/mount filessystems and swap

Format and mount your partitions

In this step, you will be able format and define mount points for the partitions you just created. The Source Mage installer allows you to choose from a number of different filesystems such as ext3 or reiserfs. Each filesystem have different properties, strengths and weaknesses, so it's a good idea to find out more about them. You can also stick to ext3, which seems to be the default for most distributions today.

Filesystems comparison (courtesy of sandalle)

Source Mage requires at least one partition to be the / (root) partition that will hold the entire system. An optional swap partition is recommended (more advanced users can opt for a swap file instead), while some users might prefer to also have a separate partition for /home. The first partition that is selected for formatting and mounting is automatically set as the / partition. The installer allows other mount points to be created, except for directories that should be in the same partition as / (such as /etc, /bin, /sbin, and /lib).

Filesystem Heirarchy Standard

4.3.1. C.C.1 - Instructions


Please first mount the partition that will be / then mount "up the tree" (/usr before /usr/share)

4.3.2. C.C.2 - Partition Selection Menu


Select a partition to mount

4.3.3. C.C.3 - Filesystem Selection Menu


Please select what filesystem to use for /dev/_____


Second Extended file system


Second Extended journaling file system


Reiserfs journaling file system


XFS journaling files sytem


JFS journaling file system


Swap partition


   ext2 was originally released in January 1993. Written by R'emy Card, Theodore Ts'o and Stephen Tweedie, it was a major rewrite of the Extended Filesystem. It is currently still (April 2001) the predominant filesystem in use by Linux. There are also implementations available for NetBSD, FreeBSD, the GNU HURD, Windows 95/98/NT, OS/2 and RISC OS.

   ext2 shares many properties with traditional Unix filesystems. It has the concepts of blocks, inodes and directories. It has space in the specification for Access Control Lists (ACLs), fragments, undeletion and compression though these are not yet implemented (some are available as separate patches). There is also a versioning mechanism to allow new features (such as journalling) to be added in a maximally compatible manner.


   ext3 is a journalling version of ext2. Journalling avoids the need for long `fsck's (filesystem checks) on dirty (uncleanly mounted) disks, and ensures that the file system can be quickly brought to a consistent state, even across power cuts to the system. You can choose either data=writeback or data=ordered. data=writeback ensures filesystem integrity but not data integrity. data=ordered is designed for complete data integrity.


   Generally higher performance for all file sizes # Wastes less space: no static inode space allocation, small files packed together 
   Much higher performance for large directories, even compared to other balanced tree filesystems 

   Commitment to introducing plug-ins in the next major release: we don't lock the users out of the source code, you can easily invent your own types of files and directories, and share them with the world 

   Technical foundation has now been laid for systematically introducing the best features of database and keyword systems into the filesystem where all applications in the OS can use them.

   Reduces the need for namespace fragmentation in the operating system: see Future Vision 

   ReiserFS does meta-data journaling, enabling fast crash recovery without the expense of full data journaling. There is a (separate) patch from Chris Mason that implements full data journaling for ReiserFS v3. 

   Note: Full data journaling is considered by many to be a good way to achieve file data integrity across system crashes. However, although file data may appear to be consistent from the kernel point of view, since there is no API exported to the userspace to control transactions, we may end-up in a situation where the application makes 2 write requests (as part of one logical transaction) but only one of these gets journaled before the system crashes. From the application point of view, we may then end up with inconsistent data in the file.

   Such issues should be addressed with the upcoming ReiserFS v.4 release. Such an API will be exported to userspace and all programs that need transactions will be able to use it. 
See http://www.namesys.com/ for more information. This information was taken from the namesys.com website.


   This is the Linux swap partition type. Swaps may be given priority numbers on mount to round-robin swap across multiple harddrives:

   Swap pages are allocated from areas in priority order, highest priority first. For areas with different priorities, a higher-priority area is exhausted before using a lower-priority area. If two or more areas have the same priority, and it is the highest priority available, pages are allocated on a round-robin basis between them. (from `man 2 swapon')


   XFS is a journalling filesystem developed by SGI and used in SGI's IRIX operating system. It is now also available under GPL for linux. It is extremely scalable, using btrees extensively to support large and/or sparse files, and extremely large directories. The journalling capability means no more waiting for fsck's or worrying about meta-data corruption.

   Q: Does LILO work with XFS? 

   This depends on where you install LILO. For MBR installation: Yes. For root partitions: No, because the XFS superblock goes where LILO would be installed. This is to maintain compatibility with the Irix on-disk format. This will not be changed. Putting the Superblock on the swap partition is reported to work but not guaranteed. (from http://oss.sgi.com/projects/xfs/faq.html#whatisxfs )
Grub works with XFS natively. XFS can also be made a root partition as long as lilo is installed to the MBR or some other location. Use the Linux native type 83 for the partition type when creating an XFS partition.


   IBM's journaled file system technology, currently used in IBM enterprise servers, is designed for high-throughput server environments, key to running intranet and other high-performance e-business file servers. IBM is contributing this technology to the Linux open source community with the hope that some or all of it will be useful in bringing the best of journaling capabilities to the Linux operating system.

   The Journaled File System (JFS) provides a log-based, byte-level file system that was developed for transaction-oriented, high performance systems. Scalable and robust, its advantage over non-journaled file systems is its quick restart capability: JFS can restore a file system to a consistent state in a matter of seconds or minutes.

   While tailored primarily for the high throughput and reliability requirements of servers (from single processor systems to advanced multi-processor and clustered systems), JFS is also applicable to client configurations where performance and reliability are desired.

From: http://wiki.sourcemage.org/install.guide

4.3.4. C.C.4 - Auto /


Automatically choosing / as first mount point

4.3.5. C.C.5 - Error-checking

Do you want to check /dev/____ for errors? (yes/no)

4.3.6. C.C.6 - Format partition

Do you want to format /dev/____? (yes/no)

4.3.7. C.C.7 - Mkfs

This is the command to create the filesystem, as far as I can figure it out.
If you want to change anything, you can now.
If you don't know what to do, just hit OK.

Note: mke2fs = for ext2; -j = switch for journaling (ext3); mkswap = to create swap partition

4.3.8. C.C.8 - Mount point selection


Please select where to mount /dev/____ (type ____)

Note: This option appears only if / already has a partition and non-swap partitions


Put boot-relevant stuff somewhere special for old BIOS'es


Give users their own partition so they can't fill / up


For the paranoid: extra HD space for recovery when / is full


Used to separate system programs from the bulk of the data


Contains architecture-independent data, such as data files


guarantees that logs or source cache's can't fill /


own custom mount point (forbidden: /etc, /bin, /sbin, /lib)

4.4. C.D - Done

We're all done here, let's get on with it

5. D - Start Installation

Start everything, no going back to mounting now

This part of the installation process copies the base system from the CD to the hard disk, minus the kernel. The steps after this involves choosing the kernel and configuring the installed system.


6. E - Select Timezone

Select this box's timezone

Users can set the timezone for their country or city, and to choose whether to use local time or UTC/GMT for the system time. It's recommended to use local time to avoid messing up other operating systems if you are dual-booting.

6.1. E.1 - Time Zone Selection Menu

http://jucato.org/sourcemage/screenshots/e1-timezone.png" Note: values in /usr/share/zoneinfo/

6.2. E.2 - GMT or local time


Should the hardware clock store time in universal time (UTC/GMT) or in local time? In universal it doesn't have to be re-set for **daylight** (typo) saving time, but it messes up broken OS's like MS Windows.

7. F - Architecture Optimizations

Select Architecture and Optimizations

This optional section allows users to fine tune the compilation options for Source Mage. The ability to optimize and customize compilation for each user's hardware and requirements is one of the strengths of Source Mage (but definitely not the only one). The optimization options are divided into three parts.

7.1. F.1 - Advanced options

Do you want to configure make jobs and distcc? (advanced)

7.2. F.2 - Build System Selection

The first part lets users choose specify their system's architecture or processor type.

[ Insert link to table/reference of different architecture types ]


Please select a microprocessor category

7.3. F.3 - Optimization Menu

The second part of the optimization options is for compiler options. This part lets users specify the flags that are passed to the compiler. Source Mage provides 6 pre-defined options for compiler optimization: combreloc, prelink (needs combreloc), risky, speedy (enabled by default, conflicts with tiny), strip, and tiny (conflicts with speedy). Each of these pre-defined settings pass different options to the compiler. You can also set your own custom options for the compiler.

[ Insert link to reference about flags for GCC ]


Please select optimizations



Speed up loading libs, also needed for prelink (LDFLAGS=-z combreloc)



Speed up loading applications by pre-linking libraries (CFLAGS=-DPIC -fPIC)



Optimize by violating ANSI/IEEE (unsafe) (CFLAGS=-ffast-math -funroll-loops)

speedy (enabled by default)

++speed +size

Optimize generated code, conflicts with tiny (CFLAGS=-O2)



Remove all symbol table and relocation (debugging) information (CFLAGS=-s)


+speed -size

Optimize to smaller generated code, conflicts with speedy (CFLAGS=-Os)

The following is a list of the available options and what they do:

speedy (+size ++speed)

   Speedy sets -O3 optimizations to compilation. This increases the size of generated binaries, but gives you an increase in speed while taking a longer time to compile.

risky (+speed) 

   Risky adds -ffast-math -funroll-loops, and may violate ANSI or IEEE rules, causing incorrect code to be produced in some programs.

combreloc (++speed)

   combreloc adds -z combreloc to the compiler. This is needed for prelinking and speeds up library loading. combreloc sorts the cached relocations to speed up their access and can dramatically reduce the load time spent in the dynamic linker particularly for large programs with lots of relocations such as qt/kde. If you want even more relocation tuning, check out the prelink spell when you're done installing. There may be a patch in sorcery for native support of prelink in the future.

tiny (-size)

   tiny adds -Os to the compiler flags. tiny optimizes for size. -Os enables all -O2 optimizations that do not typically increase code size. It also performs further optimizations designed to reduce code size. -Os disables the following optimization flags: -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -fprefetch-loop-arrays. If you use multiple -O options, with or without level numbers, the last such option is the one that is effective. (from `man gcc') If you use small, there's no point in doing speedy. The last one (small) will override speedy. Small does many -O2 optimizations anyways.

strip (--size)

   strip removes all symbol table and relocation information from the executable. It makes it quite a bit smaller of an executable, at the cost of making it difficult to debug the program. In Source Mage we don't care as much about that because we can always turn off strip and recompile the affected program or its dependencies. It might be good to have one box without strip enabled if you tend to send lots of bug reports just in case finding the problem entails recompiling a lot of dependent libraries.

From: http://wiki.sourcemage.org/install.guide

7.4. F.4 - Custom Optimizations Menu


Note: You can put your own custom flags in here

7.5. F.5 - Parallel/Distributed Options Menu

The third part involves options for the make command, distributed compiling (distcc), and compiler cache (ccache). Distributed compiling allows you to divide the compiling load among separate computers in order to speed up compilation time. A compiler cache saves the output of a compilation so that the next time a similar compilation is required, it will not be done from scratch but from the saved cache. You can also specify how many simultaneous jobs that the make program can. This corresponds to the -j switch in the make command. A good rule of thumb is to set the number of jobs to the number of CPU's + 1.

The number of make jobs is set in the EXTRA_JOBS field. Leave DISTCC_HOSTS and JOBS_PER_HOST in their default if you don't want to enable distributed compiling. You can also specify a directory to be used for the compiler cache, or you can just use the default.</p>

[ distcc homepage ]
[ ccache homepage ]


Number of make jobs is ( ( length of DISTCC_HOSTS ) * JOBS_PER_HOST + EXTRA_JOBS )
If distcc is disabled by a spell, then the number of make jobs is EXTRA_JOBS, it is recommended that you don't set it to zero. If the number of jobs totals zero, make will run an unlimited number of jobs.
   CCACHE_DIR     /var/cache/compiler

CCACHE NOTE: Even if the directory for ccache is set here, you need to take two extra steps in order for Source Mage to use ccache. The first is to make sure that the ccache spell is installed. Later in the installation, you will be asked for extra spells to cast. Select ccache from the list. The second step you need to do is to enable CCACHE using sorcery. Once logged in to your new installation, run "sorcery" to launch the sorcery menu, select (O) Option -> (F) Feature Menu -> enable CCACHE (press Space to Toggle).

8. G - Select Linux Kernel

Determine whether to compile or install the default kernel

This is the part where you get to choose which kind of kernel you want to be installed on your system. You have to options, either to simply copy and install the kernel that the installer is using, or to compile your own custom kernel. Each methods have their own benefits, as will be seen later.

8.1. G.1 - Choose between precompiled kernel on ISO or custom kernel


Would you like to configure and compile a custom kernel, or install/copy the precompiled kernel for the ISO? The precompiled kernel is highly modular to support almost any hardware we might encounter, the custom kernel needs some work to do all the config, but will be smaller. Special hardware may also require a custom kernel.

8.2. G.2 - Copy Kernel from ISO

Copying the kernel from the ISO is the fastest and easiest method of getting a kernel installed. It simply copies the kernel used by the installer without modifications. The ISO kernel is setup to support as many types of hardware as possible, making it usable in almost any situation. However, this makes the kernel a bit larger than necessary, although it is still modular. This option is also easiest for users who have not yet tried to compile a kernel on their own.

I chose to copy the ISO kernel because it also the fastest way to get a base system up and running. Later on, I can compile my own custom kernel if I want to. The kernel on the ISO is also a bit dated (, so if you're planning to compile the latest kernel anyway, it might be better not to spend too much time on this kernel.

8.3. G.3 - Compile Custom Kernel

This option allows you to compile your own custom kernel. You would want to compile a kernel if you want a smaller kernel to be installed or if you need some custom feature not supported in the ISO kernel. You have a choice of which kernel configuration to start with. You can choose the configuration used in the ISO kernel. This configuration already has lots of features enabled, and you can just start removing those you don't need or adding those that you need. The downside is that this configuration takes up more space and time to compile. Alternatively, you can use the default configuration that comes with the Linux kernel. In this case, you will be starting from scratch and can produce a smaller kernel.

[ Insert link to guide for compiling a custom kernel ]

http://jucato.org/sourcemage/screenshots/g3-compile_install1.png http://jucato.org/sourcemage/screenshots/g3-compile_install2.png

8.4. G.4 - Choose between config from ISO kernel or Linux defaults

Do you want to start with the ISO's kernel config? It does support a lot of hardware with modules, on the other hand it will be large and take a long time to build. Alternatively, I can just use the linux defaults.

8.5. G.5 - Linux Kernel Configuration (menuconfig)

http://jucato.org/sourcemage/screenshots/g5-menuconfig.png Note: After exiting menuconfig, installer immediately proceeds to compile kernel
Note: ISO kernel config file in /boot/config-*

9. H - Configure Log System

Select a daemon for system loggin, or none!

Here you are given a choice of which system logging program to use, if you want one at all. sysklogd seems to be the default in most distributions, in case you are unsure which one to use.


10. I - Configure Bootloader

Configure a bootloader for this box

You are now asked to choose what bootloader to use for your system, LILO, the LInux LOader, or GRUB, the GRand Unified Bootloader, which is more common among other distributions today. Whichever you choose, an important note must be considered. The current installer lets you install the bootloader in either of only two locations: the boot sector of the partition where /boot is located (default), or the Master Boot Record of the hard drive where you installed Source Mage. If you have multiple drives or are dual booting, you cannot install the bootloader in any other drive.

[ Insert links to guides for LILO and GRUB ]

10.1. I.1 - Bootloader selection menu

http://jucato.org/sourcemage/screenshots/i1-bootloader_selection.png <p>Please select the bootloader you wish to use to boot your SMGL system</p>


Do You want to install the boot loader to the Master Boot Record of the disk that / is on or to the Boot Record of the / partition? (MBR/Partition)

10.2. I.2 - Lilo

Do you want to edit /etc/lilo.conf? (Yes/No)

10.3. I.3 - GRUB

For x86, you may choose grub or lilo. Both default to installing to the boot sector of the partition that /boot is on, but you will be offered to install to the MBR if you want. The MBR option will NOT install to the MBR of the primary drive on your system, it WILL install to the MBR of the drive SMGL is being installed onto. If you are installing SMGL onto a primary drive that shares with another OS or linux distribution you should think carefully before writing to the MBR, you will likely lose the ability to boot your other partitions (until you fix the problem that is).

From: http://wiki.sourcemage.org/install.guide

11. J - Configure Networking

Configure this box's network

Now you have the chance to configure how your computer will connect to the Internet and other networks, using Source Mage's own configuration tool called netconf. It may not be as fancy or automatic as other graphical tools out there, but it's quite easy to use, fast, and gets the job done. All the options are properly labeled and come with short comments to guide users. Dialog boxes also come with clear instructions on what to do or enter.

The trickiest part I encountered was actually trying to get the proper firmware to make my wireless (Intel PRO/Wireless 2200) work. After some help from #sourcemage people (which involved getting the latest firmware online), the setup was actually very easy. Setting up a wired connection is also very simple and was no hassle at all.

11.1. J.1 - Configure hostname

Here you get to give your computer a name that will identify it in a network (or just to personalize your computer). You can either provide your own or choose from a list of interesting suggestions.

Choose how to configure the hostname.

11.1.1. J.1.1 - Configure hostname

What should this computer be called?

11.1.2. J.1.2 - Select hostname area


11.2. J.2 - Networking Setup

After providing a hostname, you are asked how your computer will connect to the internet. There are three basic choices, depending on your type of internet connection. Choose Ethernet if you connect through a plain network, through routers, or wireless networks. PPP is for most dial-up connections. PPPoE is commonly used for ADSL types of internet connections. Choosing any of these will lead to a dialog asking you if you want to cast some extra spells to that you might need in order to get your networking up, such DHCP, PCMCIA or ndiswrapper.

Please select the way this box will connect to the internet


11.2.1. J.2.1.1 - Ethernet options


Here is a list of spells you may need. Select those wanted.

Note: OK or Cancel continues to the Network devices dialog

11.2.2. J.2.1.2 - Add, Modify or Remove Network Devices

Choose a device to modify or remove, or select Add to add a new device. Change will allow you to change the hostname of this computer.

11.2.3. J.2.1.3 - Add new network device

Enter the name for this device (e.g. eth0, plip1)

11.2.4. J.2.1.4 - Modify, Remove Network Device


Choose a setting to modify, or select Remove to remove the device

11.2.5. J.2.1.5-1 - Configure MODULE

Choose how to select the kernel module, select 'None' if the driver is compiled into the kernel, or select 'Back' to keep the current setting (None (use static driver)) J.2.1.5-2 - Enter module name

Enter the name of the kernel module which your device uses, without the trailing .o J.2.1.5-3 - Choose a module


Select the network module from the following list, or choose 'Enter' if the module is not shown.

11.2.6. J.2.1.6-1 - Configure MODE

Choose which mode this network device uses. Select 'dynamic' to use dhcp, select 'static' to specify IP, BROADCAST, NETMASK, GATEWAY, or select 'Back' to keep current setting (dynamic) J.2.1.6-2 - Selected static

Note: Selecting static adds 4 more options to the Modify, Remove Network Device dialog box

11.2.7. J.2.1.7 - Configure POINTOPOINT address

Enter the point to point address for this network device

11.2.8. J.2.1.8 - Configure MTU

Enter the maximum transfer unit for this network device

11.2.9. J.2.1.9-0 - Configure WIFI


The settings for the wifi network
  1. Network or Domain ID

  2. Network name

  3. Bitrate

  4. Mode

  5. Security menu J.2.1.9-1 - Configure NetworkID

Enter network name (ONLY for pre-802.11 hardware!) J.2.1.9-2 - Configure SSID

Enter the ssid of the network (default: any) J.2.1.9-3 - Configure the bitrate

Enter maximum bitrate of the network (examples: 5,5 11 or 54) J.2.1.9-4 - Configure the mode

Select if you're using ad-hoc or managed mode
  1. Managed (default)
  2. Ad-Hoc J.2.1.9-5 - Configure security options

WIFI Security submenu
  1. Security mode (enc) - Select the security mode

    1. Open (default)
    2. Restricted
  2. Encryption keys (key) - Choose a encryption key to modify

    1. 1 to 4
    2. 5 - Default key
  3. Enable keys (key on/off) - Enable or disable keys

    1. On
    2. Off

11.2.10. J.2.1.10 - Configure the MAC address

Enter the MAC address you want this device to use (usually not required)

11.2.11. J.2.1.11 - Configure custom options

Enter the custom options you need for this device.
Everything you enter here is passed straight to ifconfig.
(please file a bug to get this option added)

11.2.12. J.2.1.12 - Confirmation

Are you sure you want to remove/save device file: _____.dev?

11.2.13. J.2.1.13-1 - Configure DNS

Choose a name server to modify: J.2.1.13-2 - Configure Nameserver #

Enter the IP address of nameserve #:

11.2.14. J.2.2.1 - PPP options


Same as J.2.1. but adds the following J.2.2.2 - ISP username J.2.2.3 - ISP password J.2.2.4 - ISP phone number

Enter ISP phone number without dashes, spaces, and parenthesis J.2.2.5 - serial port device

Enter serial port device (ttyS0 is the first COM port)

11.2.15. J.2.3 - PPPoE options

Same as J.2.1.

11.2.16. J.2.4 - Start networking now


Do you want to start networking now?

12. K - Misc. Configuration

Select some extra spells to install and configure a bit.

Some other miscellaneous (but required) configuration options are presented here. First you are asked to choose which system will be used to manage your device files in /dev. Most will probably choose the newer udev system. Then you can choose among a list of optional spells to install. I recommend installing irssi and links so that you can chat in IRC and browse the web even without a graphical desktop.

[ Insert link to devfs reference ]

12.1. K.1 - Choose /dev system


Select the system you want to manage your /dev directory

12.2. K.2 - Optional Spells

Don't forget to select the ccache spell here if you want to enable that feature immediately (in preparation for sorcery rebuild).


Select optional spells to install

12.3. K.3 - Extra cache

Install extra cache files? Makes it easier to install a program you forgot without having to get out the ISO again. (recommended)

13. L - Install Source Mage GNU/Linux

Install all left to be done

This is the last required step in the installation. At this point you will be asked to specify a password for the root (superuser) account and to create a regular user account. For the regular user account, you can specify details such as user name, full name, the location of the user's home directory, the default shell to be used (BASH is set as the default) and the primary group that the user will belong to ("users" is the default primary group). You can also select from a list the secondary groups that the user will belong to. Then you will be asked to create a password for the user account you just created.

13.1. L.1 - Root password

The system and all the configuration you have selected have been installed. The only thing left to do is to enter the password for the root account.

13.2. L.2 - Create regular user


It is highly recommended to create and use a regular (non-root) user account for all work, and only su to root when necessary. Do you want to create a new user now?

13.3. L.3 - New user


Please set basic options for the user. Note that the username may not contain special characters or spaces.

13.4. L.4 - Select groups


Select any groups thatthe new user should be part of. Usually, less is better here.



Root group. Normal users shouldn't be in here.



Daemon group. Legacy group for userspace daemons



Bin group. Legacy group for programs



Can print text to any terminal (static /dev only)



can do war reads of disks (WARNING: This means they can read all files)



can access printers (static /dev only)



can read/write any user's mail spool. NOT for normal users.





can read kernel memory (static /dev only)



can read/write modems and serial ports on the system (only static /dev)



can do raw reads of scsi disks (WARNING: can read all files) (udev only)



can raw read cdroms (udev only)



can do raw access to floppy disks



can access audio devices



can access video4linux devices (udev only)



can run administrator commands



generic group for all users on the system



13.5. L.5 - User password

Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.

14. M - Choose Services to Run at Boot (expert)

Select which services to start at boot


Select init scripts to be run at boot time
This is the list of all init scripts on the system. An X means they are enabled (usually for a good reason)

15. X - Done

Exit! Done! Finito!

And now you're done! All that's left is to reboot into your freshly installed Source Mage system, setup your internet connection (using netconf), connect to the internet, and update your system.

Once you have booted your new system, it's recommended to: 
* ensure that networking is up
* run "sorcery update" to update the sorcery scripts
* run "scribe update" to update the spell lists
* configure sorcery (run"sorcery", go to Options)
* run "sorcery rebuild"to build everything with your chosen optimizations

15.1. S - Shell

Shell out perhaps to load modules

15.2. R - Restart Installation

Resets everything and begins installation again

15.3. Z - Debug Menu

Change debugging settings


Now is the PERFECT time to do a rebuild of your system. First you'll want to update sorcery and your grimoires with "sorcery update && scribe update". Then choose your features and compilation options in Sorcery with "sorcery". Next, you will want to update the following spells (in order): "binutils", "gcc", "gettext", "glibc" by using the command: "cast -c binutils gcc gettext glibc".(This will get you past the nastiness of recompiling everything (again) when gettext/glibc are updated to use your architecture specs). NOTE: gettext no longer triggers a rebuild of glibc [since 0.7], so you now need to list it. Finally, type: 'sorcery rebuild' to rebuild your system. 

Doing all of this will recompile your installed spells and optimize them for your processor. I HIGHLY recommend that you do this now, as it can speed up your system. The longer you hold off, the more spells will be recompiled. To rebuild your system type "sorcery rebuild" without the quotes.

From: http://wiki.sourcemage.org/Install_Source_Mage

When you are done with the Install Menu, you simply reboot the computer without the install disk in the drive, and enter the user `root' and password you selected during install. Do not forget this password, as you will be asked for it to gain access to your machine each time you use it.

If you don't already have your network setup, you can use the `netconf' tool to configure your networking now. Once you get online, you should update your box to the latest stable Source Mage. To do that, merely type `sorcery system-update' and hit enter. After your system is updated, type sorcery rebuild to recompile your system to your optimizations.

From: http://wiki.sourcemage.org/install.guide


2013-02-24 15:55