Default Setting: HOSTNAME='fli4l'
At the very beginning you should choose a name for your fli4l router.
Default Setting: PASSWORD='fli4l'
This password is needed for logging on to the router--regardless whether you use a keyboard attached to the router or a remote SSH console (for the latter you will need the sshd package). The minimum password length is 1, the maximum 126 characters.
Default setting: BOOT_TYPE='hd'
BOOT_TYPE determines the boot medium in the broadest sense and affects the drivers (kernel modules) and start scripts being included in the RootFS. A short description of the boot process for better understanding:
The following values are valid for BOOT_TYPE at the moment:
Note: How to configure fli4l as a boot-server (pxe/tftp) you can find in the documentation of opt dns_dhcp!
Default Setting: LIBATA_DMA='disabled'
This options selects if DMA is used for libata based Devices. It is needed for example for incompletely wired IDE to CompactFlash Adapters. Select 'enabled' to use DMA.
Default Setting: MOUNT_BOOT='rw'
This variable specifies how to mount the boot medium. There are three possibilities:
Some configurations require mounting the boot medium read/write, e.g. if you want to run a DHCP server or if you want the imond log file to be stored on the boot medium.
Default setting: BOOTMENU_TIME='20'
This variable controls how LONG the syslinux boot loader should wait until the default installation is booted automatically.
The OPT_RECOVER variable of the HD package allows you to activate a function which enables you to create a recovery installation from a working installation. This recovery installation can be activated in the boot menu by choosing the recovery version.
If this variable contains the value '0', the syslinux boot loader will wait indefinitely until the user chooses either the default or the recovery installation!
Default Setting: TIME_INFO='MEZ-1MESZ,M3.5.0,M10.5.0/3'
Normally, Unix operating systems use the UTC (Coordinated Universal Time) for clocks running under their control, and so does fli4l. The UTC is consistent around the world and has to be converted to local time before use. By using TIME_INFO, you provide the necessary information for fli4l about your time zone, its difference to UTC, and about daylight saving time. Your local hardware clock must be set to UTC (corresponds to London Standard Time) in order to make these settinge effective. Alternatively, you may use the chrony Package which allows fli4l to synchronize its clock with an external time server (time servers always provide the current time in UTC).
The meaning of the possible settings TIME_INFO are as follows:
TIME_INFO='MEZ-1MESZ,M3.5.0,M10.5.0/3'
Normally you do not have to touch these settings, unless your fli4l router resides in another time zone. In this case you have to adjust these settings accordingly. In order to do this properly, it is helpful to take a look at the specification of the TZ environment variable which can be found at the following URL:
http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
Many computers have a battery-backed hardware clock, which is also supplied with power while the system is powered off. This enables the system time to be running continuously even then in order to have a valid system time at the next system startup. At this point it is important to differentiate between the system time and the hardware time:
With the help of this variable you may configure how fli4l handles the adjustment between hardware time and system time, meaning if and how often hardware time should be set to the system time. Such an adjustment is necessary because even the best hardware clock is not 100 percent accurate and tends to systematic drifting, in the long run it will be a bit too slow or too fast.
There are basically two ways of synchronization:
This mode must also be used if no hardware clock at all exists. The Linux kernel will not keep hardware time up-to-date in this case simply because there is none. In order to have a realistic system time at all, the use of a NTP client should be mandatory.
This mode is incompatible with updating the system time by the help of an NTP client. That's because an NTP client automatically enables updating the hardware clock by the Linux kernel. It is however, of little sense or problematic that both hwclock and the Linux kernel at the same time try to keep the hardware time up to date.
It should be noted that if a hardware clock is available, the time stored there is always interpreted as coordinated world time (UTC). The time zone defined by the variable TIME_INFO does not affect the time stored in the hardware clock. Saving a localized non-UTC time in the hardware clock is not supported by fli4l.
Loading the system time from the hardware time is done only once at system startup. The Linux kernel then reads the time stored in the hardware clock and sets system right at the beginning f the boot process. In ``hwclock'' mode the time will be set again later when running the boot script /etc/rc.d/rc100.hwclock, this time taking into account the system's time drift.
Chooses the version of the kernel to be used. According to the contents of this variable, the kernel and the kernel modules are selected from img/kernel-<kernel version>.<compression extension> and opt/lib/modules/<kernel version>, respectively.
Default Setting: KERNEL_BOOT_OPTION=''
The contents of this variable is appended to the kernel's command line defined in syslinux.cfg. Some systems require 'reboot=bios' for proper rebooting, i.e. WRAP systems.
Default setting: COMP_TYPE_ROOTFS='xz'
This variable selects the compression method to be used for the RootFS archive. Possible values are 'xz', 'lzma', and 'bzip2'.
Default setting: COMP_TYPE_OPT='xz'
This variable selects the compression method to be used for the OPT archive. Possible values are 'xz', 'lzma', and 'bzip2'.
Default Setting: POWERMANAGEMENT='acpi'
The kernel supports different flavours of power management: the somewhat aged APM and the newer ACPI. This variable lets you choose which flavour is to be used. Possible values are 'none' (no power management), 'acpi', and the two APM variants 'apm' and 'apm_rm'. The latter uses a special processor mode before switching the router off.
Default Setting: FLI4L_UUID=''
This variable contains an universally unique identifier (UUID) which is used
to point to a place where persistent data can be stored, e.g. on a USB
stick. The UUID can be generated on any Linux system (e.g. on the fli4l
router) by executing 'cat /proc/sys/kernel/random/uuid'
.
Each execution of this command above produces a new UUID which you can
use in FLI4L_UUID variable. If you create a directory on
a persistent medium by the name of this UUID, this directory will
be used to store configuration changes as well as persistent run-time data
(e.g. DHCP leases). However, the corresponding packages has to support
this persistence mechanism (see the documentation to check this).
Typically, use 'auto' for the according storage location, instead
of a hard-coded path.
If fli4l already stored data using this mechanism before configuring an UUID and creating the directory, this data can be found under /boot/persistent. In this case, you will have to manually move the data to the new location. We advice that you generate and configure the UUID at the very beginning, avoiding the migration later on.
Additionally, please note that MOUNT_BOOT='rw' is needed if the storage directory is located on the /boot partition.
We suggest using the /data partition (with the UUID-named directory being a top-level directory there) or an USB stick for the storage location of persistent configuration and run-time data. The file systems allowed are VFAT or, if you use OPT_HD all read-writable filesystems supported there.
Default Setting: IP_CONNTRACK_MAX=''
This variable enables you to change the maximum number of simultaneously existing connections. Normally, a sensible value for this setting is computed automatically, based on the amount of your router's physical RAM. Table 3.2 shows the defaults used.
RAM in MiB | simultaneous connections |
16 | 1024 |
24 | 1280 |
32 | 2048 |
64 | 4096 |
128 | 8192 |
If you use file sharing programs behind or on the router and your router
has only little RAM, you will hit the maximum number of simultaneous
connections fastly. This will prevent further connections to be
established.
This causes error messages as
ip_conntrack: table full, dropping packet
or
ip_conntrack: Maximum limit of XXX entries exceeded
The variable IP_CONNTRACK_MAX changes the maximum number of simultaneously existing connections to a fixed value. Each possible connection consumes 350 bytes of RAM, which cannot be used for other things. If you e.g. choose the value '10000', you reserve about 3,34 MB RAM that are lost for any other usage (kernel, RAM disks, programs).
If your router has 32 MiB RAM, it should not be much of a problem to reserve 2 or 3 MiB for the ip_conntrack table. If only 16 MiB RAM or less are available you should be more conservative to prevent your router from running out of RAM.
The setting currently being used can be display on the console by executing
cat /proc/sys/net/ipv4/ip_conntrack_max
and can be set on-the-fly by executing
echo "XXX" > /proc/sys/net/ipv4/ip_conntrack_max
where XXX denotes the number of entries. The entries of the IP_CONNTRACK table can be displayed on the console by executing
cat /proc/net/ip_conntrack
and can be counted by executing
cat /proc/net/ip_conntrack | grep -c use
Default setting: LOCALE='de'
Meanwhile, some fli4l components support multiple languages, for example the console menu and the Web GUI. This variable lets you choose your preferred language. In addition, some components support a private setting to override this global setting if necessary. English is used as a fallback if the language chosen is not supported for some component.
KEYBOARD_LOCALE='auto' tries to find a keyboard layout that is compatible with the LOCALE setting.
By now, the following values are possible: de, en, fr.