Anda di halaman 1dari 139

********************** often.

Any modules that are


not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'
utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.
Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]
... Load optional modules from /optional/ directory on the booting
media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'
timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.
SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':
If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=U*****************
* Official Porteus Installation Guide *
***************************************
spacebar = pagedown
q = quit

Introduction:
-----------------

Porteus is a linux distribution that runs live, without being


'installed' natively like most other operating systems. Porteus creates
its file system on the fly, within seconds, every time it is started
up. This allows it to be run from many different kinds of media,
including:

1)Writeable CD's or DVD's


2)USB Flash Drives (aka Pendrives)
3)External or Internal Hard Drives
4)Other writeable media, including flash cards, mp3 players, etc.
(these installations are not covered by this Guide).

Porteus comes in the form of an ISO image file. An ISO file is an


'image' of what should be on a CD/DVD. This file can be burned as a CD
or DVD, or it can be mounted as a file system or upacked to gain
access to the files for flash drive or hard drive installations.
Burning the file to a CD is the easiest method of installation, but
none of the changes you make (or files that you download) will be
saved once the system is rebooted*. Installing Porteus to a flash
drive or hard drive will allow you boot up more quickly, save changes
to your flashdrive and add new files and programs easily.

*Note that changes to your system can be saved to external media when
running Porteus (from a CD or otherwise), using the 'changes='
cheatcode, and specifying the path to the desired storage location.
You can find more information on this and many other useful cheatcodes
in the file /boot/docs/cheatcodes.txt.

Downloading Porteus
-----------------------

Porteus is available for 32-bit (i486) and 64-bit (x86_64) architectures.


If you are running a 64-bit computer system, then you can download either
edition. If you are running a 32-bit system, then you must download
the 32-bit edition. Both editions can be downloaded by going to
http://www.porteus.org and clicking on the 'Download' button at the top
of the page. From there, you can select your edition from the dropdown
menus.

Once your download is complete, you should also download the


md5sums.txt file (from the same directory as the .iso file you just
downloaded) and check to make sure the Md5 sum of your .iso file
matches the Md5 sum listed in the md5sums.txt file. This will ensure
that the .iso file was not corrupted while being downloaded. If your
Md5 sum does not match, you should delete the .iso file and download
it again, or Porteus may not run properly. If you do not already have
software to check the Md5 Sum, you can use some freely available
software, such as winMd5.

*******************************************
* Burning an ISO file to a CD or DVD Disk *
*******************************************

Most CD/DVD creation software has a function to 'burn an image to


disk'. Please be aware that this is not the same as simply burning a
file to disk or creating a 'data disk'. The end result should not be a
disk that contains the .iso file, e.g. 'Porteus-v2.0-i486.iso'. The
end result should be a disk that contains two folders: one called
'boot' and one called 'porteus'.

If your current CD/DVD creation software doesn't contain the function


to 'burn an image to disk' then you can use some freely available
software, such as imgburn.

Steps to install (varies by CD creation program):


----------------------------------------------------

1) Insert a blank writeable CD or DVD.

2) Start your CD/DVD creation software and select 'burn image' or


'burn image to disk'

3) Navigate to and select the Porteus .iso file

4) Burn the file to the disk.

5) Check the CD to make sure it contains the 'boot' and 'porteus'


folders.

6) Reboot your computer, leaving the disk in your computer.

In order for your computer to run Porteus from the CD, you must make
sure that your BIOS is set to boot to your CDROM device first, before
booting to your hard disk. If you are unsure how to change the boot
order in your BIOS, please see Appendix A.

*******************************************
* Installing Porteus to a USB Flash Drive *
*******************************************
As of Porteus Version 1.1, the officially supported method for
installing Porteus to a flash drive or hard drive is to burn
the ISO image to a CD following the instructions written above,
then boot Porteus from the CD and run the program 'Porteus Installer',
which can be found in the KDE, LXDE, Razor or Xfce menu under the 'System'
heading. This program detects the available devices attached
to your system and automates the installation procedure.

Note that you must have an existing, formatted partition for this
installation program to work.

If you would prefer to install without burning Porteus to a CD (either


from Windows or from a Linux OS), then you can accomplish this by manually
extracting the ISO and executing the relevant script to install the
bootloader of your choice. To install using this method, please follow
the instructions below:

~~~~~~~~~~~~~~~~~
| From Windows: |
~~~~~~~~~~~~~~~~~

Porteus can be installed to a flash drive by copying the files from the
.iso file to the flash drive and then making the drive bootable.
Please note that you must be logged in as an administrator (or run the
included 'Porteus-installer-for-Windows.exe' file with administrative
priveleges) to make your drive bootable from Windows.

In order to install Porteus to a flash drive, you must first extract


the porteus .iso file so that you can copy the included folders
('boot' and 'porteus') to your flash drive. This can be done with
archival software, similar to unzipping a .zip file. If your existing
archival software cannot extract an .iso file, then try installing the
free application 7zip or winrar. Once it is installed, you can right
click on the .iso file, choose 7zip from the right-click menu (or,
open winrar and navigate to the .iso's location), and select the option
to extract the file.

(*NOTE* you can also use a program called wincdemu, which will allow
you to double click on the .iso file and then access the folders
inside it as if it were a CD mounted in your CD drive.)

If you have already created a bootable Porteus CD, you can also
insert that CD and copy the files from there.

Steps to install:
---------------------

1) Insert your flash drive and open it to view the contents. Make a
note of the Drive Letter assigned to this drive (e.g. E:\)

2) Copy the folders 'boot' and 'porteus' from the .iso file to the
top-level directory of your flash drive (meaning the files should not
be placed inside any other folders on the drive. For example, they
should be located at E:\boot and E:\porteus, assuming your flash drive
is device E:\).

3) Navigate into the boot folder that you just copied to your flash
drive. You should see a file there called Porteus-installer-for-Windows.exe.
Right click on this file (make sure it is Porteus-installer-for-Windows.exe
and not Porteus-installer-for-Linux.com) and choose to run it as an
administrator. A window will appear asking you to confirm that the correct
drive or partition is being selected for installation. Double check that
the information shown is correct, and press Enter to complete the
installation.

4) After running the installation program, you should be able to boot


Porteus from your flash drive. Reboot your computer, and make sure
that your BIOS is set to boot from the USB device first, before it
boots to your hard disk. If you are unsure how to change the boot
order in your BIOS, please see Appendix A.

*NOTE* If you are having problems making your drive bootable from
within Windows or if you do not have administrative priveleges, try
burning Porteus to a CD or DVD using the instructions above, and then
either run the 'Porteus Installer' program (which can be found in the
KDE, LXDE, Razor or Xfce menu under the 'System' heading) or follow the
instructions below to install Porteus to a USB flash drive from within
Linux.

*NOTE* If your flashdrive is formatted with a Windows filesystem (e.g.


FAT or NTFS), none of the changes you make to your system will survive
between reboots (Porteus will default to "Always Fresh" mode). If you
would like to save your changes, you can create a '.dat' file
container for this purpose. See Appendix B below for more information
about this very important feature, which is required for saving your
changes to a partition formatted with a Windows filesystem.

~~~~~~~~~~~~~~~
| From Linux: |
~~~~~~~~~~~~~~~

*PLEASE NOTE* If you experience problems when running the Porteus


installation scripts from your existing Linux distribution, please
burn the Porteus ISO to a CD (see above instructions) and boot from
that for the installation to USB. The method described below should
work from most Linux distributions, but full compatibility with every
distribution is not guaranteed.

Installing Porteus through Linux is similar to installing through


Windows. You must have root (super user) priveleges on your system in
order to run the installation script.

Before installing, you must extract or mount the .iso file in order
to copy the /boot and /porteus directories to your target device. Some
archiving programs are capable of extracting the .iso, or you can
simply mount it with the following commands:

mkdir /mnt/loop
mount -o loop /path/to/file.iso /mnt/loop

If you are using Porteus for this installation, you can simply enter:

mloop /path/to/file.iso

And you can then navigate to /mnt/loop to access the necessary files.
If you are running from a Porteus CD, you can navigate to /mnt/sr0/
and copy the files from there.
Steps to Install:
---------------------

1) Insert your flash drive. If a window automatically pops up when


you plug it in, click to open the device. This will mount your flash
drive and you can see its path by opening a console and typing:

mount

If the device is not mounted automatically, then you can open a


console and type:

fdisk -l

to get the path of your flash drive (e.g., /dev/sdb1), and then:

mkdir /mnt/sdb1
mount /dev/sdb1 /mnt/sdb1

(substitute sdb1 with the name of your device if it was listed


differently in fdisk)

Make note of the device's name, as this is the device which will need
to be modified by a script later in the process.

2) Copy the /boot and /porteus folders from the Porteus .iso file (or
from a Porteus CD) to your flash drive. These folders can be placed in
the top level directory on your drive, but as of Porteus version 2.0,
you can place these folders inside a subdirectory and your bootloader
configuration file will be adjusted automatically to boot from that
location.

3) Open a console and change directories to the boot folder that you
just copied into the flash drive, e.g.

cd /mnt/sdb1/boot

Execute the Porteus-installer-for-Linux.com script:

sh Porteus.installer-for-Linux.com

*NOTE* If you are not running as root already, you must use the su or
sudo command and enter your root password before starting this script,
or it will not be able to configure your device properly.

This script will ask you to confirm the drive or partition on which you are
installing Porteus. Make sure the information displayed is correct, and
then press Enter to complete the installation. The extlinux bootloader
will be installed on devices that are formatted with ext2/3/4, FAT16/32,
ntfs and btrfs filesystems. LILO will be installed on partitions formatted
with any other filesystem.

5) After running the install script, you should be able to boot


Porteus from your flash drive. Reboot your computer, and make sure
that your BIOS is set to boot from the USB device first, before it
boots to your hard disk. If you are unsure how to change the boot
order in your BIOS, please see Appendix A.

*NOTE* If your flashdrive is formatted with a Windows filesystem


(e.g. FAT or NTFS), none of the changes you make to your system will
survive between reboots (Porteus will default to "Always Fresh" mode).
If you would like to save your changes, you can create a '.dat' file
container for this purpose. See Appendix B below for more information
about this very important feature, which is required for saving your
changes to a partition formatted with a Windows filesystem.

*****************************************************
* Installations to Internal or External Hard Drives *
*****************************************************

Porteus can be installed to hard drives, but it should be left in its


compressed state (otherwise known as a 'Frugal' installation).
Installing extracted files to a hard drive is not supported; it is
suggested that you install Slackware Linux instead if you wish to have
an Operating System installed to your system natively.

Creating a 'Frugal' installation is very similar to installing on a


USB drive. Porteus can be installed on it's own partition, or it can
be installed side by side with Windows or another Linux OS on the same
partition.

If Porteus is the only Operating System that you are installing to a


device (internal or external), follow the instructions given above for
burning the ISO to a CD and booting from it, and then run the 'Porteus
Installer' program, which can be found in the KDE, LXDE, Razor or Xfce
menu under the 'System' heading.

You can also follow the instructions to manually unpack the ISO to your
target drive and run the installers as described in the "Install to USB"
section.

For directions on installing Porteus to a device that will also run


other operating systems, please visit the documentation section and/or
the community forum at the Porteus website, at http://porteus.org.
These installations are highly variable depending on whether or not
Windows needs to be installed on the device, and on what bootloader
is used for the system.

*NOTE* If your drive is formatted with a Windows filesystem (e.g.


FAT or NTFS), none of the changes you make to your system will survive
between reboots (Porteus will default to "Always Fresh" mode). If you
would like to save your changes, you can create a '.dat' file
container for this purpose. See Appendix B below for more information
about this very important feature, which is required for saving your
changes to a partition formatted with a Windows filesystem.

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ APPENDIX A: Configuring your boot settings in BIOS $
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

In order to boot Porteus from a device other than your computer's


hard drive, you must make sure that your BIOS is set to boot from that
device before booting the first hard disk.

To enter the BIOS of your machine, you will need to press a particular
key during your computer's startup procedure. The exact key varies
from computer to computer, but is typically shown briefly during
startup, and it is usually one of the following keys:
F1, F2, F12, Esc, Tab, etc.

Once you press the specified key, you will be shown the BIOS menu.
While in BIOS, the legend for using the keyboard is at the bottom of
the screen. Inside the BIOS menu, you should look for your 'boot
order' option, and set your desired device (CDROM or USB device) to
the top of the list. Once you have changed your boot order, press F10
to save your changes and exit. If you are planning to boot to a USB
device, make sure it is plugged in when you enter your BIOS, as some
systems will only show the USB option when a USB device is present.

Many machines also have another key to press during startup that
allows you to choose which device to boot from, without entering
the BIOS. While this is very handy, at some stage you will probably
want to change the BIOS setting so you don't have to keep pressing
this button at every boot. Be aware if your machine contains sensitive
data and is used by other people that leaving the setting to 'boot
from USB' presents a security risk. Others could also plug in a device
and boot to their own OS and access the information on your hard drive.

No Boot from USB in BIOS?


-------------------------

Don't panic just yet, you may still be able to boot from your USB
device. Porteus contains a boot loader called Plop. Using this boot
loader, you can plug in your USB device as well as a Porteus CD. Boot
to the CD and when the Porteus menu comes up, highlight the Plop Boot
Manager and press enter to start up Plop. Within Plop, you can select
'USB', and press enter to boot from the USB device.

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$ Appendix B - Saving changes to a Windows Filesystem $
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

Porteus allows users to save their changes (i.e., system settings,


downloaded files, bookmarks, browser history, etc) to a folder or
image file (aka container) that exists outside of Porteus' core files.
The 'changes=' cheatcode parameter sets the location for these
changes. When you start Porteus with this cheatcode (enabled by
default for USB installations), it will boot up the operating system
and then apply your changes from this location. By default, Porteus is
set to save these changes to /porteus/changes.

If you are installing Porteus to a device that is formatted with a


Windows filesystem (e.g. FAT 32, NTFS, etc), you are required to use
a '.dat' container for your changes. This container allows you to
retain linux permissions and symlinks, which are necessary for your
system to run properly and securely.

While starting up, Porteus will run a check to see if you are asking
it to save changes directly to a device with a Windows filesystem.
If you are, then Porteus will boot without saved changes enabled. To
create a '.dat' container file and start saving your changes, boot
Porteus into GUI, then open up the menu and navigate to
"System -> Porteus save file manager" (NOTE: You can also access this
program through "Porteus Settings Centre", which will help you to
customize various settings, including creation of a save.dat).
Click on this application to open it, and click on the "Create" button.
It will ask you for the name, size and location where you want to
create it . You can choose any name you like, for example, porteussave,
save, mychanges, etc (upon creation, the .dat suffix will be added).
You must then enter the size of the container in megabytes and a the
location on disk (e.g. /mnt/sdb1/porteus/, if sdb1 is your
desired storage device), then click 'OK' and it will be created
and placed on your storage device. In order to start saving your changes,
you will need to make a simple modification to the file that configures
your bootup procedure. The save.dat manager will walk you through
these changes, but just in case, here are the necessary steps to
peform this manually:

As root, open the file /boot/syslinux/porteus.cfg. You will have several


entries in this file, which look like this:

/**************************************************************/

LABEL kde
MENU LABEL Graphics mode (KDE).
KERNEL /boot/vmlinuz
APPEND initrd=/boot/initrd.xz changes=/porteus
TEXT HELP
Run Porteus the best way we can.
Try to autoconfigure graphics
card and use the maximum
allowed resolution
ENDTEXT

LABEL copy2ram
MENU LABEL Copy To RAM
KERNEL vmlinuz
APPEND initrd=initrd.xz copy2ram
TEXT HELP
Run Porteus the same as above,
but first copy all data to RAM
to get a huge speed increase
(needs >768MB)
ENDTEXT

/**************************************************************/

You will need to edit the end of the APPEND line, to make it read
'changes=/porteus/save.dat' (without the quotes, using the name you
specified earlier). Save this file and upon reboot your changes
will be saved to this container.

*NOTE* If you need to gain access directly to the files in your


save.dat container (if, for example, you boot into 'Always Fresh'
mode and need to remove or edit one of your saved files), you can
mount the container on a loop, using these commands in a console:

mkdir /mnt/loop
mount -o loop /mnt/live/mnt/sdXN/save.dat /mnt/loop

where sdXN is the name of your device, e.g. sdb1.


You will then have access to these files, in /mnt/loop

~~~~~~~~~~~~~~~

Thanks for using Porteus!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules
... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.
ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of lessUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value
... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant
... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or
other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd
... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.
zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.
base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject
... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.
noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!
While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.
noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:
chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager
sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc
... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================
Boot parameters (also known as cheatcodes) are used to affect the
booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'
from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'
rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone
... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.
extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug
... Disable specified hardware autodetection in the case of
hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.
debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn
... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.
volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.
Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------
List of available cheatcodes in alphabetical order:
NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram
... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop
norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot
... Execute specified command(s) in runlevel 3 (before logging
in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt
... This cheatcode will allow you to customize your filesystem
mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork
... This boot parameter will prevent Porteus from automatically
establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files
SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:
The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro
... Keep saved changes in a read-only state. This is useful when
you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso
... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]
... Specify module(s) or folder(s) containing modules which should
be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules
... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.
noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%
... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:
boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.
changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.
nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.
pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram

These cheatcodes can also be added to the APPEND line of your


/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck

... Enables a filesystem check for ext(2,3,4) and reiserfs


partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin
... Execute specified command(s) in runlevel 4, when the graphical
interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd
... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.

NOTE: 'rammod' cannot be used without 'copy2ram', and it also


will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files
... Copy files from specified directory directly to the live
filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect

... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.
This cheatcode allows users to easily switch back and forth
bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


Cheatcodes for Porteus.
=======================================

Boot parameters (also known as cheatcodes) are used to affect the


booting process of Porteus. The cheatcodes listed here are only those
that are specific to Porteus (see the final note for information on
cheatcodes that apply to all linux distributions, including Porteus).
You can use these parameters to disable desired kinds of hardware
detection, start Porteus from a specific location, load additional
modules, etc.

Reboot your computer and wait several seconds until the graphical
Porteus logo appears with a boot menu. Choose your desired menu
entry and hit Tab, which will allow you to edit the command line.
Add your desired boot argument from the list below to affect booting
the way you like.
Here's an example of what the boot line would look like, adding the
noauto and copy2ram cheatcodes to a standard Porteus boot option
(which already has some other cheatcodes by default):

APPEND initrd=initrd.xz changes=/porteus/ noauto copy2ram


These cheatcodes can also be added to the APPEND line of your
/boot/syslinux/porteus.cfg entries (or other bootloader config files)
to apply them automatically on every boot.

---------------------------------------

List of available cheatcodes in alphabetical order:


NOTE: Example cheatcodes are sometimes listed below inside single
quotes (e.g. 'example=somevalue') for clarity in the documentation.
When you enter these cheatcodes during boot time or in your
porteus.cfg, you should not use these quote marks.

base_only

... This cheatcode will prevent the system from loading any
modules at startup other than the 'base' modules included
with the default ISO (000-kernel.xzm, 001-core.xzm, etc).
This is useful in debugging to see if problems you are
having are associated with some module you've added to the
system.

changes=/dev/device
changes=/path/
changes=/path/file.dat

... All changes made in Porteus are kept in memory until you reboot.
With this boot parameter, you tell Porteus to use a device
(or a file or directory) other than your memory for storing
changes. You can, for example, format your disk partition
/dev/sdb2 with some Linux filesystem (eg. xfs) and then use
'changes=/dev/sdb2' to store all changes to that partition.
This way you won't loose your changes after reboot.
... If you use a file image instead of a device, and the image
contains a valid filesystem, Porteus will mount it on a loop
device and will store changes to it.
... If you use a directory, Porteus will save changes to it (it
will make a 'changes' subdirectory there). This should only
be used for linux filesystems, if changes need to be saved to a
FAT or NTFS partition, a savefile container has to be used.

changes-ro

... Keep saved changes in a read-only state. This is useful when


you have your system set up exactly how you like it and do not
want to save any other changes you might make during a live
session. This cheatcode should be used in conjunction with the
'changes=' or 'changes=EXIT:' cheatcodes.
Example: 'changes=/path/file.dat changes-ro'
NOTE: remove the 'changes-ro' cheatcode from the bootloader config
to start saving changes as normal (effective after a reboot).

cliexec=my_script
cliexec=my_script;reboot

... Execute specified command(s) in runlevel 3 (before logging


in to a graphical interface).
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'. For example, 'cliexec=echo~Shutting~power;poweroff'
will echo your text with spaces instead of '~'.
NOTE: to start graphical applications please use 'guiexec='
cheatcode instead.

copy2ram

... Copy all modules to RAM. You'll need at least 256MB of RAM
to boot Porteus properly. 64-bit Porteus with KDE-4 requires
at least 768MB of RAM for this.
Copy2ram slows down the boot phase but speeds up Porteus!

Reminder: the 'noeject' cheatcode can be used together with


'copy2ram' to prevent unmounting of your booting media
(CD/DVD disc, usb, card readers, etc).
You can also use the 'rammod' cheatcode to selectively load
modules to RAM - see the 'rammod' description below.

debug

... Start the shell several times during the boot to perform
debugging actions.

delay=some_value

... To be used for devices which need extra time to settle up.
Example: 'delay=5' will cause a 5 second delay before Porteus
starts booting.

extramod=/path/folder_with_modules
extramod=/path/folder_with_modules;/path2/folder_with_modules

... This cheatcode lets you load modules from one or more external
folders that are located outside of the /porteus directory.
Multiple folders can be specified, with full paths separated by
a semicolon without any spaces.
Examples:
'extramod=/mnt/sdb3/porteus-modules'
'extramod=/mnt/sdb3/porteus-modules;/mnt/sdc4/inkscape_modules'

from=/dev/device
from=/path/folder
from=/path/porteus.iso

... Loads Porteus from the specified device, folder or ISO file.
Examples:
'from=/dev/sdb2' will attempt to load unpacked Porteus ISO from
the second partition on your second drive.
'from=/mnt/sda2/linux-testing' will attempt to load unpacked ISO
from the 'linux-testing' folder placed on the second partition.
'from=/linux-ISO/porteus.iso' will attempt to load the Porteus
data from an ISO file placed inside the 'linux-ISO' folder.

If the destination partition is not provided with this


cheatcode, the booting script will search through all available
devices for your data.

fsck
... Enables a filesystem check for ext(2,3,4) and reiserfs
partitions during boot time before anything is mounted by
Porteus. XFS does not need fsck as a check is performed
automatically during the mount operation.
NOTE: On some systems, you will need to use the 'delay='
cheatcode in order to allow your devices to settle up.
This should only be needed to fsck usb flash drives.

guiexec=my_script
guiexec=firefox;pidgin

... Execute specified command(s) in runlevel 4, when the graphical


interface is loaded; unlike 'cliexec' this cheatcode can be
used to start graphical applications.
Use semicolons (;) as command separators with no spaces.
... If you need to use spaces in the command line, replace them
with '~'.
Example: 'guiexec=firefox~kernel.org' will open the firefox
browser on the 'kernel.org' website.

kmap=keyboardmap
kmap=keyboardmap1,keyboardmap2,keyboardmap3
kmap=keyboardmap:variant

... Specifies the preferred keyboard layout for KDE/LXDE/XFCE or


other desktop. A full list of supported layouts can be found in
the /etc/X11/xkb/symbols folder. Up to 3 layouts are supported.
Example: 'kmap=ara,us' will set the arabic keyboard layout at
startup. 'kmap=ara,us' will keep arabic layout as default
with possibility of switching to 'us' by 'alt+shift' key
combination.
Keyboard layout variants are also supported.
Example: 'kmap=pl:qwertz' will set the polish keyboard layout
with 'qwertz' as a variant.

load=module
load=module[1];module[n]

... Load optional modules from /optional/ directory on the booting


media. Additional modules can be listed, separated
by semicolons, without spaces.
Exampe: 'load=gimp;inkscape' would search for and load any
modules in the /porteus/optional folder that contain the strings
'gimp' or 'inkscape'.

login=user_name

... Lets you specify the name of the user (could be also 'root')
which will be autologged into GUI session.
If username is not provided then booting stops on the lxdm/kdm
login screen.

mopt

... This cheatcode will allow you to customize your filesystem


mount options. By default, the mount options for all
filesystems in Porteus are: "noatime,nodiratime,suid,dev,exec,async".
Each option must be separated wtih a comma "," with no spaces
between any characters.
Example: 'mopt=realtime,sync,users,nosuid,noexec'
See 'man mount' for more information on specific mount options.

noauto

... Do not mount any devices during startup.


Every disk needs to be mounted manually in order to access it.

nocd

... Do not discover any optical devices during startup.

noeject

... Do not eject CD/DVD disc during boot time and shutdown.

NOTE: when the 'copy2ram' cheatcode is used with 'noeject',


this will prevent the unmounting of your booting media
(CD/DVD disc, usb, card readers, etc). To eject the CD you
will have to umount /mnt/sr0 manually and issue the command
'eject /dev/sr0' from a console.

nohd

... Do not discover any hard drives during startup.

nohotplug

... Disable specified hardware autodetection in the case of


hangups. None of your hardware will be detected, and you'll
have to use the "modprobe" command after logging in to
text mode and load all needed drivers manually.

noload=module
noload=module[1];module[n]

... Disable loading of any modules specified. This affects all the
modules on the Porteus booting mendia, including /base and /modules
folders, so using noload=kde will disable loading of all modules
with 'kde' in the name. It is useful with the copy2ram cheatcode,
because any un-used module is not copied to ram. Multiple modules
can be listed, but they must be separated by semicolons, with no
spaces.
Example: 'noload=lxde;devel' will prevent the loading of any
modules with a name containing the strings 'lxde' or 'devel'

nomagic

... Do not bind "magic folders" during boot time. Useful when
something went wrong with your Porteus configuration and you
want to boot into true 'Always Fresh' mode.

nonetwork

... This boot parameter will prevent Porteus from automatically


establishing a network connection on start-up.
Note that this cheatcode makes some modifications to
your system which must be manually restored, so it is
recommended that you only use this cheatcode in "Always
Fresh" mode. If you've ignored this advice and need to
recover your network connection, please run the following:

chmod +x /etc/rc.d/rc.inet1 /etc/rc.d/rc.networkmanager


sed -i 's/Hidden=true//g' /etc/xdg/autostart/nm-applet.desktop

norootcopy

... Do not copy files from your rootcopy directory at boot-up.


Like the 'nomagic' cheatcode, this is useful if something went
wrong with your Porteus configuration and you want to boot into
true 'Always Fresh' mode.

noswap

... Prevents the automatic use of an existing swap partition.


By default, Porteus searches your attached drives for
partitions that are formatted as swap, and will mount them
for use within Porteus. The 'noswap' cheatcode disables
this behaviour.

pxe

... Initialize PXE services (tftpd, dhcpcd, nfs server) which will
allow you to boot Porteus on other computers over a network.
This cheatcode should be used on the server side.

NOTE: the 'storage=' cheatcode can be used together with 'pxe'


to let the clients store persistent changes on the server.
See the 'storage=' description for details.

ramsize=some_value%

... Will let you set a custom size for the tmpfs partition
which is used as the root (/) of your live filesystem
when changes are not saved on a real filesystem
(i.e., Always Fresh mode). The default value is 60% of
available RAM memory.
Example: 'ramsize=40%'

rammod=module
rammod=folder
rammod=module[1];module[n];folder[1];folder[2]

... Specify module(s) or folder(s) containing modules which should


be copied to RAM when using the 'copy2ram' cheatcode. This
allows you to have the speed benefit of 'copy2ram' for the
modules you use the most, without occupying your RAM with those
modules that you make use of less often. Any modules that are
not specified will be mounted in place on the block device, so
your device will remain mounted while Porteus is running.

You can use a full or partial names for your search string,
but keep in mind that all modules and folders that match your
string will be loaded into RAM; if you have extra modules in a
folder named 'lxde' and you use 'rammod=lxde', then the module
003-lxde.xzm from /porteus/base will be loaded in addition to
all modules in the 'lxde' folder.
NOTE: 'rammod' cannot be used without 'copy2ram', and it also
will not load modules from /porteus/optional or external
locations unless you also specify these modules with the
'load=' or 'extramod=' cheatcodes.

Examples:
'rammod=001;002;004;firefox'
'extramod=/mnt/sdb3/porteus/gimp rammod=001;002;gimp'

rootcopy=/path/to_folder/with_files

... Copy files from specified directory directly to the live


filesystem. This directory will be used instead of the
traditional /porteus/rootcopy.
Example: 'rootcopy=/mnt/sda5/porteus-files'

sgnfile=some_name.sgn

... This cheatcode specifies the *.sgn file which Porteus will
search for. This is useful when you want to store several
Porteus editions on one disk/disc.
Example: 'sgnfile=porteus-usb.sgn'

storage=/path/folder
storage=/path/file.dat

... This cheatcode takes action only when used together with the
'pxe' cheatcode. It tells the server to store persistent
changes from the clients in a specified folder. Changes must
be saved on a real and writable filesystem (wont work with
aufs).
Separate folders for each client will be created with the name
'/path/folder/client-xxxx' where xxxx is the last 4 characters
of the clients' NIC MAC address.
This cheatcode should be used on the server side.
Example: 'storage=/mnt/sda3/pxe-clients'

timezone=region/zone

... Tell Porteus the correct timezone for your location. By default,
this assumes that your hardware clock is set to localtime. To use
a timezone with a hardware clock set to UTC time instead, also
add the 'utc' cheatcode.
A full listing of available timezones can be found in the file
/usr/sbin/timeconfig.
Example: 'timezone=Europe/Warsaw'
Example: 'timezone=Factory'

utc

... Tell Porteus that your hardware clock is set to UTC time and
not to localtime. Most computers that have Windows installed on
them use localtime instead of UTC time, but many UNIX machines
use UTC instead. This cheatcode is normally used together with
the 'timezone' cheatcode.
Example: 'timezone=Europe/Warsaw utc'

vga_detect
... Automatically detects AMD or nVidia video cards and loads the
proprietary drivers at startup. You must have a module
containing the appropriate graphics driver (nVidia or amd-catalyst)
stored in your /porteus/optional/ directory. These modules
are available in the download section of the Porteus website
(www.porteus.org/download) for each edition and version of
Porteus. If you compile your own driver, please note that
the module's name must begin with the string 'nVidia-' or
'amd-catalyst' because the startup script searches for the driver
modules by name.

This cheatcode allows users to easily switch back and forth


bewteen different hardware configurations while using the
proprietary drivers because both driver modules can sit side
by side in /porteus/optional/ without interfering with one
another. They are only activated when needed.

volume=some_value%

... This parameter sets the system's Master Volume channel to


the value specified (as a percentage). You will be able to raise
or lower the volume after you boot up as normal.
The default value is 75%.
Example: 'volume=0%' will boot into your chosen GUI silently.

zram=some_value%

... enable the use of zram, which is a compressed block device


inside your RAM that acts as a swap partition. Zram operates
faster than using swap on a hard drive and creates more
(virtual) memory than using RAM alone because the data inside
is compressed. This will provide a performance boost on
systems with low RAM, but it uses more processor cycles (to
compress and decompress the data) than regular swap.
Example: 'zram=33%' will set aside 33% of your RAM as a zram
device.

SPECIAL NOTE FOR USING CHEATCODES WITH 'LABEL' AND 'UUID':


If you specify a LABEL or UUID with a cheatcode, remember that all
portions of these commands are case sensitive. You should use a
unique label for each of your partitions if you wish to use device
labels with your cheatcodes. Use the 'blkid' command to view your
device's UUID and LABEL. Using UUID and LABEL can be quite handy
because they are unique to your device, and your data will be found
and properly mapped on different hardware configurations.
Every cheatcode which contains a /path can take advantage of 'UUID:'
and 'LABEL:' extensions.

Examples:
changes=UUID:STrING-0F-ChARACtERS/path/file.dat
extramod=LABEL:YourLabelName/path/to_folder/with_modules
from=UUID:STrING-0F-ChARACtERS/path/folder
rootcopy=LABEL:YourLabelName/path/to_folder/with_files

SPECIAL NOTE FOR USING CHANGES CHEATCODE WITH 'EXIT:' extension:


The 'EXIT:' extension tells the 'changes=' cheatcode to keep all
of the files that have been added/deleted/modified during the
live session stored in memory until you reboot/shutdown. Your
RAM works as a buffor which gets dumped on the drive only once,
when the session is finished.
'changes=EXIT:' cheatcode has following advantages:
- Porteus works as fast as in 'Always Fresh' mode as all modifications
to files and folders are performed in RAM.
- reduced number of read/write cycles should extend the life of SSD
drives and usb sticks.
The only disadvantage of the 'EXIT:' extension is that the session
does not get saved in cases where you experience a hang (kernel crash)
or power interrupt.
Please use with caution!

While you are running a session with changes=EXIT, you can use the
'dump-session' command (run as root from the command line) to move all
of your changes from RAM to your storage media. This will reduce the
risk of data loss and free up your RAM.

Examples:
changes=EXIT:/dev/device
changes=EXIT:/path/
changes=EXIT:UUID:STrING-0F-ChARACtERS/path/file.dat

NOTE FOR THE LILO USERS:


If the LILO bootloader has been installed, you will get a text menu
with the standard boot options (KDE, LXDE, Always Fresh, etc).
Use your arrow key to highlight your desired entry (if you are using
the first entry (KDE), press down, then up to highlight KDE).
The name of your boot option is added to the 'boot:' line, and you can
type your cheatcodes after that.
For example:

boot: KDE debug noauto

would boot into KDE with all of the standard codes used for KDE, plus
debug and noauto. If you want to use LILO with custom cheatcodes at
every boot without manually entering them each time, you must modify
the /boot/syslinux/lilo.conf and then repeat installation by running
/boot/Porteus-installer-for-Linux.com utility as LILO must reload it's
configuration.

FINAL NOTE:
The cheatcodes listed above are those that are unique to Porteus.
There are literally hundreds of other kernel boot parameters
that can be used. For more information on these parameters visit:
http://www.kernel.org/doc/Documentation/kernel-parameters.txt

Thanks for reading!


v

Anda mungkin juga menyukai