summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile56
-rwxr-xr-xconfigs/profile/build.sh11
-rw-r--r--configs/profile/packages.both8
-rw-r--r--configs/profile/pacman.conf11
-rw-r--r--configs/profile/root-image/etc/motd14
-rw-r--r--configs/profile/root-image/etc/systemd/system/pacman-init.service1
-rwxr-xr-xconfigs/profile/root-image/root/customize_root_image.sh2
-rw-r--r--configs/profile/root-image/root/install.txt3
-rw-r--r--configs/profile/root-image/root/network.html265
-rw-r--r--configs/profile/syslinux/splash.pngbin45400 -> 0 bytes
-rwxr-xr-xexpand181
11 files changed, 514 insertions, 38 deletions
diff --git a/Makefile b/Makefile
index 5ed6c7c..222f39a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,41 +1,57 @@
-V=11
+V=2013.08.12
-INSTALL_FILES=$(wildcard parabolaiso/initcpio/install/*)
-HOOKS_FILES=$(wildcard parabolaiso/initcpio/hooks/*)
-SCRIPT_FILES=$(wildcard parabolaiso/initcpio/script/*)
+INSTALL_SRC_DIR=parabolaiso/initcpio/install
+HOOKS_SRC_DIR=parabolaiso/initcpio/hooks
+SCRIPT_SRC_DIR=parabolaiso/initcpio/script
INSTALL_DIR=$(DESTDIR)/usr/lib/initcpio/install
HOOKS_DIR=$(DESTDIR)/usr/lib/initcpio/hooks
SCRIPT_DIR=$(DESTDIR)/usr/lib/initcpio
-
-DOC_FILES=$(wildcard docs/*)
-
DOC_DIR=$(DESTDIR)/usr/share/doc/parabolaiso
-all:
+all: install dist
install: install-program install-initcpio install-examples install-doc
install-program:
- install -D -m 755 parabolaiso/mkparabolaiso $(DESTDIR)/usr/bin/mkparabolaiso
+ install -D -m 755 parabolaiso/mkparabolaiso "$(DESTDIR)/usr/bin/mkparabolaiso"
install-initcpio:
- install -d $(SCRIPT_DIR) $(HOOKS_DIR) $(INSTALL_DIR)
- install -m 755 -t $(SCRIPT_DIR) $(SCRIPT_FILES)
- install -m 644 -t $(HOOKS_DIR) $(HOOKS_FILES)
- install -m 644 -t $(INSTALL_DIR) $(INSTALL_FILES)
+ install -d "$(SCRIPT_DIR)" "$(HOOKS_DIR)" "$(INSTALL_DIR)"
+ install -m 755 -t "$(SCRIPT_DIR)" $(wildcard $(SCRIPT_SRC_DIR)/*)
+ install -m 644 -t "$(HOOKS_DIR)" $(wildcard $(HOOKS_SRC_DIR)/*)
+ install -m 644 -t "$(INSTALL_DIR)" $(wildcard $(INSTALL_SRC_DIR)/*)
install-examples:
- install -d -m 755 $(DESTDIR)/usr/share/parabolaiso/
- cp -a --no-preserve=ownership configs $(DESTDIR)/usr/share/parabolaiso/
+ install -d -m 755 "$(DESTDIR)/usr/share/parabolaiso/"
+ cp -a --no-preserve=ownership configs "$(DESTDIR)/usr/share/parabolaiso/"
install-doc:
- install -d $(DOC_DIR)
- install -m 644 -t $(DOC_DIR) $(DOC_FILES)
+ install -d "$(DOC_DIR)"
+ install -m 644 -t "$(DOC_DIR)" $(wildcard docs/*)
+
+uninstall: uninstall-program uninstall-initcpio uninstall-examples uninstall-doc
+
+uninstall-program:
+ rm "$(DESTDIR)/usr/bin/mkparabolaiso"
+
+uninstall-initcpio:
+ $(foreach file,$(wildcard $(SCRIPT_SRC_DIR)/*),rm -r "$(subst $(SCRIPT_SRC_DIR),$(SCRIPT_DIR),$(file))";)
+ $(foreach file,$(wildcard $(HOOKS_SRC_DIR)/*),rm -r "$(subst $(HOOKS_SRC_DIR),$(HOOKS_DIR),$(file))";)
+ $(foreach file,$(wildcard $(INSTALL_SRC_DIR)/*),rm -r "$(subst $(INSTALL_SRC_DIR),$(INSTALL_DIR),$(file))";)
+
+uninstall-examples:
+ rm -rfd "$(DESTDIR)/usr/share/parabolaiso/configs"
+ rm -d "$(DESTDIR)/usr/share/parabolaiso"
+
+uninstall-doc:
+ rm -rf "$(DOC_DIR)"
dist:
- git archive --format=tar --prefix=parabolaiso-$(V)/ v$(V) | gzip -9 > parabolaiso-$(V).tar.gz
- gpg --detach-sign --use-agent parabolaiso-$(V).tar.gz
+ ./expand $(V) dist
+
+dist-branches:
+ ./expand $(V) dist-branches
-.PHONY: install install-program install-initcpio install-examples install-doc dist
+.PHONY: install install-program install-initcpio install-examples install-doc dist dist-branches uninstall uninstall-program uninstall-initcpio uninstall-examples uninstall-doc
diff --git a/configs/profile/build.sh b/configs/profile/build.sh
index e7ce4a4..7d9fdac 100755
--- a/configs/profile/build.sh
+++ b/configs/profile/build.sh
@@ -8,6 +8,7 @@ iso_version=$(date +%Y.%m.%d)
install_dir=parabola
work_dir=work
out_dir=out
+data_dir=/usr/share/parabolaiso/data
arch=$(uname -m)
verbose=""
@@ -79,10 +80,6 @@ make_setup_mkinitcpio() {
make_customize_root_image() {
cp -af ${script_path}/root-image ${work_dir}/${arch}
- curl -o ${work_dir}/${arch}/root-image/etc/pacman.d/mirrorlist 'https://parabolagnulinux.org/mirrorlist/?country=all&protocol=http&use_mirror_status=on'
-
- lynx -dump -nolist 'https://wiki.parabolagnulinux.org/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/root-image/root/install.txt
-
setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r '/root/customize_root_image.sh' run
rm ${work_dir}/${arch}/root-image/root/customize_root_image.sh
}
@@ -107,7 +104,7 @@ make_syslinux() {
sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
s|%INSTALL_DIR%|${install_dir}|g" ${_cfg} > ${work_dir}/iso/${install_dir}/boot/syslinux/${_cfg##*/}
done
- cp ${script_path}/syslinux/splash.png ${work_dir}/iso/${install_dir}/boot/syslinux
+ cp ${data_dir}/splash.png ${work_dir}/iso/${install_dir}/boot/syslinux
cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux
cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.com ${work_dir}/iso/${install_dir}/boot/syslinux
cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/*.0 ${work_dir}/iso/${install_dir}/boot/syslinux
@@ -143,9 +140,9 @@ make_efi() {
${script_path}/efiboot/loader/entries/parabolaiso-x86_64-usb.conf > ${work_dir}/iso/loader/entries/parabolaiso-x86_64.conf
# EFI Shell 2.0 for UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=UEFI_Shell )
- curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi
+ cp ${data_dir}/Shell.efi ${work_dir}/iso/EFI/shellx64_v2.efi
# EFI Shell 1.0 for non UEFI 2.3+ ( http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=Efi-shell )
- curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi
+ cp ${data_dir}/Shell_Full.efi ${work_dir}/iso/EFI/shellx64_v1.efi
}
# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode
diff --git a/configs/profile/packages.both b/configs/profile/packages.both
index 8d6c9ff..e269f33 100644
--- a/configs/profile/packages.both
+++ b/configs/profile/packages.both
@@ -1,5 +1,4 @@
arch-install-scripts
-b43-fwcutter
btrfs-progs
crda
darkhttpd
@@ -21,11 +20,11 @@ grml-zsh-config
grub
haveged
hdparm
-ipw2100-fw
-ipw2200-fw
irssi
lftp
linux-atm
+linux-libre-kmod-alx
+lynx
mc
mtools
nfs-utils
@@ -45,7 +44,6 @@ rfkill
rp-pppoe
rsync
smartmontools
-speedtouch
sudo
tcpdump
testdisk
@@ -54,7 +52,7 @@ vpnc
wget
wireless_tools
wpa_actiond
+zile
wvdial
xl2tpd
-zd1211-firmware
zsh
diff --git a/configs/profile/pacman.conf b/configs/profile/pacman.conf
index 800d572..746df64 100644
--- a/configs/profile/pacman.conf
+++ b/configs/profile/pacman.conf
@@ -43,8 +43,8 @@ LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
-# keyring can then be populated with the keys of all official Parabola GNU/Linux-libre
-# packagers with `pacman-key --populate archlinux`.
+# keyring can then be populated with the keys of all official Arch Linux and Parabola
+# packagers with `pacman-key --populate archlinux` and `pacman-key --populate parabola`.
#
# REPOSITORIES
@@ -69,6 +69,12 @@ LocalFileSigLevel = Optional
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
+#[libre-testing]
+#Include = /etc/pacman.d/mirrorlist
+
+[libre]
+Include = /etc/pacman.d/mirrorlist
+
#[testing]
#Include = /etc/pacman.d/mirrorlist
@@ -89,4 +95,3 @@ Include = /etc/pacman.d/mirrorlist
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
-
diff --git a/configs/profile/root-image/etc/motd b/configs/profile/root-image/etc/motd
new file mode 100644
index 0000000..05ab207
--- /dev/null
+++ b/configs/profile/root-image/etc/motd
@@ -0,0 +1,14 @@
+
+===============================================================================
+
+ Parabola live media _DATE_
+
+ To install Parabola, the system must be connected to the internet.
+ For instructions, enter this command:
+ lynx network.html
+
+ Press the number keys while holding Alt to switch virtual terminals.
+ This allows entering commands without closing lynx.
+
+===============================================================================
+
diff --git a/configs/profile/root-image/etc/systemd/system/pacman-init.service b/configs/profile/root-image/etc/systemd/system/pacman-init.service
index 23b8144..3414ebc 100644
--- a/configs/profile/root-image/etc/systemd/system/pacman-init.service
+++ b/configs/profile/root-image/etc/systemd/system/pacman-init.service
@@ -10,6 +10,7 @@ Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/pacman-key --init
ExecStart=/usr/bin/pacman-key --populate archlinux
+ExecStart=/usr/bin/pacman-key --populate parabola
[Install]
WantedBy=multi-user.target
diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh
index 7c9a003..9c980f1 100755
--- a/configs/profile/root-image/root/customize_root_image.sh
+++ b/configs/profile/root-image/root/customize_root_image.sh
@@ -18,3 +18,5 @@ chmod 440 /etc/sudoers.d/g_wheel
sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist
systemctl enable multi-user.target pacman-init.service choose-mirror.service
+
+sed -i "s/_DATE_/${iso_version}/" /etc/motd
diff --git a/configs/profile/root-image/root/install.txt b/configs/profile/root-image/root/install.txt
deleted file mode 100644
index 87b85cb..0000000
--- a/configs/profile/root-image/root/install.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-View this installation guide online at
-https://wiki.parabolagnulinux.org/index.php/Installation_Guide
-
diff --git a/configs/profile/root-image/root/network.html b/configs/profile/root-image/root/network.html
new file mode 100644
index 0000000..b6bd5cc
--- /dev/null
+++ b/configs/profile/root-image/root/network.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html>
+<html>
+<head></head><body>
+<h1 id="g0.1">Start installing - Establish an internet connection</h2>
+<p>This document is from the Installation section of the Beginners Guide. It shows how to connect to the internet using the Parabola live media. After connecting to the internet, the <a href="https://wiki.parabolagnulinux.org/Installation_Guide" title="Installation Guide">Installation Guide</a> (online link) can be followed to complete the installation.</p>
+<div style="padding: 5px; margin: 2.00em 0; background-color: #DDFFDD; border: thin solid #BBDDBB; overflow: hidden;">
+<table id="toc" class="toc">
+<tbody>
+<tr>
+<td>
+<div id="toctitle">
+<h2>Contents</h2>
+</div>
+<ul>
+<li class="toclevel-1 tocsection-1"><a href="#Installation"><span class="tocnumber">1</span> <span class="toctext">Installation</span></a>
+<ul>
+<li class="toclevel-2 tocsection-2"><a href="#Change_the_language"><span class="tocnumber">1.1</span> <span class="toctext">Change the language</span></a></li>
+<li class="toclevel-2 tocsection-3"><a href="#Establish_an_internet_connection"><span class="tocnumber">1.2</span> <span class="toctext">Establish an internet connection</span></a>
+<ul>
+<li class="toclevel-3 tocsection-4"><a href="#Wired"><span class="tocnumber">1.2.1</span> <span class="toctext">Wired</span></a></li>
+<li class="toclevel-3 tocsection-5"><a href="#Wireless"><span class="tocnumber">1.2.2</span> <span class="toctext">Wireless</span></a></li>
+<li class="toclevel-3 tocsection-6"><a href="#xDSL_.28PPPoE.29.2C_analog_modem_or_ISDN"><span class="tocnumber">1.2.3</span> <span class="toctext">xDSL (PPPoE), analog modem or ISDN</span></a></li>
+<li class="toclevel-3 tocsection-7"><a href="#Behind_a_proxy_server"><span class="tocnumber">1.2.4</span> <span class="toctext">Behind a proxy server</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<h2 id="g0.1">Installation </h2>
+<p>You are now presented with a shell prompt, automatically logged in as root.
+</p>
+<h3 id="g0.1.1">Change the language </h3>
+<div style="padding: 5px; margin: 0.50em 0; background-color: #DDFFDD; border: thin solid #BBDDBB; overflow: hidden;"><strong> Tip: </strong>These are optional for the majority of users. Useful only if you plan on writing in your own language in any of the configuration files, if you use diacritical marks in the Wi-Fi password, or if you would like to receive system messages (e.g. possible errors) in your own language.</div>
+<p>By default, the keyboard layout is set to <code style="display:inline-block; padding: 0.1em 0.3em;">us</code>. If you have a non-<a href="http://en.wikipedia.org/wiki/File:KB_United_States-NoAltGr.svg" class="extiw" title="wikipedia:File:KB United States-NoAltGr.svg">US</a> keyboard layout, run:
+</p>
+<pre># loadkeys <i>layout</i>
+</pre>
+<p>...where <i>layout</i> can be <code style="display:inline-block; padding: 0.1em 0.3em;">fr</code>, <code style="display:inline-block; padding: 0.1em 0.3em;">uk</code>, <code style="display:inline-block; padding: 0.1em 0.3em;">be-latin1</code>, etc. See <a href="https://wiki.archlinux.org/index.php/KEYMAP#Keyboard_layouts" title="KEYMAP">here</a> for a comprehensive list.
+</p>
+<p>The font should also be changed, because most languages use more glyphs than the 26 letter <a href="http://en.wikipedia.org/wiki/English_alphabet" class="extiw" title="wikipedia:English alphabet">English alphabet</a>. Otherwise some foreign characters may show up as white squares or as other symbols. Note that the name is case-sensitive, so please type it <i>exactly</i> as you see it:
+</p>
+<pre># setfont Lat2-Terminus16
+</pre>
+<p>By default, the language is set to English (US). If you would like to change the language for the install process <i>(German, in this example)</i>, remove the <code style="display:inline-block; padding: 0.1em 0.3em;">#</code> in front of the <a rel="nofollow" class="external text" href="http://www.greendesktiny.com/support/knowledgebase_detail.php?ref=EUH-483">locale</a> you want from <code style="display:inline-block; padding: 0.1em 0.3em;">/etc/locale.gen</code>, along with English (US). Please choose the <code style="display:inline-block; padding: 0.1em 0.3em;">UTF-8</code> entry.
+</p>
+<p>Use <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">Ctrl+X</code> to exit, and when prompted to save changes, press <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">Y</code> and <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">Enter</code> to use the same filename.
+</p>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># nano /etc/locale.gen</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">en_US.UTF-8 UTF-8
+de_DE.UTF-8 UTF-8# locale-gen
+# export LANG=de_DE.UTF-8
+</pre>
+<p>Remember, <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">LAlt+LShift</code> activates and deactivates the keymap.
+</p>
+<h3 id="g0.1.2">Establish an internet connection </h3>
+<div style="padding: 5px; margin: 0.50em 0; background-color: #FFDDDD; border: thin solid #DDBBBB; overflow: hidden;"><strong> Warning: </strong>udev no longer assigns network interface names according to the wlanX and ethX naming scheme. If you're coming from a different distribution or are reinstalling Parabola and not aware of the new interface naming style, please do not assume that your wireless interface is named wlan0, or that your wired interface is named eth0. You can use the "ip" utility to discover the names of your interfaces.</div>
+<p>From systemd-197's release and onward, udev now assigns predictable, stable network interface names that deviate from the legacy incremental naming scheme (wlan0, wlan1, etc.). These interface names are guaranteed to be persistent across reboots, which solves the problem of the lack of predictability of network interface name assignment. For more information about why this was necessary, read <a rel="nofollow" class="external free" href="http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames">http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames</a> .
+</p>
+<p>The <code style="display:inline-block; padding: 0.1em 0.3em;">dhcpcd</code> network daemon is started automatically at boot and it will attempt to start a wired connection, if available. Try pinging a website to see if it was successful. And since Google is always on...
+</p>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># ping -c 3 www.google.com</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">PING www.l.google.com (74.125.132.105) 56(84) bytes of data.
+64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=1 ttl=50 time=17.0 ms
+64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=2 ttl=50 time=18.2 ms
+64 bytes from wb-in-f105.1e100.net (74.125.132.105): icmp_req=3 ttl=50 time=16.6 ms
+
+--- www.l.google.com ping statistics ---
+3 packets transmitted, 3 received, 0% packet loss, time 2003ms
+rtt min/avg/max/mdev = 16.660/17.320/18.254/0.678 ms</pre>
+<p>If you get a <code style="display:inline-block; padding: 0.1em 0.3em;">ping: unknown host</code> error, first check if there is any problem with your cable (or if you have enough wireless signal), otherwise you will need to set up the network manually, as explained below.
+</p>
+<p>Otherwise, move on to <a href="#Prepare_the_storage_drive">Prepare the storage drive</a>.
+</p>
+<h4 id="g0.1.2.1">Wired </h4>
+<p>Follow this procedure if you need to set up a wired connection via a static IP address.
+</p>
+<p>First, identify the name of your ethernet interface.
+</p>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># ip link</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
+ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
+2: enp2s0f0: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
+ link/ether 00:11:25:31:69:20 brd ff:ff:ff:ff:ff:ff
+3: wlp3s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc mq state UP mode DORMANT qlen 1000
+ link/ether 01:02:03:04:05:06 brd ff:ff:ff:ff:ff:ff</pre>
+<p>In this case, the ethernet interface is enp2s0f0. If you're unsure, your ethernet interface is likely to start with the letter "e", and unlikely to be "lo" or start with the letter "w". You can also use iwconfig and see which interfaces are not wireless:
+</p>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># iwconfig</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">enp2s0f0 no wireless extensions.
+wlp3s0 IEEE 802.11bgn ESSID:"NETGEAR97"
+ Mode:Managed Frequency:2.427 GHz Access Point: 2C:B0:5D:9C:72:BF
+ Bit Rate=65 Mb/s Tx-Power=16 dBm
+ Retry long limit:7 RTS thr:off Fragment thr:off
+ Power Management:on
+ Link Quality=61/70 Signal level=-49 dBm
+ Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
+ Tx excessive retries:0 Invalid misc:430 Missed beacon:0
+lo no wireless extensions.</pre>
+<p>In this example, neither enp2s0f0 nor the loopback device have wireless extensions, meaning enp2s0f0 is our ethernet interface.
+</p>
+<p>You also need to know these settings:
+</p>
+<ul>
+<li> Static IP address.
+</li>
+<li> Subnet mask.
+</li>
+<li> Gateway's IP address.
+</li>
+<li> Name servers' (DNS) IP addresses.
+</li>
+<li> Domain name (unless you're on a local LAN, in which case you can make it up).
+</li>
+</ul>
+<p>Activate the connected Ethernet interface (e.g. <code style="display:inline-block; padding: 0.1em 0.3em;">enp2s0f0</code>):
+</p>
+<pre># ip link set enp2s0f0 up
+</pre>
+<p>Add the address:
+</p>
+<pre># ip addr add &lt;ip address&gt;/&lt;subnetmask&gt; dev &lt;interface&gt;
+</pre>
+<p>For example:
+</p>
+<pre># ip addr add 192.168.1.2/24 dev enp2s0f0
+</pre>
+<p>For more options, run <code style="display:inline-block; padding: 0.1em 0.3em;">man ip</code>.
+</p>
+<p>Add your gateway like this, substituting your own gateway's IP address:
+</p>
+<pre># ip route add default via &lt;ip address&gt;
+</pre>
+<p>For example:
+</p>
+<pre># ip route add default via 192.168.1.1
+</pre>
+<p>Edit <code style="display:inline-block; padding: 0.1em 0.3em;">resolv.conf</code>, substituting your name servers' IP addresses and your local domain name:
+</p>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># nano /etc/resolv.conf</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">nameserver 61.23.173.5
+nameserver 61.95.849.8
+search example.com</pre>
+<div style="padding: 5px; margin: 0.50em 0; background-color: #DDDDFF; border: thin solid #BBBBDD; overflow: hidden;"><strong> Note: </strong>Currently, you may include a maximum of 3 <code style="display:inline-block; padding: 0.1em 0.3em;">nameserver</code> lines.</div>
+<p>You should now have a working network connection. If you do not, check the detailed <a href="https://wiki.archlinux.org/index.php/Network_Configuration" title="Network Configuration">Network Configuration</a> page.
+</p>
+<h4 id="g0.1.2.2">Wireless </h4>
+<p>Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process.
+</p>
+<p>If you're coming from another distribution, or if this is your first time installing Parabola since the deprecation of the old interface naming scheme, you might be surprised to learn that the first wireless interface is not named "wlan0". In fact, none of the interfaces are automatically prefixed with "wlan" any longer. Don't panic; simply execute <code style="display:inline-block; padding: 0.1em 0.3em;">iwconfig</code> to discover the name of your wireless interface.
+</p>
+<p>The wireless drivers and utilities are now available to you in the live environment of the installation media. A good knowledge of your wireless hardware will be of key importance to successful configuration. Note that the following quick-start procedure <i>executed at this point in the installation</i> will initialize your wireless hardware for use <i>in the live environment of the installation media</i>. These steps (or some other form of wireless management) <b>must be repeated from the actual installed system after booting into it</b>.
+</p>
+<p>Also note that these steps are optional if wireless connectivity is unnecessary at this point in the installation; wireless functionality may always be established later.
+</p>
+<div style="padding: 5px; margin: 0.50em 0; background-color: #DDDDFF; border: thin solid #BBBBDD; overflow: hidden;"><strong> Note: </strong>The following examples use <code style="display:inline-block; padding: 0.1em 0.3em;">wlp3s0</code> for the interface and <code style="display:inline-block; padding: 0.1em 0.3em;">linksys</code> for the ESSID. Remember to change these values according to your setup.</div>
+<p>The basic procedure will be:
+</p>
+<ul>
+<li> Identify the wireless interface:
+</li>
+</ul>
+<pre># lspci | grep -i net
+</pre>
+<p>Or, if using a USB adapter:
+</p>
+<pre># lsusb
+</pre>
+<ul>
+<li> Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with <code style="display:inline-block; padding: 0.1em 0.3em;">iwconfig</code>:
+</li>
+</ul>
+<div style="padding: 5px; margin: 0.50em 0; background-color: #DDDDFF; border: thin solid #BBBBDD; overflow: hidden;"><strong> Note: </strong>If you do not see output similar to this, then your wireless driver has not been loaded. If this is the case, you must load the driver yourself. Please see <a href="https://wiki.archlinux.org/index.php/Wireless_Setup" title="Wireless Setup">Wireless Setup</a> for more detailed information.</div>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># iwconfig</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">enp2s0f0 no wireless extensions.
+wlp3s0 IEEE 802.11bgn ESSID:"NETGEAR97"
+ Mode:Managed Frequency:2.427 GHz Access Point: 2C:B0:5D:9C:72:BF
+ Bit Rate=65 Mb/s Tx-Power=16 dBm
+ Retry long limit:7 RTS thr:off Fragment thr:off
+ Power Management:on
+ Link Quality=61/70 Signal level=-49 dBm
+ Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
+ Tx excessive retries:0 Invalid misc:430 Missed beacon:0
+lo no wireless extensions.</pre>
+<p>In this example, <code style="display:inline-block; padding: 0.1em 0.3em;">wlp3s0</code> is the available wireless interface.
+</p>
+<ul>
+<li> Bring the interface up with:
+</li>
+</ul>
+<pre># ip link set wlp3s0 up
+</pre>
+<p>A small percentage of wireless chipsets also require firmware, in addition to a corresponding driver. If the wireless chipset requires firmware, you are likely to receive this error when bringing the interface up:
+</p>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># ip link set wlp3s0 up</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">SIOCSIFFLAGS: No such file or directory</pre>
+<p>If unsure, invoke <code style="display:inline-block; padding: 0.1em 0.3em;">dmesg</code> to query the kernel log for a firmware request from the wireless chipset.
+</p>
+<p>Example output from an Intel chipset which requires and has requested firmware from the kernel at boot:
+</p>
+<pre style="margin-bottom: 0; border-bottom:none; padding-bottom:0.8em;"># dmesg | grep firmware</pre>
+<pre style="margin-top: 0; border-top-style:dashed; padding-top: 0.8em;">firmware: requesting iwlwifi-5000-1.ucode</pre>
+<p>If there is no output, it may be concluded that the system's wireless chipset does not require firmware.
+</p>
+<div style="padding: 5px; margin: 0.50em 0; background-color: #FFDDDD; border: thin solid #DDBBBB; overflow: hidden;"><strong> Warning: </strong>Wireless chipset firmware packages (for cards which require them) are pre-installed under <code style="display:inline-block; padding: 0.1em 0.3em;">/usr/lib/firmware</code> in the live environment (on CD/USB stick) <b>but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it!</b> Package installation is covered later in this guide. Ensure installation of both your wireless module and firmware before rebooting! See <a href="https://wiki.archlinux.org/index.php/Wireless_Setup" title="Wireless Setup">Wireless Setup</a> if you are unsure about the requirement of corresponding firmware installation for your particular chipset.</div>
+<p>Next, use <span style="font-family: monospace"><a rel="nofollow" class="external text" href="https://www.archlinux.org/packages/?name=netcfg">netcfg</a></span>'s <code style="display:inline-block; padding: 0.1em 0.3em;">wifi-menu</code> to connect to a network:
+</p>
+<pre># wifi-menu wlp3s0
+</pre>
+<div style="padding: 5px; margin: 0.50em 0; background-color: #FFDDDD; border: thin solid #DDBBBB; overflow: hidden;"><strong> Warning: </strong>At the moment, netcfg's wifi-menu, when executed without arguments, will look for "wlan0". Execute wifi-menu with your interface as the argument in order to use it.</div>
+<p>You should now have a working network connection. If you do not, check the detailed <a href="https://wiki.archlinux.org/index.php/Wireless_Setup" title="Wireless Setup">Wireless Setup</a> page.
+</p>
+<h4 id="g0.1.2.3">xDSL (PPPoE), analog modem or ISDN </h4>
+<p>If you have a router in bridge mode, run:
+</p>
+<pre># pppoe-setup
+</pre>
+<ul>
+<li> Type in the username that the ISP provided you with.
+</li>
+<li> Press <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">Enter</code> for "eth0".
+</li>
+<li> Press <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">Enter</code> for "no", so that it stays up continuously.
+</li>
+<li> Type <code style="display:inline-block; padding: 0.1em 0.3em;">server</code> (since this is usually the case).
+</li>
+<li> Press <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">1</code> for a firewall.
+</li>
+<li> Type in the password that the ISP provided you with.
+</li>
+<li> Press <code style="display:inline-block; background-color: #ebf1f5; padding: 0.1em 0.3em; font-weight:bold;">Y</code> at the end.
+</li>
+</ul>
+<p>To use these settings and connect to your ISP, run:
+</p>
+<pre># pppoe-start
+</pre>
+<p>You may also need to adjust your <code style="display:inline-block; padding: 0.1em 0.3em;">resolv.conf</code>:
+</p>
+<pre># echo nameserver 8.8.8.8 &gt; /etc/resolv.conf
+</pre>
+<p>If you have a dial-up or ISDN connection, see <a href="https://wiki.archlinux.org/index.php/Direct_Modem_Connection" title="Direct Modem Connection">Direct Modem Connection</a>.
+</p>
+<h4 id="g0.1.2.4">Behind a proxy server </h4>
+<p>If you are behind a proxy server, you will need to export the <code style="display:inline-block; padding: 0.1em 0.3em;">http_proxy</code> and <code style="display:inline-block; padding: 0.1em 0.3em;">ftp_proxy</code> environment variables. See <a href="https://wiki.archlinux.org/index.php/Proxy_settings" title="Proxy settings">Proxy settings</a> for more information.</p>
+
+<!--
+NewPP limit report
+Preprocessor visited node count: 3450/1000000
+Preprocessor generated node count: 6957/1000000
+Post-expand include size: 91583/2097152 bytes
+Template argument size: 49043/2097152 bytes
+Highest expansion depth: 8/40
+Expensive parser function count: 0/100
+-->
+
+<!-- Saved in parser cache with key archwiki:pcache:idhash:14839-1!*!0!!en!*!* and timestamp 20130302182513 -->
+
+
+</body>
+</html>
diff --git a/configs/profile/syslinux/splash.png b/configs/profile/syslinux/splash.png
deleted file mode 100644
index 64b959a..0000000
--- a/configs/profile/syslinux/splash.png
+++ /dev/null
Binary files differ
diff --git a/expand b/expand
new file mode 100755
index 0000000..5234379
--- /dev/null
+++ b/expand
@@ -0,0 +1,181 @@
+#!/bin/bash
+
+set -e
+
+version="$1"
+
+type="$2"
+
+### CONFIGURATION OPTIONS
+
+# Profiles to package in addition to the profile releng for the make target "dist-branches"
+branches_dist_branches=(baseline gnome toolkit)
+
+# Profiles to package in addition to the profile releng for the make target "dist"
+branches_dist=(baseline)
+
+### END OF CONFIGURATION OPTIONS
+
+error() {
+ echo "${@}. Stop." >&2
+ exit 1
+}
+
+dist_branches() {
+ branches="${branches_dist_branches}"
+ # Refs to package (the branches)
+ refs="${branches[@]}"
+ # Ref of the releng profile to package
+ releng="master"
+ # Release branch. This branch only has commits to prepare the package.
+ release_branch="release-branches"
+ # Release ref. It is a branch for dist_branches. The package is created from this ref.
+ release="${release_branch}"
+ # Refs that should exist for the make target dist-branches. This branches will be packaged.
+ allrefs=( ${releng} ${branches[@]} )
+}
+
+dist() {
+ branches="${branches_dist}"
+ # Refs to package (branch names appending the date, like "baseline/2013.08.12")
+ refs="${branches_dist[@]/%//${version}}"
+ # Ref of the releng profile to package
+ releng="master/${version}"
+ # Release branch. This branch only has commits to prepare the package.
+ release_branch="release"
+ # Release ref. Tag of commit in release_branch. The package is created from this ref.
+ release="release/${version}"
+ # These refs should exist to package for the make target dist.
+ allrefs=( ${releng} ${refs[@]} )
+}
+
+expand() {
+ ref="$1"
+ dir="$2"
+
+ GIT_INDEX_FILE="${index}" git read-tree --empty
+ GIT_INDEX_FILE="${index}".release git read-tree --empty
+
+ # Find the current head of ${ref}
+ head="$(git show-ref --hash "refs/${ref_type}/${ref}")"
+ # Find the current head of the release branch.
+ head_release="$(git show-ref --hash refs/heads/"${release_branch}")"
+ if [[ $dir == releng ]] ; then
+ # Read the tree of "$ref" with profile path rename into an index file.
+ git ls-tree -z -r "${head}" | sed -z "s|configs/profile|configs/${dir}|" | GIT_INDEX_FILE="${index}" git update-index -z --index-info
+ # Remove the master branch from the release index, that is, leave everything from configs/ excluding configs/releng
+ git ls-tree -z -r "${head_release}" | grep -zZP 'configs/(?!releng)' | GIT_INDEX_FILE="${index}".release git update-index -z --index-info
+ # This combines the two indexes (obtained in the last two commands).
+ GIT_INDEX_FILE="${index}".release git ls-files -z -s | GIT_INDEX_FILE="${index}" git update-index -z --add --index-info
+ else
+ # Read only paths configs/profile of "$ref" with profile path rename into an index file.
+ git ls-tree -z -r "${head}" -- configs/profile | sed -z "s|configs/profile|configs/${dir}|" | GIT_INDEX_FILE="${index}" git update-index -z --index-info
+ # Remove configs/${dir} from the release index.
+ git ls-tree -z -r "${head_release}" | grep -zZv configs/"${dir}" | GIT_INDEX_FILE="${index}".release git update-index -z --index-info
+ # This combines the two indexes (obtained in the last two commands).
+ GIT_INDEX_FILE="${index}".release git ls-files -z -s | GIT_INDEX_FILE="${index}" git update-index -z --add --index-info
+ fi
+ # Write the index file into the repo as a tree.
+ tree="$(GIT_INDEX_FILE="${index}" git write-tree)"
+ # Write a commit to the repo.
+ commit="$(echo "Update profile ${dir}" | git commit-tree "$tree" -p "${head_release}")"
+ # Update the head of the repository to be the new commit.
+ git update-ref refs/heads/"${release_branch}" "$commit" "${head_release}"
+}
+
+expand_empty() {
+ ref="${releng}"
+ dir="releng"
+
+ GIT_INDEX_FILE="${index}" git read-tree --empty
+
+ # Find the current head of ${ref}
+ head="$(git show-ref --hash "refs/${ref_type}/${ref}")"
+ # Read the tree of "$ref" with profile path rename into an index file.
+ git ls-tree -z -r "${head}" | sed -z "s|configs/profile|configs/${dir}|" | GIT_INDEX_FILE="${index}" git update-index -z --index-info
+ # Write the index file into the repo as a tree.
+ tree="$(GIT_INDEX_FILE="${index}" git write-tree)"
+ # Write a commit to the repo.
+ commit="$(echo "Update profile ${dir}" | git commit-tree "$tree")"
+ # Update the head of the repository to be the new commit.
+ git update-ref refs/heads/"${release_branch}" "$commit" 0000000000000000000000000000000000000000
+}
+
+ref_test() {
+ es=0
+ git show-ref --quiet "$1" || es=$?
+
+ if [[ $es == 1 ]] ; then
+ error "$2"
+ elif [[ $es > 1 ]] ; then
+ error "$3"
+ fi
+}
+
+ref_test_negative() {
+ es=0
+ git show-ref --quiet "$1" || es=$?
+
+ if [[ $es == 0 ]] ; then
+ error "$2"
+ elif [[ $es > 1 ]] ; then
+ error "$3"
+ fi
+}
+
+release_prepare() {
+ ref_test_negative "refs/tags/${release}" "Release tag ${release} can not be created because it already exists" "Error testing the release tag"
+}
+
+show_ref() {
+ for ref in ${allrefs[@]} ; do
+ ref_test "refs/${ref_type}/${ref}" "Git reference refs/${ref_type}/${ref} should exist" "Error testing git reference refs/${ref_type}/${ref}"
+ done
+}
+
+archive_ref() {
+ git archive --format=tar.gz --prefix=parabolaiso-"${version}"/ "refs/${ref_type}/${release}" > parabolaiso-"${version}".tar.gz
+}
+
+archive() {
+ git tag -s -m "tag ${release}" "${release}" "${release_branch}"
+ archive_ref
+ gpg --detach-sign --use-agent parabolaiso-"${version}".tar.gz
+}
+
+dist_expand() {
+ index="$(mktemp)"
+
+ es=0
+ git show-ref --quiet "refs/heads/${release_branch}" || es=$?
+
+ if [[ $es == 0 ]] ; then
+ expand "${releng}" releng
+ elif [[ $es == 1 ]] ; then
+ expand_empty
+ echo "Release branch created."
+ elif [[$es > 1 ]] ; then
+ error "Error testing the release branch"
+ fi
+
+ for i in ${!branches[@]} ; do
+ expand ${refs[$i]} ${branches[$i]}
+ done
+}
+
+if [[ ${type} == dist ]] ; then
+ ref_type="tags"
+ dist
+ release_prepare
+ show_ref
+ dist_expand
+ archive
+elif [[ ${type} == dist-branches ]] ; then
+ ref_type="heads"
+ dist_branches
+ show_ref
+ dist_expand
+ archive_ref
+else
+ error "Second argument is not correct"
+fi