From 62c57918f73f1052e61263d9fb0d6feb068c81c9 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Sun, 14 Oct 2012 15:22:54 -0300 Subject: Import Parabola keyring with pacman-init service --- configs/releng/root-image/etc/systemd/system/pacman-init.service | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/releng/root-image/etc/systemd/system/pacman-init.service b/configs/releng/root-image/etc/systemd/system/pacman-init.service index 23b8144..3414ebc 100644 --- a/configs/releng/root-image/etc/systemd/system/pacman-init.service +++ b/configs/releng/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 -- cgit v1.2.2 From 7c6e39157a3542f5394dc107a87d34a0316e325d Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Sun, 14 Oct 2012 15:27:05 -0300 Subject: Add libre repository to pacman.conf --- configs/releng/pacman.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf index 41e9634..108260d 100644 --- a/configs/releng/pacman.conf +++ b/configs/releng/pacman.conf @@ -68,6 +68,10 @@ Architecture = auto # 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] +SigLevel = PackageRequired +Include = /etc/pacman.d/mirrorlist + #[testing] #SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist -- cgit v1.2.2 From 82ac7fef38865b31a95e80c778c798d5a49d4f18 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Sun, 14 Oct 2012 16:56:47 -0300 Subject: Edit for Parabola in new common package list file --- configs/releng/packages.both | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/configs/releng/packages.both b/configs/releng/packages.both index 87a9d5a..14657fc 100644 --- a/configs/releng/packages.both +++ b/configs/releng/packages.both @@ -1,5 +1,4 @@ arch-install-scripts -b43-fwcutter btrfs-progs crda darkhttpd @@ -19,8 +18,6 @@ grml-zsh-config grub-bios haveged hdparm -ipw2100-fw -ipw2200-fw irssi lftp lilo @@ -43,7 +40,6 @@ rfkill rp-pppoe rsync smartmontools -speedtouch sudo tcpdump testdisk @@ -52,7 +48,7 @@ vpnc wget wireless_tools wpa_actiond +zile wvdial xl2tpd -zd1211-firmware zsh -- cgit v1.2.2 From eecbbff1e3d446ded63a8f3f41d1a27aee205e71 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Tue, 16 Oct 2012 22:35:08 -0300 Subject: Add Atheros alx Ethernet driver --- configs/releng/packages.both | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/releng/packages.both b/configs/releng/packages.both index 14657fc..4205a0a 100644 --- a/configs/releng/packages.both +++ b/configs/releng/packages.both @@ -22,6 +22,7 @@ irssi lftp lilo linux-atm +linux-libre-kmod-alx mc mtools nfs-utils -- cgit v1.2.2 From 797f6b669f4f089915b754b08cc523a5a88189d5 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Wed, 20 Feb 2013 18:55:13 -0300 Subject: Remove fetching the Installation Guide and mirrorlist file from the web --- configs/releng/build.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 03bd844..a310cfa 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -80,9 +80,6 @@ make_customize_root_image() { cp -af ${script_path}/root-image ${work_dir}/${arch} patch ${work_dir}/${arch}/root-image/usr/bin/pacman-key < ${script_path}/pacman-key-4.0.3_unattended-keyring-init.patch - 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 -- cgit v1.2.2 From ed64af8960a79379b49cf92d336ba6b256867056 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Sun, 10 Mar 2013 14:04:42 -0300 Subject: Add HTML document that shows how to connect to Internet --- configs/releng/root-image/root/network.html | 265 ++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 configs/releng/root-image/root/network.html diff --git a/configs/releng/root-image/root/network.html b/configs/releng/root-image/root/network.html new file mode 100644 index 0000000..b6bd5cc --- /dev/null +++ b/configs/releng/root-image/root/network.html @@ -0,0 +1,265 @@ + + + +

Start installing - Establish an internet connection

+

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 Installation Guide (online link) can be followed to complete the installation.

+ +

Installation

+

You are now presented with a shell prompt, automatically logged in as root. +

+

Change the language

+
Tip: 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.
+

By default, the keyboard layout is set to us. If you have a non-US keyboard layout, run: +

+
# loadkeys layout
+
+

...where layout can be fr, uk, be-latin1, etc. See here for a comprehensive list. +

+

The font should also be changed, because most languages use more glyphs than the 26 letter English alphabet. 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 exactly as you see it: +

+
# setfont Lat2-Terminus16
+
+

By default, the language is set to English (US). If you would like to change the language for the install process (German, in this example), remove the # in front of the locale you want from /etc/locale.gen, along with English (US). Please choose the UTF-8 entry. +

+

Use Ctrl+X to exit, and when prompted to save changes, press Y and Enter to use the same filename. +

+
# nano /etc/locale.gen
+
en_US.UTF-8 UTF-8
+de_DE.UTF-8 UTF-8# locale-gen
+# export LANG=de_DE.UTF-8
+
+

Remember, LAlt+LShift activates and deactivates the keymap. +

+

Establish an internet connection

+
Warning: 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.
+

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 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames . +

+

The dhcpcd 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... +

+
# ping -c 3 www.google.com
+
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
+

If you get a ping: unknown host 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. +

+

Otherwise, move on to Prepare the storage drive. +

+

Wired

+

Follow this procedure if you need to set up a wired connection via a static IP address. +

+

First, identify the name of your ethernet interface. +

+
# ip link
+
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
+

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: +

+
# iwconfig
+
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.
+

In this example, neither enp2s0f0 nor the loopback device have wireless extensions, meaning enp2s0f0 is our ethernet interface. +

+

You also need to know these settings: +

+
    +
  • Static IP address. +
  • +
  • Subnet mask. +
  • +
  • Gateway's IP address. +
  • +
  • Name servers' (DNS) IP addresses. +
  • +
  • Domain name (unless you're on a local LAN, in which case you can make it up). +
  • +
+

Activate the connected Ethernet interface (e.g. enp2s0f0): +

+
# ip link set enp2s0f0 up
+
+

Add the address: +

+
# ip addr add <ip address>/<subnetmask> dev <interface>
+
+

For example: +

+
# ip addr add 192.168.1.2/24 dev enp2s0f0
+
+

For more options, run man ip. +

+

Add your gateway like this, substituting your own gateway's IP address: +

+
# ip route add default via <ip address>
+
+

For example: +

+
# ip route add default via 192.168.1.1
+
+

Edit resolv.conf, substituting your name servers' IP addresses and your local domain name: +

+
# nano /etc/resolv.conf
+
nameserver 61.23.173.5
+nameserver 61.95.849.8
+search example.com
+
Note: Currently, you may include a maximum of 3 nameserver lines.
+

You should now have a working network connection. If you do not, check the detailed Network Configuration page. +

+

Wireless

+

Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process. +

+

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 iwconfig to discover the name of your wireless interface. +

+

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 executed at this point in the installation will initialize your wireless hardware for use in the live environment of the installation media. These steps (or some other form of wireless management) must be repeated from the actual installed system after booting into it. +

+

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. +

+
Note: The following examples use wlp3s0 for the interface and linksys for the ESSID. Remember to change these values according to your setup.
+

The basic procedure will be: +

+
    +
  • Identify the wireless interface: +
  • +
+
# lspci | grep -i net
+
+

Or, if using a USB adapter: +

+
# lsusb
+
+
    +
  • Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with iwconfig: +
  • +
+
Note: 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 Wireless Setup for more detailed information.
+
# iwconfig
+
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.
+

In this example, wlp3s0 is the available wireless interface. +

+
    +
  • Bring the interface up with: +
  • +
+
# ip link set wlp3s0 up
+
+

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: +

+
# ip link set wlp3s0 up
+
SIOCSIFFLAGS: No such file or directory
+

If unsure, invoke dmesg to query the kernel log for a firmware request from the wireless chipset. +

+

Example output from an Intel chipset which requires and has requested firmware from the kernel at boot: +

+
# dmesg | grep firmware
+
firmware: requesting iwlwifi-5000-1.ucode
+

If there is no output, it may be concluded that the system's wireless chipset does not require firmware. +

+
Warning: Wireless chipset firmware packages (for cards which require them) are pre-installed under /usr/lib/firmware in the live environment (on CD/USB stick) but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it! Package installation is covered later in this guide. Ensure installation of both your wireless module and firmware before rebooting! See Wireless Setup if you are unsure about the requirement of corresponding firmware installation for your particular chipset.
+

Next, use netcfg's wifi-menu to connect to a network: +

+
# wifi-menu wlp3s0
+
+
Warning: 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.
+

You should now have a working network connection. If you do not, check the detailed Wireless Setup page. +

+

xDSL (PPPoE), analog modem or ISDN

+

If you have a router in bridge mode, run: +

+
# pppoe-setup
+
+
    +
  • Type in the username that the ISP provided you with. +
  • +
  • Press Enter for "eth0". +
  • +
  • Press Enter for "no", so that it stays up continuously. +
  • +
  • Type server (since this is usually the case). +
  • +
  • Press 1 for a firewall. +
  • +
  • Type in the password that the ISP provided you with. +
  • +
  • Press Y at the end. +
  • +
+

To use these settings and connect to your ISP, run: +

+
# pppoe-start
+
+

You may also need to adjust your resolv.conf: +

+
# echo nameserver 8.8.8.8 > /etc/resolv.conf
+
+

If you have a dial-up or ISDN connection, see Direct Modem Connection. +

+

Behind a proxy server

+

If you are behind a proxy server, you will need to export the http_proxy and ftp_proxy environment variables. See Proxy settings for more information.

+ + + + + + + + -- cgit v1.2.2 From 02f1c9625e070f3569cd30e28537d049c1b22819 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Sun, 10 Mar 2013 14:33:45 -0300 Subject: Remove install.txt. It can become outdated, and it can't contain formatted text and hyperlinks. --- configs/releng/root-image/root/install.txt | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 configs/releng/root-image/root/install.txt diff --git a/configs/releng/root-image/root/install.txt b/configs/releng/root-image/root/install.txt deleted file mode 100644 index 87b85cb..0000000 --- a/configs/releng/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 - -- cgit v1.2.2 From 46ca4c7b84fe38b8b0745fc3b250408c7f9e44bf Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Tue, 19 Mar 2013 16:43:40 -0300 Subject: Add lynx to open network.html --- configs/releng/packages.both | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/releng/packages.both b/configs/releng/packages.both index 4205a0a..ade79cf 100644 --- a/configs/releng/packages.both +++ b/configs/releng/packages.both @@ -23,6 +23,7 @@ lftp lilo linux-atm linux-libre-kmod-alx +lynx mc mtools nfs-utils -- cgit v1.2.2 From 5c6a51b437f7aa5395a3bb68df28a0728d8dd1ee Mon Sep 17 00:00:00 2001 From: Drtan Samos Date: Sun, 21 Apr 2013 12:03:36 +0200 Subject: Ability to uninstall when installing from sources. --- Makefile | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 275ec9f..e4f0b04 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ V=6 -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 @@ -13,7 +13,7 @@ DOC_FILES=$(wildcard docs/*) DOC_DIR=$(DESTDIR)/usr/share/doc/parabolaiso -all: +all: install dist install: install-program install-initcpio install-examples install-doc @@ -22,9 +22,9 @@ install-program: 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 -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/ @@ -34,8 +34,25 @@ install-doc: install -d $(DOC_DIR) install -m 644 -t $(DOC_DIR) $(DOC_FILES) +uninstall: uninstall-program uninstall-initcpio uninstall-examples uninstall-doc + +uninstall-program: + rm $(DESTDIR)/usr/sbin/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 -.PHONY: install install-program install-initcpio install-examples install-doc dist +.PHONY: install install-program install-initcpio install-examples install-doc dist uninstall uninstall-program uninstall-initcpio uninstall-examples uninstall-doc -- cgit v1.2.2 From 654d8bba202b0a1827a652d5f2c9979f0814ad6a Mon Sep 17 00:00:00 2001 From: Drtan Samos Date: Sun, 21 Apr 2013 15:58:33 +0200 Subject: Prevents errors when file paths contain spaces. --- Makefile | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index e4f0b04..cb5f9e4 100644 --- a/Makefile +++ b/Makefile @@ -7,9 +7,6 @@ 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 @@ -18,38 +15,38 @@ all: install dist install: install-program install-initcpio install-examples install-doc install-program: - install -D -m 755 parabolaiso/mkparabolaiso $(DESTDIR)/usr/sbin/mkparabolaiso + install -D -m 755 parabolaiso/mkparabolaiso "$(DESTDIR)/usr/sbin/mkparabolaiso" install-initcpio: - 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 -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/sbin/mkparabolaiso + rm "$(DESTDIR)/usr/sbin/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));) + $(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 + rm -rfd "$(DESTDIR)/usr/share/parabolaiso/configs" + rm -d "$(DESTDIR)/usr/share/parabolaiso" uninstall-doc: - rm -rf $(DOC_DIR) + rm -rf "$(DOC_DIR)" dist: git archive --format=tar --prefix=parabolaiso-$(V)/ v$(V) | gzip -9 > parabolaiso-$(V).tar.gz -- cgit v1.2.2 From 7105fb70073c08d24b36dc48e5673ba39d3434ac Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Leave only directory for profile releng --- configs/baseline/aitab | 2 - configs/baseline/build.sh | 83 ------- configs/baseline/isolinux/isolinux.cfg | 5 - configs/baseline/mkinitcpio.conf | 1 - configs/baseline/syslinux/syslinux.cfg | 8 - configs/profile/aitab | 3 + configs/profile/build.sh | 254 ++++++++++++++++++++ .../loader/entries/parabolaiso-x86_64-cd.conf | 4 + .../loader/entries/parabolaiso-x86_64-usb.conf | 4 + .../loader/entries/uefi-shell-v1-x86_64.conf | 2 + .../loader/entries/uefi-shell-v2-x86_64.conf | 2 + configs/profile/efiboot/loader/loader.conf | 2 + configs/profile/isolinux/isolinux.cfg | 5 + configs/profile/mkinitcpio.conf | 2 + configs/profile/packages.both | 56 +++++ configs/profile/packages.i686 | 0 configs/profile/packages.x86_64 | 3 + .../pacman-key-4.0.3_unattended-keyring-init.patch | 32 +++ configs/profile/pacman.conf | 100 ++++++++ configs/profile/root-image/etc/fstab | 0 configs/profile/root-image/etc/hostname | 1 + configs/profile/root-image/etc/locale.conf | 1 + configs/profile/root-image/etc/pam.d/su | 6 + configs/profile/root-image/etc/sudoers.d/g_wheel | 1 + .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 + .../etc/systemd/system/pacman-init.service | 16 ++ .../profile/root-image/root/.automated_script.sh | 34 +++ configs/profile/root-image/root/.zlogin | 1 + .../root-image/root/customize_root_image.sh | 25 ++ configs/profile/root-image/root/network.html | 265 +++++++++++++++++++++ configs/profile/syslinux/parabolaiso.cfg | 11 + configs/profile/syslinux/parabolaiso_head.cfg | 25 ++ configs/profile/syslinux/parabolaiso_pxe32.cfg | 32 +++ configs/profile/syslinux/parabolaiso_pxe64.cfg | 32 +++ .../profile/syslinux/parabolaiso_pxe_32_inc.cfg | 3 + .../profile/syslinux/parabolaiso_pxe_both_inc.cfg | 4 + .../profile/syslinux/parabolaiso_pxe_choose.cfg | 11 + configs/profile/syslinux/parabolaiso_sys32.cfg | 9 + configs/profile/syslinux/parabolaiso_sys64.cfg | 9 + .../profile/syslinux/parabolaiso_sys_32_inc.cfg | 3 + .../profile/syslinux/parabolaiso_sys_both_inc.cfg | 4 + .../profile/syslinux/parabolaiso_sys_choose.cfg | 11 + configs/profile/syslinux/parabolaiso_tail.cfg | 27 +++ configs/profile/syslinux/splash.png | Bin 0 -> 45400 bytes configs/profile/syslinux/syslinux.cfg | 5 + configs/releng/aitab | 3 - configs/releng/build.sh | 254 -------------------- .../loader/entries/parabolaiso-x86_64-cd.conf | 4 - .../loader/entries/parabolaiso-x86_64-usb.conf | 4 - .../loader/entries/uefi-shell-v1-x86_64.conf | 2 - .../loader/entries/uefi-shell-v2-x86_64.conf | 2 - configs/releng/efiboot/loader/loader.conf | 2 - configs/releng/isolinux/isolinux.cfg | 5 - configs/releng/mkinitcpio.conf | 2 - configs/releng/packages.both | 56 ----- configs/releng/packages.i686 | 0 configs/releng/packages.x86_64 | 3 - .../pacman-key-4.0.3_unattended-keyring-init.patch | 32 --- configs/releng/pacman.conf | 100 -------- configs/releng/root-image/etc/fstab | 0 configs/releng/root-image/etc/hostname | 1 - configs/releng/root-image/etc/locale.conf | 1 - configs/releng/root-image/etc/pam.d/su | 6 - configs/releng/root-image/etc/sudoers.d/g_wheel | 1 - .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 - .../etc/systemd/system/pacman-init.service | 16 -- .../releng/root-image/root/.automated_script.sh | 34 --- configs/releng/root-image/root/.zlogin | 1 - .../releng/root-image/root/customize_root_image.sh | 25 -- configs/releng/root-image/root/network.html | 265 --------------------- configs/releng/syslinux/parabolaiso.cfg | 11 - configs/releng/syslinux/parabolaiso_head.cfg | 25 -- configs/releng/syslinux/parabolaiso_pxe32.cfg | 32 --- configs/releng/syslinux/parabolaiso_pxe64.cfg | 32 --- configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg | 3 - .../releng/syslinux/parabolaiso_pxe_both_inc.cfg | 4 - configs/releng/syslinux/parabolaiso_pxe_choose.cfg | 11 - configs/releng/syslinux/parabolaiso_sys32.cfg | 9 - configs/releng/syslinux/parabolaiso_sys64.cfg | 9 - configs/releng/syslinux/parabolaiso_sys_32_inc.cfg | 3 - .../releng/syslinux/parabolaiso_sys_both_inc.cfg | 4 - configs/releng/syslinux/parabolaiso_sys_choose.cfg | 11 - configs/releng/syslinux/parabolaiso_tail.cfg | 27 --- configs/releng/syslinux/splash.png | Bin 45400 -> 0 bytes configs/releng/syslinux/syslinux.cfg | 5 - 85 files changed, 1013 insertions(+), 1112 deletions(-) delete mode 100644 configs/baseline/aitab delete mode 100755 configs/baseline/build.sh delete mode 100644 configs/baseline/isolinux/isolinux.cfg delete mode 100644 configs/baseline/mkinitcpio.conf delete mode 100644 configs/baseline/syslinux/syslinux.cfg create mode 100644 configs/profile/aitab create mode 100755 configs/profile/build.sh create mode 100644 configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf create mode 100644 configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf create mode 100644 configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf create mode 100644 configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf create mode 100644 configs/profile/efiboot/loader/loader.conf create mode 100644 configs/profile/isolinux/isolinux.cfg create mode 100644 configs/profile/mkinitcpio.conf create mode 100644 configs/profile/packages.both create mode 100644 configs/profile/packages.i686 create mode 100644 configs/profile/packages.x86_64 create mode 100644 configs/profile/pacman-key-4.0.3_unattended-keyring-init.patch create mode 100644 configs/profile/pacman.conf create mode 100644 configs/profile/root-image/etc/fstab create mode 100644 configs/profile/root-image/etc/hostname create mode 100644 configs/profile/root-image/etc/locale.conf create mode 100644 configs/profile/root-image/etc/pam.d/su create mode 100644 configs/profile/root-image/etc/sudoers.d/g_wheel create mode 100644 configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount create mode 100644 configs/profile/root-image/etc/systemd/system/pacman-init.service create mode 100755 configs/profile/root-image/root/.automated_script.sh create mode 100644 configs/profile/root-image/root/.zlogin create mode 100755 configs/profile/root-image/root/customize_root_image.sh create mode 100644 configs/profile/root-image/root/network.html create mode 100644 configs/profile/syslinux/parabolaiso.cfg create mode 100644 configs/profile/syslinux/parabolaiso_head.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe32.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe64.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_choose.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys32.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys64.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_32_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_both_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_choose.cfg create mode 100644 configs/profile/syslinux/parabolaiso_tail.cfg create mode 100644 configs/profile/syslinux/splash.png create mode 100644 configs/profile/syslinux/syslinux.cfg delete mode 100644 configs/releng/aitab delete mode 100755 configs/releng/build.sh delete mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf delete mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf delete mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf delete mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf delete mode 100644 configs/releng/efiboot/loader/loader.conf delete mode 100644 configs/releng/isolinux/isolinux.cfg delete mode 100644 configs/releng/mkinitcpio.conf delete mode 100644 configs/releng/packages.both delete mode 100644 configs/releng/packages.i686 delete mode 100644 configs/releng/packages.x86_64 delete mode 100644 configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch delete mode 100644 configs/releng/pacman.conf delete mode 100644 configs/releng/root-image/etc/fstab delete mode 100644 configs/releng/root-image/etc/hostname delete mode 100644 configs/releng/root-image/etc/locale.conf delete mode 100644 configs/releng/root-image/etc/pam.d/su delete mode 100644 configs/releng/root-image/etc/sudoers.d/g_wheel delete mode 100644 configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount delete mode 100644 configs/releng/root-image/etc/systemd/system/pacman-init.service delete mode 100755 configs/releng/root-image/root/.automated_script.sh delete mode 100644 configs/releng/root-image/root/.zlogin delete mode 100755 configs/releng/root-image/root/customize_root_image.sh delete mode 100644 configs/releng/root-image/root/network.html delete mode 100644 configs/releng/syslinux/parabolaiso.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_head.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe32.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe64.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_choose.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys32.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys64.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_32_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_both_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_choose.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_tail.cfg delete mode 100644 configs/releng/syslinux/splash.png delete mode 100644 configs/releng/syslinux/syslinux.cfg diff --git a/configs/baseline/aitab b/configs/baseline/aitab deleted file mode 100644 index 234f61c..0000000 --- a/configs/baseline/aitab +++ /dev/null @@ -1,2 +0,0 @@ -# -root-image / %ARCH% gzip ext4 50% diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh deleted file mode 100755 index b016b45..0000000 --- a/configs/baseline/build.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -set -e -u - -iso_name=parabola -iso_label="PARABOLA_$(date +%Y%m)" -iso_version=$(date +%Y.%m.%d) -install_dir=parabola -arch=$(uname -m) -work_dir=work -out_dir=out - -script_path=$(readlink -f ${0%/*}) - -# Helper function to run make_*() only one time per architecture. -run_once() { - if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then - $1 - touch ${work_dir}/build.${1}_${arch} - fi -} - -# Base installation (root-image) -make_basefs() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" init -} - -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) -make_setup_mkinitcpio() { - cp /usr/lib/initcpio/hooks/parabolaiso ${work_dir}/root-image/usr/lib/initcpio/hooks - cp /usr/lib/initcpio/install/parabolaiso ${work_dir}/root-image/usr/lib/initcpio/install - cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-parabolaiso.conf - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run -} - -# Prepare ${install_dir}/boot/ -make_boot() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} - cp ${work_dir}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img - cp ${work_dir}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz -} - -# Prepare /${install_dir}/boot/syslinux -make_syslinux() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g; - s|%ARCH%|${arch}|g" ${script_path}/syslinux/syslinux.cfg > ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg - cp ${work_dir}/root-image/usr/lib/syslinux/menu.c32 ${work_dir}/iso/${install_dir}/boot/syslinux/ -} - -# Prepare /isolinux -make_isolinux() { - mkdir -p ${work_dir}/iso/isolinux - sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg - cp ${work_dir}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ -} - -# Process aitab -make_aitab() { - sed "s|%ARCH%|${arch}|g" ${script_path}/aitab > ${work_dir}/iso/${install_dir}/aitab -} - -# Build all filesystem images specified in aitab (.fs.sfs .sfs) -make_prepare() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" prepare -} - -# Build ISO -make_iso() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" checksum - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${arch}.iso" -} - -run_once make_basefs -run_once make_setup_mkinitcpio -run_once make_boot -run_once make_syslinux -run_once make_isolinux -run_once make_aitab -run_once make_prepare -run_once make_iso diff --git a/configs/baseline/isolinux/isolinux.cfg b/configs/baseline/isolinux/isolinux.cfg deleted file mode 100644 index 44b5684..0000000 --- a/configs/baseline/isolinux/isolinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/syslinux.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/baseline/mkinitcpio.conf b/configs/baseline/mkinitcpio.conf deleted file mode 100644 index 8cf3926..0000000 --- a/configs/baseline/mkinitcpio.conf +++ /dev/null @@ -1 +0,0 @@ -HOOKS="base udev parabolaiso block filesystems" diff --git a/configs/baseline/syslinux/syslinux.cfg b/configs/baseline/syslinux/syslinux.cfg deleted file mode 100644 index 4761da9..0000000 --- a/configs/baseline/syslinux/syslinux.cfg +++ /dev/null @@ -1,8 +0,0 @@ -UI boot/syslinux/menu.c32 -MENU TITLE Parabola GNU/Linux-libre - -LABEL parabola -MENU LABEL Parabola GNU/Linux-libre -LINUX boot/%ARCH%/vmlinuz -INITRD boot/%ARCH%/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/aitab b/configs/profile/aitab new file mode 100644 index 0000000..b7e9a17 --- /dev/null +++ b/configs/profile/aitab @@ -0,0 +1,3 @@ +# +root-image / i686 xz ext4 50% +root-image / x86_64 xz ext4 50% diff --git a/configs/profile/build.sh b/configs/profile/build.sh new file mode 100755 index 0000000..a310cfa --- /dev/null +++ b/configs/profile/build.sh @@ -0,0 +1,254 @@ +#!/bin/bash + +set -e -u + +iso_name=parabola +iso_label="PARABOLA_$(date +%Y%m)" +iso_version=$(date +%Y.%m.%d) +install_dir=parabola +work_dir=work +out_dir=out + +arch=$(uname -m) +verbose="" +pacman_conf=${work_dir}/pacman.conf +script_path=$(readlink -f ${0%/*}) + +_usage () +{ + echo "usage ${0} [options]" + echo + echo " General options:" + echo " -N Set an iso filename (prefix)" + echo " Default: ${iso_name}" + echo " -V Set an iso version (in filename)" + echo " Default: ${iso_version}" + echo " -L Set an iso label (disk label)" + echo " Default: ${iso_label}" + echo " -D Set an install_dir (directory inside iso)" + echo " Default: ${install_dir}" + echo " -w Set the working directory" + echo " Default: ${work_dir}" + echo " -o Set the output directory" + echo " Default: ${out_dir}" + echo " -v Enable verbose output" + echo " -h This help message" + exit ${1} +} + +# Helper function to run make_*() only one time per architecture. +run_once() { + if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then + $1 + touch ${work_dir}/build.${1}_${arch} + fi +} + +# Setup custom pacman.conf with current cache directories. +make_pacman_conf() { + local _cache_dirs + _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${pacman_conf} +} + +# Base installation, plus needed packages (root-image) +make_basefs() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd" install +} + +# Additional packages (root-image) +make_packages() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install +} + +# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) +make_setup_mkinitcpio() { + local _hook + for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do + cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + done + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/root-image/usr/lib/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/root-image/etc/mkinitcpio-parabolaiso.conf + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run +} + +# Customize installation (root-image) +make_customize_root_image() { + cp -af ${script_path}/root-image ${work_dir}/${arch} + + patch ${work_dir}/${arch}/root-image/usr/bin/pacman-key < ${script_path}/pacman-key-4.0.3_unattended-keyring-init.patch + + 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 +} + +# Prepare kernel/initramfs ${install_dir}/boot/ +make_boot() { + mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} + cp ${work_dir}/${arch}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz +} + +# Add other aditional/extra files to ${install_dir}/boot/ +make_boot_extra() { + cp ${work_dir}/${arch}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest + cp ${work_dir}/${arch}/root-image/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING +} + +# Prepare /${install_dir}/boot/syslinux +make_syslinux() { + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux + for _cfg in ${script_path}/syslinux/*.cfg; do + 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 ${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 + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt + gzip -c -9 ${work_dir}/${arch}/root-image/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz + gzip -c -9 ${work_dir}/${arch}/root-image/usr/lib/modules/*-LIBRE/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz +} + +# Prepare /isolinux +make_isolinux() { + mkdir -p ${work_dir}/iso/isolinux + sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ +} + +# Prepare /EFI +make_efi() { + mkdir -p ${work_dir}/iso/EFI/boot + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi + + mkdir -p ${work_dir}/iso/loader/entries + cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ + + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${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 + # 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 +} + +# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode +make_efiboot() { + mkdir -p ${work_dir}/iso/EFI/parabolaiso + truncate -s 31M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + + mkdir -p ${work_dir}/efiboot + mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot + + mkdir -p ${work_dir}/efiboot/EFI/parabolaiso + cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi + cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img + + mkdir -p ${work_dir}/efiboot/EFI/boot + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + + mkdir -p ${work_dir}/efiboot/loader/entries + cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ + + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf + + cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ + cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ + + umount ${work_dir}/efiboot +} + +# Copy aitab +make_aitab() { + mkdir -p ${work_dir}/iso/${install_dir} + cp ${script_path}/aitab ${work_dir}/iso/${install_dir}/aitab +} + +# Build all filesystem images specified in aitab (.fs.sfs .sfs) +make_prepare() { + cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare + rm -rf ${work_dir}/root-image + # rm -rf ${work_dir}/${arch}/root-image (if low space, this helps) +} + +# Build ISO +make_iso() { + mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum + mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" +} + +if [[ ${EUID} -ne 0 ]]; then + echo "This script must be run as root." + _usage 1 +fi + +if [[ ${arch} != x86_64 ]]; then + echo "This script needs to be run on x86_64" + _usage 1 +fi + +while getopts 'N:V:L:D:w:o:vh' arg; do + case "${arg}" in + N) iso_name="${OPTARG}" ;; + V) iso_version="${OPTARG}" ;; + L) iso_label="${OPTARG}" ;; + D) install_dir="${OPTARG}" ;; + w) work_dir="${OPTARG}" ;; + o) out_dir="${OPTARG}" ;; + v) verbose="-v" ;; + h) _usage 0 ;; + *) + echo "Invalid argument '${arg}'" + _usage 1 + ;; + esac +done + +mkdir -p ${work_dir} + +run_once make_pacman_conf + +# Do all stuff for each root-image +for arch in i686 x86_64; do + run_once make_basefs + run_once make_packages + run_once make_setup_mkinitcpio + run_once make_customize_root_image +done + +for arch in i686 x86_64; do + run_once make_boot +done + +# Do all stuff for "iso" +run_once make_boot_extra +run_once make_syslinux +run_once make_isolinux +run_once make_efi +run_once make_efiboot + +run_once make_aitab + +for arch in i686 x86_64; do + run_once make_prepare +done + +run_once make_iso diff --git a/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf new file mode 100644 index 0000000..057e14f --- /dev/null +++ b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD +linux /EFI/parabolaiso/vmlinuz.efi +initrd /EFI/parabolaiso/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf new file mode 100644 index 0000000..3863799 --- /dev/null +++ b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz +initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf new file mode 100644 index 0000000..9597ff2 --- /dev/null +++ b/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf @@ -0,0 +1,2 @@ +title UEFI Shell x86_64 v1 +efi /EFI/shellx64_v1.efi diff --git a/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf new file mode 100644 index 0000000..0dde77a --- /dev/null +++ b/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf @@ -0,0 +1,2 @@ +title UEFI Shell x86_64 v2 +efi /EFI/shellx64_v2.efi diff --git a/configs/profile/efiboot/loader/loader.conf b/configs/profile/efiboot/loader/loader.conf new file mode 100644 index 0000000..ba02c50 --- /dev/null +++ b/configs/profile/efiboot/loader/loader.conf @@ -0,0 +1,2 @@ +timeout 3 +default parabolaiso-x86_64 diff --git a/configs/profile/isolinux/isolinux.cfg b/configs/profile/isolinux/isolinux.cfg new file mode 100644 index 0000000..3ee24e0 --- /dev/null +++ b/configs/profile/isolinux/isolinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg + APPEND /%INSTALL_DIR%/ diff --git a/configs/profile/mkinitcpio.conf b/configs/profile/mkinitcpio.conf new file mode 100644 index 0000000..f980765 --- /dev/null +++ b/configs/profile/mkinitcpio.conf @@ -0,0 +1,2 @@ +HOOKS="base udev timestamp memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block pcmcia filesystems keyboard" +COMPRESSION="xz" diff --git a/configs/profile/packages.both b/configs/profile/packages.both new file mode 100644 index 0000000..ade79cf --- /dev/null +++ b/configs/profile/packages.both @@ -0,0 +1,56 @@ +arch-install-scripts +btrfs-progs +crda +darkhttpd +ddrescue +dhclient +dialog +dmraid +dnsmasq +dnsutils +dosfstools +elinks +ethtool +fsarchiver +gnu-netcat +gptfdisk +grml-zsh-config +grub-bios +haveged +hdparm +irssi +lftp +lilo +linux-atm +linux-libre-kmod-alx +lynx +mc +mtools +nfs-utils +nilfs-utils +nmap +ntfs-3g +ntp +openconnect +openssh +openvpn +partclone +parted +partimage +pptpclient +rfkill +rp-pppoe +rsync +smartmontools +sudo +tcpdump +testdisk +usb_modeswitch +vpnc +wget +wireless_tools +wpa_actiond +zile +wvdial +xl2tpd +zsh diff --git a/configs/profile/packages.i686 b/configs/profile/packages.i686 new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile/packages.x86_64 b/configs/profile/packages.x86_64 new file mode 100644 index 0000000..aceb6cf --- /dev/null +++ b/configs/profile/packages.x86_64 @@ -0,0 +1,3 @@ +grub-efi-x86_64 +gummiboot +refind-efi diff --git a/configs/profile/pacman-key-4.0.3_unattended-keyring-init.patch b/configs/profile/pacman-key-4.0.3_unattended-keyring-init.patch new file mode 100644 index 0000000..0a5117f --- /dev/null +++ b/configs/profile/pacman-key-4.0.3_unattended-keyring-init.patch @@ -0,0 +1,32 @@ +Author: Pierre Schmitz + +* pacman-key: Use lsign_keys function in --populate +* pacman-key: reduce verbosity of --populate + +--- pacman-key 2012-07-10 18:45:32.000000000 -0300 ++++ pacman-key 2012-07-18 16:38:18.264110004 -0300 +@@ -376,7 +376,7 @@ + # Add keys from requested keyrings + for keyring in "${KEYRINGIDS[@]}"; do + msg "$(gettext "Appending keys from %s.gpg...")" "$keyring" +- "${GPG_PACMAN[@]}" --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" ++ "${GPG_PACMAN[@]}" --quiet --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" + done + + # Read the trusted key IDs to an array. Because this is an ownertrust +@@ -403,12 +403,13 @@ + msg "$(gettext "Locally signing trusted keys in keyring...")" + for key_id in "${!trusted_ids[@]}"; do + msg2 "$(gettext "Locally signing key %s...")" "${key_id}" +- "${GPG_PACMAN[@]}" --quiet --lsign-key "${key_id}" ++ KEYIDS=("${key_id}") ++ lsign_keys + done + msg "$(gettext "Importing owner trust values...")" + for keyring in "${KEYRINGIDS[@]}"; do + if [[ -f "${KEYRING_IMPORT_DIR}/${keyring}-trusted" ]]; then +- "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" ++ "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" 2>/dev/null + fi + done + fi diff --git a/configs/profile/pacman.conf b/configs/profile/pacman.conf new file mode 100644 index 0000000..108260d --- /dev/null +++ b/configs/profile/pacman.conf @@ -0,0 +1,100 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +HoldPkg = pacman glibc +# If upgrades are available for these packages they will be asked for first +SyncFirst = pacman +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#UseDelta +#TotalDownload +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +#SigLevel = Optional TrustedOnly + +# 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`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# 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] +SigLevel = PackageRequired +Include = /etc/pacman.d/mirrorlist + +#[testing] +#SigLevel = PackageRequired +#Include = /etc/pacman.d/mirrorlist + +[core] +SigLevel = PackageRequired +Include = /etc/pacman.d/mirrorlist + +[extra] +SigLevel = PackageRequired +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#SigLevel = PackageRequired +#Include = /etc/pacman.d/mirrorlist + +[community] +SigLevel = PackageRequired +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + diff --git a/configs/profile/root-image/etc/fstab b/configs/profile/root-image/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile/root-image/etc/hostname b/configs/profile/root-image/etc/hostname new file mode 100644 index 0000000..8aaf41b --- /dev/null +++ b/configs/profile/root-image/etc/hostname @@ -0,0 +1 @@ +parabolaiso diff --git a/configs/profile/root-image/etc/locale.conf b/configs/profile/root-image/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/profile/root-image/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/profile/root-image/etc/pam.d/su b/configs/profile/root-image/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/profile/root-image/etc/pam.d/su @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth sufficient pam_wheel.so trust use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/configs/profile/root-image/etc/sudoers.d/g_wheel b/configs/profile/root-image/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/profile/root-image/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 0000000..4eab551 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -0,0 +1,8 @@ +[Unit] +Description=Temporary /etc/pacman.d/gnupg directory + +[Mount] +What=tmpfs +Where=/etc/pacman.d/gnupg +Type=tmpfs +Options=mode=0755 diff --git a/configs/profile/root-image/etc/systemd/system/pacman-init.service b/configs/profile/root-image/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..3414ebc --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/pacman-init.service @@ -0,0 +1,16 @@ +[Unit] +Description=Initializes Pacman keyring +Wants=haveged.service +After=haveged.service +Requires=etc-pacman.d-gnupg.mount +After=etc-pacman.d-gnupg.mount + +[Service] +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/.automated_script.sh b/configs/profile/root-image/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/profile/root-image/root/.automated_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +script_cmdline () +{ + local param + for param in $(< /proc/cmdline); do + case "${param}" in + script=*) echo "${param##*=}" ; return 0 ;; + esac + done +} + +automated_script () +{ + local script rt + script="$(script_cmdline)" + if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then + if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then + wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null + rt=$? + else + cp "${script}" /tmp/startup_script + rt=$? + fi + if [[ ${rt} -eq 0 ]]; then + chmod +x /tmp/startup_script + /tmp/startup_script + fi + fi +} + +if [[ $(tty) == "/dev/tty1" ]]; then + automated_script +fi diff --git a/configs/profile/root-image/root/.zlogin b/configs/profile/root-image/root/.zlogin new file mode 100644 index 0000000..f598e43 --- /dev/null +++ b/configs/profile/root-image/root/.zlogin @@ -0,0 +1 @@ +~/.automated_script.sh diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh new file mode 100755 index 0000000..50c5131 --- /dev/null +++ b/configs/profile/root-image/root/customize_root_image.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +set -e -u + +sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen +locale-gen + +ln -sf /usr/share/zoneinfo/UTC /etc/localtime + +usermod -s /bin/zsh root +cp -aT /etc/skel/ /root/ + +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/zsh parabola + +chmod 750 /etc/sudoers.d +chmod 440 /etc/sudoers.d/g_wheel + +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist + +sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#; + s#\(^Alias=getty.target.wants/\).\+#\1autologin@tty1.service#' \ + /usr/lib/systemd/system/getty@.service > /etc/systemd/system/autologin@.service + +systemctl disable getty@tty1.service +systemctl enable multi-user.target pacman-init.service autologin@.service dhcpcd.service 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 @@ + + + +

Start installing - Establish an internet connection

+

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 Installation Guide (online link) can be followed to complete the installation.

+ +

Installation

+

You are now presented with a shell prompt, automatically logged in as root. +

+

Change the language

+
Tip: 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.
+

By default, the keyboard layout is set to us. If you have a non-US keyboard layout, run: +

+
# loadkeys layout
+
+

...where layout can be fr, uk, be-latin1, etc. See here for a comprehensive list. +

+

The font should also be changed, because most languages use more glyphs than the 26 letter English alphabet. 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 exactly as you see it: +

+
# setfont Lat2-Terminus16
+
+

By default, the language is set to English (US). If you would like to change the language for the install process (German, in this example), remove the # in front of the locale you want from /etc/locale.gen, along with English (US). Please choose the UTF-8 entry. +

+

Use Ctrl+X to exit, and when prompted to save changes, press Y and Enter to use the same filename. +

+
# nano /etc/locale.gen
+
en_US.UTF-8 UTF-8
+de_DE.UTF-8 UTF-8# locale-gen
+# export LANG=de_DE.UTF-8
+
+

Remember, LAlt+LShift activates and deactivates the keymap. +

+

Establish an internet connection

+
Warning: 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.
+

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 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames . +

+

The dhcpcd 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... +

+
# ping -c 3 www.google.com
+
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
+

If you get a ping: unknown host 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. +

+

Otherwise, move on to Prepare the storage drive. +

+

Wired

+

Follow this procedure if you need to set up a wired connection via a static IP address. +

+

First, identify the name of your ethernet interface. +

+
# ip link
+
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
+

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: +

+
# iwconfig
+
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.
+

In this example, neither enp2s0f0 nor the loopback device have wireless extensions, meaning enp2s0f0 is our ethernet interface. +

+

You also need to know these settings: +

+
    +
  • Static IP address. +
  • +
  • Subnet mask. +
  • +
  • Gateway's IP address. +
  • +
  • Name servers' (DNS) IP addresses. +
  • +
  • Domain name (unless you're on a local LAN, in which case you can make it up). +
  • +
+

Activate the connected Ethernet interface (e.g. enp2s0f0): +

+
# ip link set enp2s0f0 up
+
+

Add the address: +

+
# ip addr add <ip address>/<subnetmask> dev <interface>
+
+

For example: +

+
# ip addr add 192.168.1.2/24 dev enp2s0f0
+
+

For more options, run man ip. +

+

Add your gateway like this, substituting your own gateway's IP address: +

+
# ip route add default via <ip address>
+
+

For example: +

+
# ip route add default via 192.168.1.1
+
+

Edit resolv.conf, substituting your name servers' IP addresses and your local domain name: +

+
# nano /etc/resolv.conf
+
nameserver 61.23.173.5
+nameserver 61.95.849.8
+search example.com
+
Note: Currently, you may include a maximum of 3 nameserver lines.
+

You should now have a working network connection. If you do not, check the detailed Network Configuration page. +

+

Wireless

+

Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process. +

+

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 iwconfig to discover the name of your wireless interface. +

+

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 executed at this point in the installation will initialize your wireless hardware for use in the live environment of the installation media. These steps (or some other form of wireless management) must be repeated from the actual installed system after booting into it. +

+

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. +

+
Note: The following examples use wlp3s0 for the interface and linksys for the ESSID. Remember to change these values according to your setup.
+

The basic procedure will be: +

+
    +
  • Identify the wireless interface: +
  • +
+
# lspci | grep -i net
+
+

Or, if using a USB adapter: +

+
# lsusb
+
+
    +
  • Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with iwconfig: +
  • +
+
Note: 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 Wireless Setup for more detailed information.
+
# iwconfig
+
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.
+

In this example, wlp3s0 is the available wireless interface. +

+
    +
  • Bring the interface up with: +
  • +
+
# ip link set wlp3s0 up
+
+

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: +

+
# ip link set wlp3s0 up
+
SIOCSIFFLAGS: No such file or directory
+

If unsure, invoke dmesg to query the kernel log for a firmware request from the wireless chipset. +

+

Example output from an Intel chipset which requires and has requested firmware from the kernel at boot: +

+
# dmesg | grep firmware
+
firmware: requesting iwlwifi-5000-1.ucode
+

If there is no output, it may be concluded that the system's wireless chipset does not require firmware. +

+
Warning: Wireless chipset firmware packages (for cards which require them) are pre-installed under /usr/lib/firmware in the live environment (on CD/USB stick) but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it! Package installation is covered later in this guide. Ensure installation of both your wireless module and firmware before rebooting! See Wireless Setup if you are unsure about the requirement of corresponding firmware installation for your particular chipset.
+

Next, use netcfg's wifi-menu to connect to a network: +

+
# wifi-menu wlp3s0
+
+
Warning: 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.
+

You should now have a working network connection. If you do not, check the detailed Wireless Setup page. +

+

xDSL (PPPoE), analog modem or ISDN

+

If you have a router in bridge mode, run: +

+
# pppoe-setup
+
+
    +
  • Type in the username that the ISP provided you with. +
  • +
  • Press Enter for "eth0". +
  • +
  • Press Enter for "no", so that it stays up continuously. +
  • +
  • Type server (since this is usually the case). +
  • +
  • Press 1 for a firewall. +
  • +
  • Type in the password that the ISP provided you with. +
  • +
  • Press Y at the end. +
  • +
+

To use these settings and connect to your ISP, run: +

+
# pppoe-start
+
+

You may also need to adjust your resolv.conf: +

+
# echo nameserver 8.8.8.8 > /etc/resolv.conf
+
+

If you have a dial-up or ISDN connection, see Direct Modem Connection. +

+

Behind a proxy server

+

If you are behind a proxy server, you will need to export the http_proxy and ftp_proxy environment variables. See Proxy settings for more information.

+ + + + + + + + diff --git a/configs/profile/syslinux/parabolaiso.cfg b/configs/profile/syslinux/parabolaiso.cfg new file mode 100644 index 0000000..473e245 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 boot/syslinux/whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG boot/syslinux/parabolaiso_pxe_choose.cfg + +LABEL sys +CONFIG boot/syslinux/parabolaiso_sys_choose.cfg diff --git a/configs/profile/syslinux/parabolaiso_head.cfg b/configs/profile/syslinux/parabolaiso_head.cfg new file mode 100644 index 0000000..278255d --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_head.cfg @@ -0,0 +1,25 @@ +SERIAL 0 38400 +UI boot/syslinux/vesamenu.c32 +MENU TITLE Parabola GNU/Linux-libre +MENU BACKGROUND boot/syslinux/splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/profile/syslinux/parabolaiso_pxe32.cfg b/configs/profile/syslinux/parabolaiso_pxe32.cfg new file mode 100644 index 0000000..f61664e --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe32.cfg @@ -0,0 +1,32 @@ +LABEL parabola32_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL parabola32_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +IPAPPEND 3 + +LABEL parabola32_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/profile/syslinux/parabolaiso_pxe64.cfg b/configs/profile/syslinux/parabolaiso_pxe64.cfg new file mode 100644 index 0000000..db7a58a --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe64.cfg @@ -0,0 +1,32 @@ +LABEL parabola64_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL parabola64_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +IPAPPEND 3 + +LABEL parabola64_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg new file mode 100644 index 0000000..ba514cb --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg new file mode 100644 index 0000000..9396d9b --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe64.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_pxe_choose.cfg b/configs/profile/syslinux/parabolaiso_pxe_choose.cfg new file mode 100644 index 0000000..a3a768f --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_pxe_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_pxe_32_inc.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys32.cfg b/configs/profile/syslinux/parabolaiso_sys32.cfg new file mode 100644 index 0000000..6aeeb69 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys32.cfg @@ -0,0 +1,9 @@ +LABEL parabola32 +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium. It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/syslinux/parabolaiso_sys64.cfg b/configs/profile/syslinux/parabolaiso_sys64.cfg new file mode 100644 index 0000000..7c256bb --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys64.cfg @@ -0,0 +1,9 @@ +LABEL parabola64 +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium. It allows you to install Parabola GNU/Linux-libre or +perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg b/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg new file mode 100644 index 0000000..c641201 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg b/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg new file mode 100644 index 0000000..9dfb87f --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys64.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys_choose.cfg b/configs/profile/syslinux/parabolaiso_sys_choose.cfg new file mode 100644 index 0000000..d436062 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_sys_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_sys_32_inc.cfg diff --git a/configs/profile/syslinux/parabolaiso_tail.cfg b/configs/profile/syslinux/parabolaiso_tail.cfg new file mode 100644 index 0000000..a55548c --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_tail.cfg @@ -0,0 +1,27 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. Press TAB to edit the disk and partition +number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 boot/syslinux/chain.c32 +APPEND hd0 0 + +# http://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +LINUX boot/memtest + +# http://hdt-project.org/ +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 boot/syslinux/hdt.c32 +APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz + +LABEL reboot +MENU LABEL Reboot +COM32 boot/syslinux/reboot.c32 + +LABEL poweroff +MENU LABEL Power Off +COMBOOT boot/syslinux/poweroff.com diff --git a/configs/profile/syslinux/splash.png b/configs/profile/syslinux/splash.png new file mode 100644 index 0000000..64b959a Binary files /dev/null and b/configs/profile/syslinux/splash.png differ diff --git a/configs/profile/syslinux/syslinux.cfg b/configs/profile/syslinux/syslinux.cfg new file mode 100644 index 0000000..0869ed2 --- /dev/null +++ b/configs/profile/syslinux/syslinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG parabolaiso.cfg + APPEND ../../ diff --git a/configs/releng/aitab b/configs/releng/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/releng/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -root-image / i686 xz ext4 50% -root-image / x86_64 xz ext4 50% diff --git a/configs/releng/build.sh b/configs/releng/build.sh deleted file mode 100755 index a310cfa..0000000 --- a/configs/releng/build.sh +++ /dev/null @@ -1,254 +0,0 @@ -#!/bin/bash - -set -e -u - -iso_name=parabola -iso_label="PARABOLA_$(date +%Y%m)" -iso_version=$(date +%Y.%m.%d) -install_dir=parabola -work_dir=work -out_dir=out - -arch=$(uname -m) -verbose="" -pacman_conf=${work_dir}/pacman.conf -script_path=$(readlink -f ${0%/*}) - -_usage () -{ - echo "usage ${0} [options]" - echo - echo " General options:" - echo " -N Set an iso filename (prefix)" - echo " Default: ${iso_name}" - echo " -V Set an iso version (in filename)" - echo " Default: ${iso_version}" - echo " -L Set an iso label (disk label)" - echo " Default: ${iso_label}" - echo " -D Set an install_dir (directory inside iso)" - echo " Default: ${install_dir}" - echo " -w Set the working directory" - echo " Default: ${work_dir}" - echo " -o Set the output directory" - echo " Default: ${out_dir}" - echo " -v Enable verbose output" - echo " -h This help message" - exit ${1} -} - -# Helper function to run make_*() only one time per architecture. -run_once() { - if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then - $1 - touch ${work_dir}/build.${1}_${arch} - fi -} - -# Setup custom pacman.conf with current cache directories. -make_pacman_conf() { - local _cache_dirs - _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) - sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${pacman_conf} -} - -# Base installation, plus needed packages (root-image) -make_basefs() { - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" init - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd" install -} - -# Additional packages (root-image) -make_packages() { - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install -} - -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) -make_setup_mkinitcpio() { - local _hook - for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do - cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - done - cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/root-image/usr/lib/initcpio - cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/root-image/etc/mkinitcpio-parabolaiso.conf - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run -} - -# Customize installation (root-image) -make_customize_root_image() { - cp -af ${script_path}/root-image ${work_dir}/${arch} - - patch ${work_dir}/${arch}/root-image/usr/bin/pacman-key < ${script_path}/pacman-key-4.0.3_unattended-keyring-init.patch - - 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 -} - -# Prepare kernel/initramfs ${install_dir}/boot/ -make_boot() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} - cp ${work_dir}/${arch}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img - cp ${work_dir}/${arch}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz -} - -# Add other aditional/extra files to ${install_dir}/boot/ -make_boot_extra() { - cp ${work_dir}/${arch}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest - cp ${work_dir}/${arch}/root-image/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING -} - -# Prepare /${install_dir}/boot/syslinux -make_syslinux() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux - for _cfg in ${script_path}/syslinux/*.cfg; do - 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 ${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 - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt - gzip -c -9 ${work_dir}/${arch}/root-image/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz - gzip -c -9 ${work_dir}/${arch}/root-image/usr/lib/modules/*-LIBRE/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz -} - -# Prepare /isolinux -make_isolinux() { - mkdir -p ${work_dir}/iso/isolinux - sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ -} - -# Prepare /EFI -make_efi() { - mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi - - mkdir -p ${work_dir}/iso/loader/entries - cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ - - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ - ${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 - # 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 -} - -# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode -make_efiboot() { - mkdir -p ${work_dir}/iso/EFI/parabolaiso - truncate -s 31M ${work_dir}/iso/EFI/parabolaiso/efiboot.img - mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img - - mkdir -p ${work_dir}/efiboot - mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot - - mkdir -p ${work_dir}/efiboot/EFI/parabolaiso - cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi - cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img - - mkdir -p ${work_dir}/efiboot/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi - - mkdir -p ${work_dir}/efiboot/loader/entries - cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ - - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ - ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf - - cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ - cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ - - umount ${work_dir}/efiboot -} - -# Copy aitab -make_aitab() { - mkdir -p ${work_dir}/iso/${install_dir} - cp ${script_path}/aitab ${work_dir}/iso/${install_dir}/aitab -} - -# Build all filesystem images specified in aitab (.fs.sfs .sfs) -make_prepare() { - cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare - rm -rf ${work_dir}/root-image - # rm -rf ${work_dir}/${arch}/root-image (if low space, this helps) -} - -# Build ISO -make_iso() { - mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum - mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" -} - -if [[ ${EUID} -ne 0 ]]; then - echo "This script must be run as root." - _usage 1 -fi - -if [[ ${arch} != x86_64 ]]; then - echo "This script needs to be run on x86_64" - _usage 1 -fi - -while getopts 'N:V:L:D:w:o:vh' arg; do - case "${arg}" in - N) iso_name="${OPTARG}" ;; - V) iso_version="${OPTARG}" ;; - L) iso_label="${OPTARG}" ;; - D) install_dir="${OPTARG}" ;; - w) work_dir="${OPTARG}" ;; - o) out_dir="${OPTARG}" ;; - v) verbose="-v" ;; - h) _usage 0 ;; - *) - echo "Invalid argument '${arg}'" - _usage 1 - ;; - esac -done - -mkdir -p ${work_dir} - -run_once make_pacman_conf - -# Do all stuff for each root-image -for arch in i686 x86_64; do - run_once make_basefs - run_once make_packages - run_once make_setup_mkinitcpio - run_once make_customize_root_image -done - -for arch in i686 x86_64; do - run_once make_boot -done - -# Do all stuff for "iso" -run_once make_boot_extra -run_once make_syslinux -run_once make_isolinux -run_once make_efi -run_once make_efiboot - -run_once make_aitab - -for arch in i686 x86_64; do - run_once make_prepare -done - -run_once make_iso diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf deleted file mode 100644 index 057e14f..0000000 --- a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD -linux /EFI/parabolaiso/vmlinuz.efi -initrd /EFI/parabolaiso/parabolaiso.img -options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf deleted file mode 100644 index 3863799..0000000 --- a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz -initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img -options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf deleted file mode 100644 index 9597ff2..0000000 --- a/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf +++ /dev/null @@ -1,2 +0,0 @@ -title UEFI Shell x86_64 v1 -efi /EFI/shellx64_v1.efi diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf deleted file mode 100644 index 0dde77a..0000000 --- a/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf +++ /dev/null @@ -1,2 +0,0 @@ -title UEFI Shell x86_64 v2 -efi /EFI/shellx64_v2.efi diff --git a/configs/releng/efiboot/loader/loader.conf b/configs/releng/efiboot/loader/loader.conf deleted file mode 100644 index ba02c50..0000000 --- a/configs/releng/efiboot/loader/loader.conf +++ /dev/null @@ -1,2 +0,0 @@ -timeout 3 -default parabolaiso-x86_64 diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg deleted file mode 100644 index 3ee24e0..0000000 --- a/configs/releng/isolinux/isolinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf deleted file mode 100644 index f980765..0000000 --- a/configs/releng/mkinitcpio.conf +++ /dev/null @@ -1,2 +0,0 @@ -HOOKS="base udev timestamp memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block pcmcia filesystems keyboard" -COMPRESSION="xz" diff --git a/configs/releng/packages.both b/configs/releng/packages.both deleted file mode 100644 index ade79cf..0000000 --- a/configs/releng/packages.both +++ /dev/null @@ -1,56 +0,0 @@ -arch-install-scripts -btrfs-progs -crda -darkhttpd -ddrescue -dhclient -dialog -dmraid -dnsmasq -dnsutils -dosfstools -elinks -ethtool -fsarchiver -gnu-netcat -gptfdisk -grml-zsh-config -grub-bios -haveged -hdparm -irssi -lftp -lilo -linux-atm -linux-libre-kmod-alx -lynx -mc -mtools -nfs-utils -nilfs-utils -nmap -ntfs-3g -ntp -openconnect -openssh -openvpn -partclone -parted -partimage -pptpclient -rfkill -rp-pppoe -rsync -smartmontools -sudo -tcpdump -testdisk -usb_modeswitch -vpnc -wget -wireless_tools -wpa_actiond -zile -wvdial -xl2tpd -zsh diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686 deleted file mode 100644 index e69de29..0000000 diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 deleted file mode 100644 index aceb6cf..0000000 --- a/configs/releng/packages.x86_64 +++ /dev/null @@ -1,3 +0,0 @@ -grub-efi-x86_64 -gummiboot -refind-efi diff --git a/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch b/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch deleted file mode 100644 index 0a5117f..0000000 --- a/configs/releng/pacman-key-4.0.3_unattended-keyring-init.patch +++ /dev/null @@ -1,32 +0,0 @@ -Author: Pierre Schmitz - -* pacman-key: Use lsign_keys function in --populate -* pacman-key: reduce verbosity of --populate - ---- pacman-key 2012-07-10 18:45:32.000000000 -0300 -+++ pacman-key 2012-07-18 16:38:18.264110004 -0300 -@@ -376,7 +376,7 @@ - # Add keys from requested keyrings - for keyring in "${KEYRINGIDS[@]}"; do - msg "$(gettext "Appending keys from %s.gpg...")" "$keyring" -- "${GPG_PACMAN[@]}" --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" -+ "${GPG_PACMAN[@]}" --quiet --import "${KEYRING_IMPORT_DIR}/${keyring}.gpg" - done - - # Read the trusted key IDs to an array. Because this is an ownertrust -@@ -403,12 +403,13 @@ - msg "$(gettext "Locally signing trusted keys in keyring...")" - for key_id in "${!trusted_ids[@]}"; do - msg2 "$(gettext "Locally signing key %s...")" "${key_id}" -- "${GPG_PACMAN[@]}" --quiet --lsign-key "${key_id}" -+ KEYIDS=("${key_id}") -+ lsign_keys - done - msg "$(gettext "Importing owner trust values...")" - for keyring in "${KEYRINGIDS[@]}"; do - if [[ -f "${KEYRING_IMPORT_DIR}/${keyring}-trusted" ]]; then -- "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" -+ "${GPG_PACMAN[@]}" --import-ownertrust "${KEYRING_IMPORT_DIR}/${keyring}-trusted" 2>/dev/null - fi - done - fi diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf deleted file mode 100644 index 108260d..0000000 --- a/configs/releng/pacman.conf +++ /dev/null @@ -1,100 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -HoldPkg = pacman glibc -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman -#XferCommand = /usr/bin/curl -C - -f %u > %o -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -#UseDelta -#TotalDownload -# We cannot check disk space from within a chroot environment -#CheckSpace -#VerbosePkgLists - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -#SigLevel = Optional TrustedOnly - -# 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`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# 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] -SigLevel = PackageRequired -Include = /etc/pacman.d/mirrorlist - -#[testing] -#SigLevel = PackageRequired -#Include = /etc/pacman.d/mirrorlist - -[core] -SigLevel = PackageRequired -Include = /etc/pacman.d/mirrorlist - -[extra] -SigLevel = PackageRequired -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -#SigLevel = PackageRequired -#Include = /etc/pacman.d/mirrorlist - -[community] -SigLevel = PackageRequired -Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs - diff --git a/configs/releng/root-image/etc/fstab b/configs/releng/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/releng/root-image/etc/hostname b/configs/releng/root-image/etc/hostname deleted file mode 100644 index 8aaf41b..0000000 --- a/configs/releng/root-image/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -parabolaiso diff --git a/configs/releng/root-image/etc/locale.conf b/configs/releng/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/releng/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/releng/root-image/etc/pam.d/su b/configs/releng/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/releng/root-image/etc/pam.d/su +++ /dev/null @@ -1,6 +0,0 @@ -#%PAM-1.0 -auth sufficient pam_rootok.so -auth sufficient pam_wheel.so trust use_uid -auth required pam_unix.so -account required pam_unix.so -session required pam_unix.so diff --git a/configs/releng/root-image/etc/sudoers.d/g_wheel b/configs/releng/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/releng/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount deleted file mode 100644 index 4eab551..0000000 --- a/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Temporary /etc/pacman.d/gnupg directory - -[Mount] -What=tmpfs -Where=/etc/pacman.d/gnupg -Type=tmpfs -Options=mode=0755 diff --git a/configs/releng/root-image/etc/systemd/system/pacman-init.service b/configs/releng/root-image/etc/systemd/system/pacman-init.service deleted file mode 100644 index 3414ebc..0000000 --- a/configs/releng/root-image/etc/systemd/system/pacman-init.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=Initializes Pacman keyring -Wants=haveged.service -After=haveged.service -Requires=etc-pacman.d-gnupg.mount -After=etc-pacman.d-gnupg.mount - -[Service] -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/releng/root-image/root/.automated_script.sh b/configs/releng/root-image/root/.automated_script.sh deleted file mode 100755 index fb106da..0000000 --- a/configs/releng/root-image/root/.automated_script.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -script_cmdline () -{ - local param - for param in $(< /proc/cmdline); do - case "${param}" in - script=*) echo "${param##*=}" ; return 0 ;; - esac - done -} - -automated_script () -{ - local script rt - script="$(script_cmdline)" - if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then - if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then - wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null - rt=$? - else - cp "${script}" /tmp/startup_script - rt=$? - fi - if [[ ${rt} -eq 0 ]]; then - chmod +x /tmp/startup_script - /tmp/startup_script - fi - fi -} - -if [[ $(tty) == "/dev/tty1" ]]; then - automated_script -fi diff --git a/configs/releng/root-image/root/.zlogin b/configs/releng/root-image/root/.zlogin deleted file mode 100644 index f598e43..0000000 --- a/configs/releng/root-image/root/.zlogin +++ /dev/null @@ -1 +0,0 @@ -~/.automated_script.sh diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh deleted file mode 100755 index 50c5131..0000000 --- a/configs/releng/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -e -u - -sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen -locale-gen - -ln -sf /usr/share/zoneinfo/UTC /etc/localtime - -usermod -s /bin/zsh root -cp -aT /etc/skel/ /root/ - -useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /bin/zsh parabola - -chmod 750 /etc/sudoers.d -chmod 440 /etc/sudoers.d/g_wheel - -sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist - -sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#; - s#\(^Alias=getty.target.wants/\).\+#\1autologin@tty1.service#' \ - /usr/lib/systemd/system/getty@.service > /etc/systemd/system/autologin@.service - -systemctl disable getty@tty1.service -systemctl enable multi-user.target pacman-init.service autologin@.service dhcpcd.service diff --git a/configs/releng/root-image/root/network.html b/configs/releng/root-image/root/network.html deleted file mode 100644 index b6bd5cc..0000000 --- a/configs/releng/root-image/root/network.html +++ /dev/null @@ -1,265 +0,0 @@ - - - -

Start installing - Establish an internet connection

-

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 Installation Guide (online link) can be followed to complete the installation.

- -

Installation

-

You are now presented with a shell prompt, automatically logged in as root. -

-

Change the language

-
Tip: 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.
-

By default, the keyboard layout is set to us. If you have a non-US keyboard layout, run: -

-
# loadkeys layout
-
-

...where layout can be fr, uk, be-latin1, etc. See here for a comprehensive list. -

-

The font should also be changed, because most languages use more glyphs than the 26 letter English alphabet. 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 exactly as you see it: -

-
# setfont Lat2-Terminus16
-
-

By default, the language is set to English (US). If you would like to change the language for the install process (German, in this example), remove the # in front of the locale you want from /etc/locale.gen, along with English (US). Please choose the UTF-8 entry. -

-

Use Ctrl+X to exit, and when prompted to save changes, press Y and Enter to use the same filename. -

-
# nano /etc/locale.gen
-
en_US.UTF-8 UTF-8
-de_DE.UTF-8 UTF-8# locale-gen
-# export LANG=de_DE.UTF-8
-
-

Remember, LAlt+LShift activates and deactivates the keymap. -

-

Establish an internet connection

-
Warning: 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.
-

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 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames . -

-

The dhcpcd 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... -

-
# ping -c 3 www.google.com
-
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
-

If you get a ping: unknown host 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. -

-

Otherwise, move on to Prepare the storage drive. -

-

Wired

-

Follow this procedure if you need to set up a wired connection via a static IP address. -

-

First, identify the name of your ethernet interface. -

-
# ip link
-
1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
-

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: -

-
# iwconfig
-
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.
-

In this example, neither enp2s0f0 nor the loopback device have wireless extensions, meaning enp2s0f0 is our ethernet interface. -

-

You also need to know these settings: -

-
    -
  • Static IP address. -
  • -
  • Subnet mask. -
  • -
  • Gateway's IP address. -
  • -
  • Name servers' (DNS) IP addresses. -
  • -
  • Domain name (unless you're on a local LAN, in which case you can make it up). -
  • -
-

Activate the connected Ethernet interface (e.g. enp2s0f0): -

-
# ip link set enp2s0f0 up
-
-

Add the address: -

-
# ip addr add <ip address>/<subnetmask> dev <interface>
-
-

For example: -

-
# ip addr add 192.168.1.2/24 dev enp2s0f0
-
-

For more options, run man ip. -

-

Add your gateway like this, substituting your own gateway's IP address: -

-
# ip route add default via <ip address>
-
-

For example: -

-
# ip route add default via 192.168.1.1
-
-

Edit resolv.conf, substituting your name servers' IP addresses and your local domain name: -

-
# nano /etc/resolv.conf
-
nameserver 61.23.173.5
-nameserver 61.95.849.8
-search example.com
-
Note: Currently, you may include a maximum of 3 nameserver lines.
-

You should now have a working network connection. If you do not, check the detailed Network Configuration page. -

-

Wireless

-

Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process. -

-

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 iwconfig to discover the name of your wireless interface. -

-

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 executed at this point in the installation will initialize your wireless hardware for use in the live environment of the installation media. These steps (or some other form of wireless management) must be repeated from the actual installed system after booting into it. -

-

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. -

-
Note: The following examples use wlp3s0 for the interface and linksys for the ESSID. Remember to change these values according to your setup.
-

The basic procedure will be: -

-
    -
  • Identify the wireless interface: -
  • -
-
# lspci | grep -i net
-
-

Or, if using a USB adapter: -

-
# lsusb
-
-
    -
  • Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with iwconfig: -
  • -
-
Note: 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 Wireless Setup for more detailed information.
-
# iwconfig
-
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.
-

In this example, wlp3s0 is the available wireless interface. -

-
    -
  • Bring the interface up with: -
  • -
-
# ip link set wlp3s0 up
-
-

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: -

-
# ip link set wlp3s0 up
-
SIOCSIFFLAGS: No such file or directory
-

If unsure, invoke dmesg to query the kernel log for a firmware request from the wireless chipset. -

-

Example output from an Intel chipset which requires and has requested firmware from the kernel at boot: -

-
# dmesg | grep firmware
-
firmware: requesting iwlwifi-5000-1.ucode
-

If there is no output, it may be concluded that the system's wireless chipset does not require firmware. -

-
Warning: Wireless chipset firmware packages (for cards which require them) are pre-installed under /usr/lib/firmware in the live environment (on CD/USB stick) but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it! Package installation is covered later in this guide. Ensure installation of both your wireless module and firmware before rebooting! See Wireless Setup if you are unsure about the requirement of corresponding firmware installation for your particular chipset.
-

Next, use netcfg's wifi-menu to connect to a network: -

-
# wifi-menu wlp3s0
-
-
Warning: 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.
-

You should now have a working network connection. If you do not, check the detailed Wireless Setup page. -

-

xDSL (PPPoE), analog modem or ISDN

-

If you have a router in bridge mode, run: -

-
# pppoe-setup
-
-
    -
  • Type in the username that the ISP provided you with. -
  • -
  • Press Enter for "eth0". -
  • -
  • Press Enter for "no", so that it stays up continuously. -
  • -
  • Type server (since this is usually the case). -
  • -
  • Press 1 for a firewall. -
  • -
  • Type in the password that the ISP provided you with. -
  • -
  • Press Y at the end. -
  • -
-

To use these settings and connect to your ISP, run: -

-
# pppoe-start
-
-

You may also need to adjust your resolv.conf: -

-
# echo nameserver 8.8.8.8 > /etc/resolv.conf
-
-

If you have a dial-up or ISDN connection, see Direct Modem Connection. -

-

Behind a proxy server

-

If you are behind a proxy server, you will need to export the http_proxy and ftp_proxy environment variables. See Proxy settings for more information.

- - - - - - - - diff --git a/configs/releng/syslinux/parabolaiso.cfg b/configs/releng/syslinux/parabolaiso.cfg deleted file mode 100644 index 473e245..0000000 --- a/configs/releng/syslinux/parabolaiso.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT select - -LABEL select -COM32 boot/syslinux/whichsys.c32 -APPEND -pxe- pxe -sys- sys -iso- sys - -LABEL pxe -CONFIG boot/syslinux/parabolaiso_pxe_choose.cfg - -LABEL sys -CONFIG boot/syslinux/parabolaiso_sys_choose.cfg diff --git a/configs/releng/syslinux/parabolaiso_head.cfg b/configs/releng/syslinux/parabolaiso_head.cfg deleted file mode 100644 index 278255d..0000000 --- a/configs/releng/syslinux/parabolaiso_head.cfg +++ /dev/null @@ -1,25 +0,0 @@ -SERIAL 0 38400 -UI boot/syslinux/vesamenu.c32 -MENU TITLE Parabola GNU/Linux-libre -MENU BACKGROUND boot/syslinux/splash.png - -MENU WIDTH 78 -MENU MARGIN 4 -MENU ROWS 7 -MENU VSHIFT 10 -MENU TABMSGROW 14 -MENU CMDLINEROW 14 -MENU HELPMSGROW 16 -MENU HELPMSGENDROW 29 - -# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu - -MENU COLOR border 30;44 #40ffffff #a0000000 std -MENU COLOR title 1;36;44 #9033ccff #a0000000 std -MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all -MENU COLOR unsel 37;44 #50ffffff #a0000000 std -MENU COLOR help 37;40 #c0ffffff #a0000000 std -MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std -MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std -MENU COLOR msg07 37;40 #90ffffff #a0000000 std -MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/releng/syslinux/parabolaiso_pxe32.cfg b/configs/releng/syslinux/parabolaiso_pxe32.cfg deleted file mode 100644 index f61664e..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe32.cfg +++ /dev/null @@ -1,32 +0,0 @@ -LABEL parabola32_nbd -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} -IPAPPEND 3 - -LABEL parabola32_nfs -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt -IPAPPEND 3 - -LABEL parabola32_http -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ -IPAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe64.cfg b/configs/releng/syslinux/parabolaiso_pxe64.cfg deleted file mode 100644 index db7a58a..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe64.cfg +++ /dev/null @@ -1,32 +0,0 @@ -LABEL parabola64_nbd -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} -IPAPPEND 3 - -LABEL parabola64_nfs -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt -IPAPPEND 3 - -LABEL parabola64_http -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ -IPAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg deleted file mode 100644 index ba514cb..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_pxe32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg deleted file mode 100644 index 9396d9b..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_pxe64.cfg -INCLUDE boot/syslinux/parabolaiso_pxe32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg b/configs/releng/syslinux/parabolaiso_pxe_choose.cfg deleted file mode 100644 index a3a768f..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT choose - -LABEL choose -COM32 boot/syslinux/ifcpu64.c32 -APPEND have64 -- nohave64 - -LABEL have64 -CONFIG boot/syslinux/parabolaiso_pxe_both_inc.cfg - -LABEL nohave64 -CONFIG boot/syslinux/parabolaiso_pxe_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys32.cfg b/configs/releng/syslinux/parabolaiso_sys32.cfg deleted file mode 100644 index 6aeeb69..0000000 --- a/configs/releng/syslinux/parabolaiso_sys32.cfg +++ /dev/null @@ -1,9 +0,0 @@ -LABEL parabola32 -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium. It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys64.cfg b/configs/releng/syslinux/parabolaiso_sys64.cfg deleted file mode 100644 index 7c256bb..0000000 --- a/configs/releng/syslinux/parabolaiso_sys64.cfg +++ /dev/null @@ -1,9 +0,0 @@ -LABEL parabola64 -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium. It allows you to install Parabola GNU/Linux-libre or -perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg deleted file mode 100644 index c641201..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_sys32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg deleted file mode 100644 index 9dfb87f..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_sys64.cfg -INCLUDE boot/syslinux/parabolaiso_sys32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_choose.cfg b/configs/releng/syslinux/parabolaiso_sys_choose.cfg deleted file mode 100644 index d436062..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_choose.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT choose - -LABEL choose -COM32 boot/syslinux/ifcpu64.c32 -APPEND have64 -- nohave64 - -LABEL have64 -CONFIG boot/syslinux/parabolaiso_sys_both_inc.cfg - -LABEL nohave64 -CONFIG boot/syslinux/parabolaiso_sys_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_tail.cfg b/configs/releng/syslinux/parabolaiso_tail.cfg deleted file mode 100644 index a55548c..0000000 --- a/configs/releng/syslinux/parabolaiso_tail.cfg +++ /dev/null @@ -1,27 +0,0 @@ -LABEL existing -TEXT HELP -Boot an existing operating system. Press TAB to edit the disk and partition -number to boot. -ENDTEXT -MENU LABEL Boot existing OS -COM32 boot/syslinux/chain.c32 -APPEND hd0 0 - -# http://www.memtest.org/ -LABEL memtest -MENU LABEL Run Memtest86+ (RAM test) -LINUX boot/memtest - -# http://hdt-project.org/ -LABEL hdt -MENU LABEL Hardware Information (HDT) -COM32 boot/syslinux/hdt.c32 -APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz - -LABEL reboot -MENU LABEL Reboot -COM32 boot/syslinux/reboot.c32 - -LABEL poweroff -MENU LABEL Power Off -COMBOOT boot/syslinux/poweroff.com diff --git a/configs/releng/syslinux/splash.png b/configs/releng/syslinux/splash.png deleted file mode 100644 index 64b959a..0000000 Binary files a/configs/releng/syslinux/splash.png and /dev/null differ diff --git a/configs/releng/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg deleted file mode 100644 index 0869ed2..0000000 --- a/configs/releng/syslinux/syslinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG parabolaiso.cfg - APPEND ../../ -- cgit v1.2.2 From 1407d0e82774b91f957a1ebd4691ee6b3852d1ed Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Remove the syslinux splash screen image. Now it's provided by the package parabolaiso-data. --- configs/profile/syslinux/splash.png | Bin 45400 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 configs/profile/syslinux/splash.png diff --git a/configs/profile/syslinux/splash.png b/configs/profile/syslinux/splash.png deleted file mode 100644 index 64b959a..0000000 Binary files a/configs/profile/syslinux/splash.png and /dev/null differ -- cgit v1.2.2 From dabaa43fb9764905fc50d7b07266cf81ca4e065f Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Replace the syslinux splash image source location with the parabolaiso-data directory. --- configs/profile/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/profile/build.sh b/configs/profile/build.sh index a310cfa..e27315c 100755 --- a/configs/profile/build.sh +++ b/configs/profile/build.sh @@ -105,7 +105,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 -- cgit v1.2.2 From b1929e650b38a874b6de6e7164bab6e82073cd4d Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Add data_dir variable set to /usr/share/parabolaiso/data (provided by parabolaiso-data). --- configs/profile/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/profile/build.sh b/configs/profile/build.sh index e27315c..d7f5324 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="" -- cgit v1.2.2 From 1d87fea23aec5fafec6de0b3a33cb142d1305a12 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Get EFI binaries from the directory of parabolaiso-data instead of internet. --- configs/profile/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/profile/build.sh b/configs/profile/build.sh index d7f5324..5b07b7b 100755 --- a/configs/profile/build.sh +++ b/configs/profile/build.sh @@ -139,9 +139,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 -- cgit v1.2.2 From 8067719a1264e88617ffea9d74bdab440e67389f Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Add motd. --- configs/profile/root-image/etc/motd | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 configs/profile/root-image/etc/motd 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. + +=============================================================================== + -- cgit v1.2.2 From 89fc8cc4495384e2131adc04d9b65bc199782934 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Add date template in motd. --- configs/profile/root-image/root/customize_root_image.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh index 50c5131..e3bd179 100755 --- a/configs/profile/root-image/root/customize_root_image.sh +++ b/configs/profile/root-image/root/customize_root_image.sh @@ -23,3 +23,5 @@ sed 's#\(^ExecStart=-/sbin/agetty\)#\1 --autologin root#; systemctl disable getty@tty1.service systemctl enable multi-user.target pacman-init.service autologin@.service dhcpcd.service + +sed -i "s/_DATE_/${iso_version}/" /etc/motd -- cgit v1.2.2 From 14a433fea892b3d771e9cfcaed6919939e4f39a8 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:36 -0300 Subject: Modify Makefile to deploy all profile branches using script "expand". --- Makefile | 12 +++-- expand | 181 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 188 insertions(+), 5 deletions(-) create mode 100755 expand diff --git a/Makefile b/Makefile index cb5f9e4..397ec3c 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -V=6 +V=2013.08.12 INSTALL_SRC_DIR=parabolaiso/initcpio/install HOOKS_SRC_DIR=parabolaiso/initcpio/hooks @@ -15,7 +15,7 @@ all: install dist install: install-program install-initcpio install-examples install-doc install-program: - install -D -m 755 parabolaiso/mkparabolaiso "$(DESTDIR)/usr/sbin/mkparabolaiso" + install -D -m 755 parabolaiso/mkparabolaiso "$(DESTDIR)/usr/bin/mkparabolaiso" install-initcpio: install -d "$(SCRIPT_DIR)" "$(HOOKS_DIR)" "$(INSTALL_DIR)" @@ -49,7 +49,9 @@ 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 -.PHONY: install install-program install-initcpio install-examples install-doc dist uninstall uninstall-program uninstall-initcpio uninstall-examples uninstall-doc +dist-branches: + ./expand $(V) dist-branches + +.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/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 -- cgit v1.2.2 From e9a0f37965a538881d08d205ff4a2b46597e0d47 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:38 -0300 Subject: Replace sbin with bin in Makefile. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 397ec3c..222f39a 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,7 @@ install-doc: uninstall: uninstall-program uninstall-initcpio uninstall-examples uninstall-doc uninstall-program: - rm "$(DESTDIR)/usr/sbin/mkparabolaiso" + rm "$(DESTDIR)/usr/bin/mkparabolaiso" uninstall-initcpio: $(foreach file,$(wildcard $(SCRIPT_SRC_DIR)/*),rm -r "$(subst $(SCRIPT_SRC_DIR),$(SCRIPT_DIR),$(file))";) -- cgit v1.2.2 From 619f7b9d9d00b5e208471e9724136ac53479ca8d Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:38 -0300 Subject: Update pacman.conf for pacman 4.1. --- configs/profile/pacman.conf | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/configs/profile/pacman.conf b/configs/profile/pacman.conf index 108260d..338b958 100644 --- a/configs/profile/pacman.conf +++ b/configs/profile/pacman.conf @@ -15,11 +15,10 @@ #LogFile = /var/log/pacman.log #GPGDir = /etc/pacman.d/gnupg/ HoldPkg = pacman glibc -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman #XferCommand = /usr/bin/curl -C - -f %u > %o #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u #CleanMethod = KeepInstalled +#UseDelta = 0.7 Architecture = auto # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup @@ -31,7 +30,7 @@ Architecture = auto # Misc options #UseSyslog -#UseDelta +#Color #TotalDownload # We cannot check disk space from within a chroot environment #CheckSpace @@ -39,11 +38,13 @@ Architecture = auto # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. -#SigLevel = Optional TrustedOnly +SigLevel = Required DatabaseOptional +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,27 +70,21 @@ Architecture = auto # after the header, and they will be used before the default mirrors. [libre] -SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist #[testing] -#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [core] -SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist [extra] -SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist #[community-testing] -#SigLevel = PackageRequired #Include = /etc/pacman.d/mirrorlist [community] -SigLevel = PackageRequired Include = /etc/pacman.d/mirrorlist # An example of a custom package repository. See the pacman manpage for @@ -97,4 +92,3 @@ Include = /etc/pacman.d/mirrorlist #[custom] #SigLevel = Optional TrustAll #Server = file:///home/custompkgs - -- cgit v1.2.2 From 04d8551cb78ff9a691fd4ead51e4f8f27c5b851e Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:38 -0300 Subject: Add [libre-testing] in pacman.conf. --- configs/profile/pacman.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/profile/pacman.conf b/configs/profile/pacman.conf index 338b958..746df64 100644 --- a/configs/profile/pacman.conf +++ b/configs/profile/pacman.conf @@ -69,6 +69,9 @@ 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 -- cgit v1.2.2 From 17803d20925a72d31dbdbacf56cb0a7d2db6efcb Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:39 -0300 Subject: Leave only directory for profile releng --- configs/baseline/aitab | 2 - configs/baseline/build.sh | 83 ------- configs/baseline/isolinux/isolinux.cfg | 5 - configs/baseline/mkinitcpio.conf | 1 - configs/baseline/syslinux/syslinux.cfg | 8 - configs/profile/aitab | 3 + configs/profile/build.sh | 262 +++++++++++++++++++++ .../loader/entries/parabolaiso-x86_64-cd.conf | 4 + .../loader/entries/parabolaiso-x86_64-usb.conf | 4 + .../loader/entries/uefi-shell-v1-x86_64.conf | 2 + .../loader/entries/uefi-shell-v2-x86_64.conf | 2 + configs/profile/efiboot/loader/loader.conf | 2 + configs/profile/isolinux/isolinux.cfg | 5 + configs/profile/mkinitcpio.conf | 2 + configs/profile/packages.both | 60 +++++ configs/profile/packages.i686 | 0 configs/profile/packages.x86_64 | 3 + configs/profile/pacman.conf | 92 ++++++++ configs/profile/root-image/etc/fstab | 0 configs/profile/root-image/etc/hostname | 1 + configs/profile/root-image/etc/locale.conf | 1 + configs/profile/root-image/etc/pam.d/su | 6 + configs/profile/root-image/etc/sudoers.d/g_wheel | 1 + .../root-image/etc/systemd/scripts/choose-mirror | 26 ++ .../etc/systemd/system/choose-mirror.service | 10 + .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 + .../system/getty@tty1.service.d/autologin.conf | 3 + .../etc/systemd/system/pacman-init.service | 15 ++ .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 + .../profile/root-image/root/.automated_script.sh | 34 +++ configs/profile/root-image/root/.zlogin | 1 + .../root-image/root/customize_root_image.sh | 20 ++ configs/profile/root-image/root/install.txt | 3 + configs/profile/syslinux/parabolaiso.cfg | 11 + configs/profile/syslinux/parabolaiso_head.cfg | 25 ++ configs/profile/syslinux/parabolaiso_pxe32.cfg | 32 +++ configs/profile/syslinux/parabolaiso_pxe64.cfg | 32 +++ .../profile/syslinux/parabolaiso_pxe_32_inc.cfg | 3 + .../profile/syslinux/parabolaiso_pxe_both_inc.cfg | 4 + .../profile/syslinux/parabolaiso_pxe_choose.cfg | 11 + configs/profile/syslinux/parabolaiso_sys32.cfg | 9 + configs/profile/syslinux/parabolaiso_sys64.cfg | 9 + .../profile/syslinux/parabolaiso_sys_32_inc.cfg | 3 + .../profile/syslinux/parabolaiso_sys_both_inc.cfg | 4 + .../profile/syslinux/parabolaiso_sys_choose.cfg | 11 + configs/profile/syslinux/parabolaiso_tail.cfg | 27 +++ configs/profile/syslinux/splash.png | Bin 0 -> 45400 bytes configs/profile/syslinux/syslinux.cfg | 5 + configs/releng/aitab | 3 - configs/releng/build.sh | 262 --------------------- .../loader/entries/parabolaiso-x86_64-cd.conf | 4 - .../loader/entries/parabolaiso-x86_64-usb.conf | 4 - .../loader/entries/uefi-shell-v1-x86_64.conf | 2 - .../loader/entries/uefi-shell-v2-x86_64.conf | 2 - configs/releng/efiboot/loader/loader.conf | 2 - configs/releng/isolinux/isolinux.cfg | 5 - configs/releng/mkinitcpio.conf | 2 - configs/releng/packages.both | 60 ----- configs/releng/packages.i686 | 0 configs/releng/packages.x86_64 | 3 - configs/releng/pacman.conf | 92 -------- configs/releng/root-image/etc/fstab | 0 configs/releng/root-image/etc/hostname | 1 - configs/releng/root-image/etc/locale.conf | 1 - configs/releng/root-image/etc/pam.d/su | 6 - configs/releng/root-image/etc/sudoers.d/g_wheel | 1 - .../root-image/etc/systemd/scripts/choose-mirror | 26 -- .../etc/systemd/system/choose-mirror.service | 10 - .../etc/systemd/system/etc-pacman.d-gnupg.mount | 8 - .../system/getty@tty1.service.d/autologin.conf | 3 - .../etc/systemd/system/pacman-init.service | 15 -- .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 - .../releng/root-image/root/.automated_script.sh | 34 --- configs/releng/root-image/root/.zlogin | 1 - .../releng/root-image/root/customize_root_image.sh | 20 -- configs/releng/root-image/root/install.txt | 3 - configs/releng/syslinux/parabolaiso.cfg | 11 - configs/releng/syslinux/parabolaiso_head.cfg | 25 -- configs/releng/syslinux/parabolaiso_pxe32.cfg | 32 --- configs/releng/syslinux/parabolaiso_pxe64.cfg | 32 --- configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg | 3 - .../releng/syslinux/parabolaiso_pxe_both_inc.cfg | 4 - configs/releng/syslinux/parabolaiso_pxe_choose.cfg | 11 - configs/releng/syslinux/parabolaiso_sys32.cfg | 9 - configs/releng/syslinux/parabolaiso_sys64.cfg | 9 - configs/releng/syslinux/parabolaiso_sys_32_inc.cfg | 3 - .../releng/syslinux/parabolaiso_sys_both_inc.cfg | 4 - configs/releng/syslinux/parabolaiso_sys_choose.cfg | 11 - configs/releng/syslinux/parabolaiso_tail.cfg | 27 --- configs/releng/syslinux/splash.png | Bin 45400 -> 0 bytes configs/releng/syslinux/syslinux.cfg | 5 - 91 files changed, 757 insertions(+), 856 deletions(-) delete mode 100644 configs/baseline/aitab delete mode 100755 configs/baseline/build.sh delete mode 100644 configs/baseline/isolinux/isolinux.cfg delete mode 100644 configs/baseline/mkinitcpio.conf delete mode 100644 configs/baseline/syslinux/syslinux.cfg create mode 100644 configs/profile/aitab create mode 100755 configs/profile/build.sh create mode 100644 configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf create mode 100644 configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf create mode 100644 configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf create mode 100644 configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf create mode 100644 configs/profile/efiboot/loader/loader.conf create mode 100644 configs/profile/isolinux/isolinux.cfg create mode 100644 configs/profile/mkinitcpio.conf create mode 100644 configs/profile/packages.both create mode 100644 configs/profile/packages.i686 create mode 100644 configs/profile/packages.x86_64 create mode 100644 configs/profile/pacman.conf create mode 100644 configs/profile/root-image/etc/fstab create mode 100644 configs/profile/root-image/etc/hostname create mode 100644 configs/profile/root-image/etc/locale.conf create mode 100644 configs/profile/root-image/etc/pam.d/su create mode 100644 configs/profile/root-image/etc/sudoers.d/g_wheel create mode 100755 configs/profile/root-image/etc/systemd/scripts/choose-mirror create mode 100644 configs/profile/root-image/etc/systemd/system/choose-mirror.service create mode 100644 configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount create mode 100644 configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100644 configs/profile/root-image/etc/systemd/system/pacman-init.service create mode 100644 configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules create mode 100755 configs/profile/root-image/root/.automated_script.sh create mode 100644 configs/profile/root-image/root/.zlogin create mode 100755 configs/profile/root-image/root/customize_root_image.sh create mode 100644 configs/profile/root-image/root/install.txt create mode 100644 configs/profile/syslinux/parabolaiso.cfg create mode 100644 configs/profile/syslinux/parabolaiso_head.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe32.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe64.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_pxe_choose.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys32.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys64.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_32_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_both_inc.cfg create mode 100644 configs/profile/syslinux/parabolaiso_sys_choose.cfg create mode 100644 configs/profile/syslinux/parabolaiso_tail.cfg create mode 100644 configs/profile/syslinux/splash.png create mode 100644 configs/profile/syslinux/syslinux.cfg delete mode 100644 configs/releng/aitab delete mode 100755 configs/releng/build.sh delete mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf delete mode 100644 configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf delete mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf delete mode 100644 configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf delete mode 100644 configs/releng/efiboot/loader/loader.conf delete mode 100644 configs/releng/isolinux/isolinux.cfg delete mode 100644 configs/releng/mkinitcpio.conf delete mode 100644 configs/releng/packages.both delete mode 100644 configs/releng/packages.i686 delete mode 100644 configs/releng/packages.x86_64 delete mode 100644 configs/releng/pacman.conf delete mode 100644 configs/releng/root-image/etc/fstab delete mode 100644 configs/releng/root-image/etc/hostname delete mode 100644 configs/releng/root-image/etc/locale.conf delete mode 100644 configs/releng/root-image/etc/pam.d/su delete mode 100644 configs/releng/root-image/etc/sudoers.d/g_wheel delete mode 100755 configs/releng/root-image/etc/systemd/scripts/choose-mirror delete mode 100644 configs/releng/root-image/etc/systemd/system/choose-mirror.service delete mode 100644 configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount delete mode 100644 configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf delete mode 100644 configs/releng/root-image/etc/systemd/system/pacman-init.service delete mode 100644 configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules delete mode 100755 configs/releng/root-image/root/.automated_script.sh delete mode 100644 configs/releng/root-image/root/.zlogin delete mode 100755 configs/releng/root-image/root/customize_root_image.sh delete mode 100644 configs/releng/root-image/root/install.txt delete mode 100644 configs/releng/syslinux/parabolaiso.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_head.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe32.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe64.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_pxe_choose.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys32.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys64.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_32_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_both_inc.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_sys_choose.cfg delete mode 100644 configs/releng/syslinux/parabolaiso_tail.cfg delete mode 100644 configs/releng/syslinux/splash.png delete mode 100644 configs/releng/syslinux/syslinux.cfg diff --git a/configs/baseline/aitab b/configs/baseline/aitab deleted file mode 100644 index 234f61c..0000000 --- a/configs/baseline/aitab +++ /dev/null @@ -1,2 +0,0 @@ -# -root-image / %ARCH% gzip ext4 50% diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh deleted file mode 100755 index b016b45..0000000 --- a/configs/baseline/build.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash - -set -e -u - -iso_name=parabola -iso_label="PARABOLA_$(date +%Y%m)" -iso_version=$(date +%Y.%m.%d) -install_dir=parabola -arch=$(uname -m) -work_dir=work -out_dir=out - -script_path=$(readlink -f ${0%/*}) - -# Helper function to run make_*() only one time per architecture. -run_once() { - if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then - $1 - touch ${work_dir}/build.${1}_${arch} - fi -} - -# Base installation (root-image) -make_basefs() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" init -} - -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) -make_setup_mkinitcpio() { - cp /usr/lib/initcpio/hooks/parabolaiso ${work_dir}/root-image/usr/lib/initcpio/hooks - cp /usr/lib/initcpio/install/parabolaiso ${work_dir}/root-image/usr/lib/initcpio/install - cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-parabolaiso.conf - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run -} - -# Prepare ${install_dir}/boot/ -make_boot() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} - cp ${work_dir}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img - cp ${work_dir}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz -} - -# Prepare /${install_dir}/boot/syslinux -make_syslinux() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g; - s|%ARCH%|${arch}|g" ${script_path}/syslinux/syslinux.cfg > ${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg - cp ${work_dir}/root-image/usr/lib/syslinux/menu.c32 ${work_dir}/iso/${install_dir}/boot/syslinux/ -} - -# Prepare /isolinux -make_isolinux() { - mkdir -p ${work_dir}/iso/isolinux - sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg - cp ${work_dir}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ -} - -# Process aitab -make_aitab() { - sed "s|%ARCH%|${arch}|g" ${script_path}/aitab > ${work_dir}/iso/${install_dir}/aitab -} - -# Build all filesystem images specified in aitab (.fs.sfs .sfs) -make_prepare() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" prepare -} - -# Build ISO -make_iso() { - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" checksum - mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-${arch}.iso" -} - -run_once make_basefs -run_once make_setup_mkinitcpio -run_once make_boot -run_once make_syslinux -run_once make_isolinux -run_once make_aitab -run_once make_prepare -run_once make_iso diff --git a/configs/baseline/isolinux/isolinux.cfg b/configs/baseline/isolinux/isolinux.cfg deleted file mode 100644 index 44b5684..0000000 --- a/configs/baseline/isolinux/isolinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/syslinux.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/baseline/mkinitcpio.conf b/configs/baseline/mkinitcpio.conf deleted file mode 100644 index 8cf3926..0000000 --- a/configs/baseline/mkinitcpio.conf +++ /dev/null @@ -1 +0,0 @@ -HOOKS="base udev parabolaiso block filesystems" diff --git a/configs/baseline/syslinux/syslinux.cfg b/configs/baseline/syslinux/syslinux.cfg deleted file mode 100644 index 4761da9..0000000 --- a/configs/baseline/syslinux/syslinux.cfg +++ /dev/null @@ -1,8 +0,0 @@ -UI boot/syslinux/menu.c32 -MENU TITLE Parabola GNU/Linux-libre - -LABEL parabola -MENU LABEL Parabola GNU/Linux-libre -LINUX boot/%ARCH%/vmlinuz -INITRD boot/%ARCH%/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/aitab b/configs/profile/aitab new file mode 100644 index 0000000..b7e9a17 --- /dev/null +++ b/configs/profile/aitab @@ -0,0 +1,3 @@ +# +root-image / i686 xz ext4 50% +root-image / x86_64 xz ext4 50% diff --git a/configs/profile/build.sh b/configs/profile/build.sh new file mode 100755 index 0000000..e7ce4a4 --- /dev/null +++ b/configs/profile/build.sh @@ -0,0 +1,262 @@ +#!/bin/bash + +set -e -u + +iso_name=parabola +iso_label="PARABOLA_$(date +%Y%m)" +iso_version=$(date +%Y.%m.%d) +install_dir=parabola +work_dir=work +out_dir=out + +arch=$(uname -m) +verbose="" +pacman_conf=${work_dir}/pacman.conf +script_path=$(readlink -f ${0%/*}) + +_usage () +{ + echo "usage ${0} [options]" + echo + echo " General options:" + echo " -N Set an iso filename (prefix)" + echo " Default: ${iso_name}" + echo " -V Set an iso version (in filename)" + echo " Default: ${iso_version}" + echo " -L Set an iso label (disk label)" + echo " Default: ${iso_label}" + echo " -D Set an install_dir (directory inside iso)" + echo " Default: ${install_dir}" + echo " -w Set the working directory" + echo " Default: ${work_dir}" + echo " -o Set the output directory" + echo " Default: ${out_dir}" + echo " -v Enable verbose output" + echo " -h This help message" + exit ${1} +} + +# Helper function to run make_*() only one time per architecture. +run_once() { + if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then + $1 + touch ${work_dir}/build.${1}_${arch} + fi +} + +# Setup custom pacman.conf with current cache directories. +make_pacman_conf() { + local _cache_dirs + _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${pacman_conf} +} + +# Base installation, plus needed packages (root-image) +make_basefs() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd" install +} + +# Additional packages (root-image) +make_packages() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install +} + +# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) +make_setup_mkinitcpio() { + local _hook + for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do + cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + done + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/root-image/usr/lib/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/root-image/etc/mkinitcpio-parabolaiso.conf + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run +} + +# Customize installation (root-image) +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 +} + +# Prepare kernel/initramfs ${install_dir}/boot/ +make_boot() { + mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} + cp ${work_dir}/${arch}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz +} + +# Add other aditional/extra files to ${install_dir}/boot/ +make_boot_extra() { + cp ${work_dir}/${arch}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest + cp ${work_dir}/${arch}/root-image/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING +} + +# Prepare /${install_dir}/boot/syslinux +make_syslinux() { + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux + for _cfg in ${script_path}/syslinux/*.cfg; do + 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 ${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 + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux + mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt + gzip -c -9 ${work_dir}/${arch}/root-image/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz + gzip -c -9 ${work_dir}/${arch}/root-image/usr/lib/modules/*-LIBRE/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz +} + +# Prepare /isolinux +make_isolinux() { + mkdir -p ${work_dir}/iso/isolinux + sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ +} + +# Prepare /EFI +make_efi() { + mkdir -p ${work_dir}/iso/EFI/boot + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/ + + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi + + mkdir -p ${work_dir}/iso/loader/entries + cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ + + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${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 + # 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 +} + +# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode +make_efiboot() { + mkdir -p ${work_dir}/iso/EFI/parabolaiso + truncate -s 31M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + + mkdir -p ${work_dir}/efiboot + mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot + + mkdir -p ${work_dir}/efiboot/EFI/parabolaiso + cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi + cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img + + mkdir -p ${work_dir}/efiboot/EFI/boot + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/ + + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi + + mkdir -p ${work_dir}/efiboot/loader/entries + cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/ + cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ + + sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; + s|%INSTALL_DIR%|${install_dir}|g" \ + ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf + + cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ + cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ + + umount ${work_dir}/efiboot +} + +# Copy aitab +make_aitab() { + mkdir -p ${work_dir}/iso/${install_dir} + cp ${script_path}/aitab ${work_dir}/iso/${install_dir}/aitab +} + +# Build all filesystem images specified in aitab (.fs.sfs .sfs) +make_prepare() { + cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare + rm -rf ${work_dir}/root-image + # rm -rf ${work_dir}/${arch}/root-image (if low space, this helps) +} + +# Build ISO +make_iso() { + mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum + mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" +} + +if [[ ${EUID} -ne 0 ]]; then + echo "This script must be run as root." + _usage 1 +fi + +if [[ ${arch} != x86_64 ]]; then + echo "This script needs to be run on x86_64" + _usage 1 +fi + +while getopts 'N:V:L:D:w:o:vh' arg; do + case "${arg}" in + N) iso_name="${OPTARG}" ;; + V) iso_version="${OPTARG}" ;; + L) iso_label="${OPTARG}" ;; + D) install_dir="${OPTARG}" ;; + w) work_dir="${OPTARG}" ;; + o) out_dir="${OPTARG}" ;; + v) verbose="-v" ;; + h) _usage 0 ;; + *) + echo "Invalid argument '${arg}'" + _usage 1 + ;; + esac +done + +mkdir -p ${work_dir} + +run_once make_pacman_conf + +# Do all stuff for each root-image +for arch in i686 x86_64; do + run_once make_basefs + run_once make_packages + run_once make_setup_mkinitcpio + run_once make_customize_root_image +done + +for arch in i686 x86_64; do + run_once make_boot +done + +# Do all stuff for "iso" +run_once make_boot_extra +run_once make_syslinux +run_once make_isolinux +run_once make_efi +run_once make_efiboot + +run_once make_aitab + +for arch in i686 x86_64; do + run_once make_prepare +done + +run_once make_iso diff --git a/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf new file mode 100644 index 0000000..057e14f --- /dev/null +++ b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-cd.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD +linux /EFI/parabolaiso/vmlinuz.efi +initrd /EFI/parabolaiso/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf new file mode 100644 index 0000000..3863799 --- /dev/null +++ b/configs/profile/efiboot/loader/entries/parabolaiso-x86_64-usb.conf @@ -0,0 +1,4 @@ +title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz +initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img +options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf new file mode 100644 index 0000000..9597ff2 --- /dev/null +++ b/configs/profile/efiboot/loader/entries/uefi-shell-v1-x86_64.conf @@ -0,0 +1,2 @@ +title UEFI Shell x86_64 v1 +efi /EFI/shellx64_v1.efi diff --git a/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf new file mode 100644 index 0000000..0dde77a --- /dev/null +++ b/configs/profile/efiboot/loader/entries/uefi-shell-v2-x86_64.conf @@ -0,0 +1,2 @@ +title UEFI Shell x86_64 v2 +efi /EFI/shellx64_v2.efi diff --git a/configs/profile/efiboot/loader/loader.conf b/configs/profile/efiboot/loader/loader.conf new file mode 100644 index 0000000..ba02c50 --- /dev/null +++ b/configs/profile/efiboot/loader/loader.conf @@ -0,0 +1,2 @@ +timeout 3 +default parabolaiso-x86_64 diff --git a/configs/profile/isolinux/isolinux.cfg b/configs/profile/isolinux/isolinux.cfg new file mode 100644 index 0000000..3ee24e0 --- /dev/null +++ b/configs/profile/isolinux/isolinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg + APPEND /%INSTALL_DIR%/ diff --git a/configs/profile/mkinitcpio.conf b/configs/profile/mkinitcpio.conf new file mode 100644 index 0000000..1006d1d --- /dev/null +++ b/configs/profile/mkinitcpio.conf @@ -0,0 +1,2 @@ +HOOKS="base udev memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block pcmcia filesystems keyboard" +COMPRESSION="xz" diff --git a/configs/profile/packages.both b/configs/profile/packages.both new file mode 100644 index 0000000..8d6c9ff --- /dev/null +++ b/configs/profile/packages.both @@ -0,0 +1,60 @@ +arch-install-scripts +b43-fwcutter +btrfs-progs +crda +darkhttpd +ddrescue +dhclient +dialog +dmraid +dnsmasq +dnsutils +dosfstools +elinks +ethtool +f2fs-tools +fsarchiver +gnu-netcat +gpm +gptfdisk +grml-zsh-config +grub +haveged +hdparm +ipw2100-fw +ipw2200-fw +irssi +lftp +linux-atm +mc +mtools +nfs-utils +nilfs-utils +nmap +ntfs-3g +ntp +openconnect +openssh +openvpn +partclone +parted +partimage +pptpclient +ppp +rfkill +rp-pppoe +rsync +smartmontools +speedtouch +sudo +tcpdump +testdisk +usb_modeswitch +vpnc +wget +wireless_tools +wpa_actiond +wvdial +xl2tpd +zd1211-firmware +zsh diff --git a/configs/profile/packages.i686 b/configs/profile/packages.i686 new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile/packages.x86_64 b/configs/profile/packages.x86_64 new file mode 100644 index 0000000..407ead2 --- /dev/null +++ b/configs/profile/packages.x86_64 @@ -0,0 +1,3 @@ +gummiboot +prebootloader +refind-efi diff --git a/configs/profile/pacman.conf b/configs/profile/pacman.conf new file mode 100644 index 0000000..800d572 --- /dev/null +++ b/configs/profile/pacman.conf @@ -0,0 +1,92 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -C - -f %u > %o +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +#UseDelta = 0.7 +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#TotalDownload +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +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`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + diff --git a/configs/profile/root-image/etc/fstab b/configs/profile/root-image/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile/root-image/etc/hostname b/configs/profile/root-image/etc/hostname new file mode 100644 index 0000000..8aaf41b --- /dev/null +++ b/configs/profile/root-image/etc/hostname @@ -0,0 +1 @@ +parabolaiso diff --git a/configs/profile/root-image/etc/locale.conf b/configs/profile/root-image/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/profile/root-image/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/profile/root-image/etc/pam.d/su b/configs/profile/root-image/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/profile/root-image/etc/pam.d/su @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth sufficient pam_wheel.so trust use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/configs/profile/root-image/etc/sudoers.d/g_wheel b/configs/profile/root-image/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/profile/root-image/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/profile/root-image/etc/systemd/scripts/choose-mirror b/configs/profile/root-image/etc/systemd/scripts/choose-mirror new file mode 100755 index 0000000..13c9f69 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/scripts/choose-mirror @@ -0,0 +1,26 @@ +#!/bin/bash + +get_cmdline() { + local param + for param in $(< /proc/cmdline); do + case "${param}" in + $1=*) echo "${param##*=}"; + return 0 + ;; + esac + done +} + +mirror=$(get_cmdline mirror) +[[ $mirror = auto ]] && mirror=$(get_cmdline parabolaiso_http_srv) +[[ $mirror ]] || exit 0 + +mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig +cat >/etc/pacman.d/mirrorlist << EOF +# +# Parabola GNU/Linux-libre repository mirrorlist +# Generated by parabolaiso +# + +Server = ${mirror%%/}/\$repo/os/\$arch +EOF diff --git a/configs/profile/root-image/etc/systemd/system/choose-mirror.service b/configs/profile/root-image/etc/systemd/system/choose-mirror.service new file mode 100644 index 0000000..1e4d771 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/choose-mirror.service @@ -0,0 +1,10 @@ +[Unit] +Description=Choose mirror from the kernel command line +ConditionKernelCommandLine=mirror + +[Service] +Type=oneshot +ExecStart=/etc/systemd/scripts/choose-mirror + +[Install] +WantedBy=multi-user.target diff --git a/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 0000000..4eab551 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount @@ -0,0 +1,8 @@ +[Unit] +Description=Temporary /etc/pacman.d/gnupg directory + +[Mount] +What=tmpfs +Where=/etc/pacman.d/gnupg +Type=tmpfs +Options=mode=0755 diff --git a/configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..d1d8474 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux diff --git a/configs/profile/root-image/etc/systemd/system/pacman-init.service b/configs/profile/root-image/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..23b8144 --- /dev/null +++ b/configs/profile/root-image/etc/systemd/system/pacman-init.service @@ -0,0 +1,15 @@ +[Unit] +Description=Initializes Pacman keyring +Wants=haveged.service +After=haveged.service +Requires=etc-pacman.d-gnupg.mount +After=etc-pacman.d-gnupg.mount + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/bin/pacman-key --init +ExecStart=/usr/bin/pacman-key --populate archlinux + +[Install] +WantedBy=multi-user.target diff --git a/configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules new file mode 100644 index 0000000..970da69 --- /dev/null +++ b/configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" diff --git a/configs/profile/root-image/root/.automated_script.sh b/configs/profile/root-image/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/profile/root-image/root/.automated_script.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +script_cmdline () +{ + local param + for param in $(< /proc/cmdline); do + case "${param}" in + script=*) echo "${param##*=}" ; return 0 ;; + esac + done +} + +automated_script () +{ + local script rt + script="$(script_cmdline)" + if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then + if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then + wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null + rt=$? + else + cp "${script}" /tmp/startup_script + rt=$? + fi + if [[ ${rt} -eq 0 ]]; then + chmod +x /tmp/startup_script + /tmp/startup_script + fi + fi +} + +if [[ $(tty) == "/dev/tty1" ]]; then + automated_script +fi diff --git a/configs/profile/root-image/root/.zlogin b/configs/profile/root-image/root/.zlogin new file mode 100644 index 0000000..f598e43 --- /dev/null +++ b/configs/profile/root-image/root/.zlogin @@ -0,0 +1 @@ +~/.automated_script.sh diff --git a/configs/profile/root-image/root/customize_root_image.sh b/configs/profile/root-image/root/customize_root_image.sh new file mode 100755 index 0000000..7c9a003 --- /dev/null +++ b/configs/profile/root-image/root/customize_root_image.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e -u + +sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen +locale-gen + +ln -sf /usr/share/zoneinfo/UTC /etc/localtime + +usermod -s /usr/bin/zsh root +cp -aT /etc/skel/ /root/ + +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /usr/bin/zsh parabola + +chmod 750 /etc/sudoers.d +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 diff --git a/configs/profile/root-image/root/install.txt b/configs/profile/root-image/root/install.txt new file mode 100644 index 0000000..87b85cb --- /dev/null +++ b/configs/profile/root-image/root/install.txt @@ -0,0 +1,3 @@ +View this installation guide online at +https://wiki.parabolagnulinux.org/index.php/Installation_Guide + diff --git a/configs/profile/syslinux/parabolaiso.cfg b/configs/profile/syslinux/parabolaiso.cfg new file mode 100644 index 0000000..473e245 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 boot/syslinux/whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG boot/syslinux/parabolaiso_pxe_choose.cfg + +LABEL sys +CONFIG boot/syslinux/parabolaiso_sys_choose.cfg diff --git a/configs/profile/syslinux/parabolaiso_head.cfg b/configs/profile/syslinux/parabolaiso_head.cfg new file mode 100644 index 0000000..278255d --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_head.cfg @@ -0,0 +1,25 @@ +SERIAL 0 38400 +UI boot/syslinux/vesamenu.c32 +MENU TITLE Parabola GNU/Linux-libre +MENU BACKGROUND boot/syslinux/splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/profile/syslinux/parabolaiso_pxe32.cfg b/configs/profile/syslinux/parabolaiso_pxe32.cfg new file mode 100644 index 0000000..60bc713 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe32.cfg @@ -0,0 +1,32 @@ +LABEL parabola32_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL parabola32_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +IPAPPEND 3 + +LABEL parabola32_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/profile/syslinux/parabolaiso_pxe64.cfg b/configs/profile/syslinux/parabolaiso_pxe64.cfg new file mode 100644 index 0000000..34bf7d7 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe64.cfg @@ -0,0 +1,32 @@ +LABEL parabola64_nbd +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} +IPAPPEND 3 + +LABEL parabola64_nfs +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt +IPAPPEND 3 + +LABEL parabola64_http +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ +IPAPPEND 3 diff --git a/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg new file mode 100644 index 0000000..ba514cb --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg new file mode 100644 index 0000000..9396d9b --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_pxe64.cfg +INCLUDE boot/syslinux/parabolaiso_pxe32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_pxe_choose.cfg b/configs/profile/syslinux/parabolaiso_pxe_choose.cfg new file mode 100644 index 0000000..a3a768f --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_pxe_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_pxe_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_pxe_32_inc.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys32.cfg b/configs/profile/syslinux/parabolaiso_sys32.cfg new file mode 100644 index 0000000..4abdf7a --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys32.cfg @@ -0,0 +1,9 @@ +LABEL parabola32 +TEXT HELP +Boot the Parabola GNU/Linux-libre (i686) live medium. +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (i686) +LINUX boot/i686/vmlinuz +INITRD boot/i686/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/syslinux/parabolaiso_sys64.cfg b/configs/profile/syslinux/parabolaiso_sys64.cfg new file mode 100644 index 0000000..b154459 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys64.cfg @@ -0,0 +1,9 @@ +LABEL parabola64 +TEXT HELP +Boot the Parabola GNU/Linux-libre (x86_64) live medium. +It allows you to install Parabola GNU/Linux-libre or perform system maintenance. +ENDTEXT +MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) +LINUX boot/x86_64/vmlinuz +INITRD boot/x86_64/parabolaiso.img +APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg b/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg new file mode 100644 index 0000000..c641201 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_32_inc.cfg @@ -0,0 +1,3 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg b/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg new file mode 100644 index 0000000..9dfb87f --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_both_inc.cfg @@ -0,0 +1,4 @@ +INCLUDE boot/syslinux/parabolaiso_head.cfg +INCLUDE boot/syslinux/parabolaiso_sys64.cfg +INCLUDE boot/syslinux/parabolaiso_sys32.cfg +INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/profile/syslinux/parabolaiso_sys_choose.cfg b/configs/profile/syslinux/parabolaiso_sys_choose.cfg new file mode 100644 index 0000000..d436062 --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_sys_choose.cfg @@ -0,0 +1,11 @@ +DEFAULT choose + +LABEL choose +COM32 boot/syslinux/ifcpu64.c32 +APPEND have64 -- nohave64 + +LABEL have64 +CONFIG boot/syslinux/parabolaiso_sys_both_inc.cfg + +LABEL nohave64 +CONFIG boot/syslinux/parabolaiso_sys_32_inc.cfg diff --git a/configs/profile/syslinux/parabolaiso_tail.cfg b/configs/profile/syslinux/parabolaiso_tail.cfg new file mode 100644 index 0000000..5d95b3b --- /dev/null +++ b/configs/profile/syslinux/parabolaiso_tail.cfg @@ -0,0 +1,27 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 boot/syslinux/chain.c32 +APPEND hd0 0 + +# http://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +LINUX boot/memtest + +# http://hdt-project.org/ +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 boot/syslinux/hdt.c32 +APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz + +LABEL reboot +MENU LABEL Reboot +COM32 boot/syslinux/reboot.c32 + +LABEL poweroff +MENU LABEL Power Off +COMBOOT boot/syslinux/poweroff.com diff --git a/configs/profile/syslinux/splash.png b/configs/profile/syslinux/splash.png new file mode 100644 index 0000000..64b959a Binary files /dev/null and b/configs/profile/syslinux/splash.png differ diff --git a/configs/profile/syslinux/syslinux.cfg b/configs/profile/syslinux/syslinux.cfg new file mode 100644 index 0000000..0869ed2 --- /dev/null +++ b/configs/profile/syslinux/syslinux.cfg @@ -0,0 +1,5 @@ +DEFAULT loadconfig + +LABEL loadconfig + CONFIG parabolaiso.cfg + APPEND ../../ diff --git a/configs/releng/aitab b/configs/releng/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/releng/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -root-image / i686 xz ext4 50% -root-image / x86_64 xz ext4 50% diff --git a/configs/releng/build.sh b/configs/releng/build.sh deleted file mode 100755 index e7ce4a4..0000000 --- a/configs/releng/build.sh +++ /dev/null @@ -1,262 +0,0 @@ -#!/bin/bash - -set -e -u - -iso_name=parabola -iso_label="PARABOLA_$(date +%Y%m)" -iso_version=$(date +%Y.%m.%d) -install_dir=parabola -work_dir=work -out_dir=out - -arch=$(uname -m) -verbose="" -pacman_conf=${work_dir}/pacman.conf -script_path=$(readlink -f ${0%/*}) - -_usage () -{ - echo "usage ${0} [options]" - echo - echo " General options:" - echo " -N Set an iso filename (prefix)" - echo " Default: ${iso_name}" - echo " -V Set an iso version (in filename)" - echo " Default: ${iso_version}" - echo " -L Set an iso label (disk label)" - echo " Default: ${iso_label}" - echo " -D Set an install_dir (directory inside iso)" - echo " Default: ${install_dir}" - echo " -w Set the working directory" - echo " Default: ${work_dir}" - echo " -o Set the output directory" - echo " Default: ${out_dir}" - echo " -v Enable verbose output" - echo " -h This help message" - exit ${1} -} - -# Helper function to run make_*() only one time per architecture. -run_once() { - if [[ ! -e ${work_dir}/build.${1}_${arch} ]]; then - $1 - touch ${work_dir}/build.${1}_${arch} - fi -} - -# Setup custom pacman.conf with current cache directories. -make_pacman_conf() { - local _cache_dirs - _cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) - sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${pacman_conf} -} - -# Base installation, plus needed packages (root-image) -make_basefs() { - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" init - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "memtest86+ mkinitcpio-nfs-utils nbd" install -} - -# Additional packages (root-image) -make_packages() { - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install -} - -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) -make_setup_mkinitcpio() { - local _hook - for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do - cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - done - cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/root-image/usr/lib/initcpio - cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/root-image/etc/mkinitcpio-parabolaiso.conf - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${pacman_conf}" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run -} - -# Customize installation (root-image) -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 -} - -# Prepare kernel/initramfs ${install_dir}/boot/ -make_boot() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch} - cp ${work_dir}/${arch}/root-image/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img - cp ${work_dir}/${arch}/root-image/boot/vmlinuz-linux-libre ${work_dir}/iso/${install_dir}/boot/${arch}/vmlinuz -} - -# Add other aditional/extra files to ${install_dir}/boot/ -make_boot_extra() { - cp ${work_dir}/${arch}/root-image/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest - cp ${work_dir}/${arch}/root-image/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING -} - -# Prepare /${install_dir}/boot/syslinux -make_syslinux() { - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux - for _cfg in ${script_path}/syslinux/*.cfg; do - 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 ${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 - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux - mkdir -p ${work_dir}/iso/${install_dir}/boot/syslinux/hdt - gzip -c -9 ${work_dir}/${arch}/root-image/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz - gzip -c -9 ${work_dir}/${arch}/root-image/usr/lib/modules/*-LIBRE/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz -} - -# Prepare /isolinux -make_isolinux() { - mkdir -p ${work_dir}/iso/isolinux - sed "s|%INSTALL_DIR%|${install_dir}|g" ${script_path}/isolinux/isolinux.cfg > ${work_dir}/iso/isolinux/isolinux.cfg - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/isohdpfx.bin ${work_dir}/iso/isolinux/ -} - -# Prepare /EFI -make_efi() { - mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/ - - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi - - mkdir -p ${work_dir}/iso/loader/entries - cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/iso/loader/entries/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/iso/loader/entries/ - - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ - ${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 - # 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 -} - -# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode -make_efiboot() { - mkdir -p ${work_dir}/iso/EFI/parabolaiso - truncate -s 31M ${work_dir}/iso/EFI/parabolaiso/efiboot.img - mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img - - mkdir -p ${work_dir}/efiboot - mount ${work_dir}/iso/EFI/parabolaiso/efiboot.img ${work_dir}/efiboot - - mkdir -p ${work_dir}/efiboot/EFI/parabolaiso - cp ${work_dir}/iso/${install_dir}/boot/x86_64/vmlinuz ${work_dir}/efiboot/EFI/parabolaiso/vmlinuz.efi - cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img - - mkdir -p ${work_dir}/efiboot/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/ - - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi - - mkdir -p ${work_dir}/efiboot/loader/entries - cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v2-x86_64.conf ${work_dir}/efiboot/loader/entries/ - cp ${script_path}/efiboot/loader/entries/uefi-shell-v1-x86_64.conf ${work_dir}/efiboot/loader/entries/ - - sed "s|%PARABOLAISO_LABEL%|${iso_label}|g; - s|%INSTALL_DIR%|${install_dir}|g" \ - ${script_path}/efiboot/loader/entries/parabolaiso-x86_64-cd.conf > ${work_dir}/efiboot/loader/entries/parabolaiso-x86_64.conf - - cp ${work_dir}/iso/EFI/shellx64_v2.efi ${work_dir}/efiboot/EFI/ - cp ${work_dir}/iso/EFI/shellx64_v1.efi ${work_dir}/efiboot/EFI/ - - umount ${work_dir}/efiboot -} - -# Copy aitab -make_aitab() { - mkdir -p ${work_dir}/iso/${install_dir} - cp ${script_path}/aitab ${work_dir}/iso/${install_dir}/aitab -} - -# Build all filesystem images specified in aitab (.fs.sfs .sfs) -make_prepare() { - cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" pkglist - setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" prepare - rm -rf ${work_dir}/root-image - # rm -rf ${work_dir}/${arch}/root-image (if low space, this helps) -} - -# Build ISO -make_iso() { - mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" checksum - mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso "${iso_name}-${iso_version}-dual.iso" -} - -if [[ ${EUID} -ne 0 ]]; then - echo "This script must be run as root." - _usage 1 -fi - -if [[ ${arch} != x86_64 ]]; then - echo "This script needs to be run on x86_64" - _usage 1 -fi - -while getopts 'N:V:L:D:w:o:vh' arg; do - case "${arg}" in - N) iso_name="${OPTARG}" ;; - V) iso_version="${OPTARG}" ;; - L) iso_label="${OPTARG}" ;; - D) install_dir="${OPTARG}" ;; - w) work_dir="${OPTARG}" ;; - o) out_dir="${OPTARG}" ;; - v) verbose="-v" ;; - h) _usage 0 ;; - *) - echo "Invalid argument '${arg}'" - _usage 1 - ;; - esac -done - -mkdir -p ${work_dir} - -run_once make_pacman_conf - -# Do all stuff for each root-image -for arch in i686 x86_64; do - run_once make_basefs - run_once make_packages - run_once make_setup_mkinitcpio - run_once make_customize_root_image -done - -for arch in i686 x86_64; do - run_once make_boot -done - -# Do all stuff for "iso" -run_once make_boot_extra -run_once make_syslinux -run_once make_isolinux -run_once make_efi -run_once make_efiboot - -run_once make_aitab - -for arch in i686 x86_64; do - run_once make_prepare -done - -run_once make_iso diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf deleted file mode 100644 index 057e14f..0000000 --- a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-cd.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI CD -linux /EFI/parabolaiso/vmlinuz.efi -initrd /EFI/parabolaiso/parabolaiso.img -options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf deleted file mode 100644 index 3863799..0000000 --- a/configs/releng/efiboot/loader/entries/parabolaiso-x86_64-usb.conf +++ /dev/null @@ -1,4 +0,0 @@ -title Parabola GNU/Linux-libre parabolaiso x86_64 UEFI USB -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz -initrd /%INSTALL_DIR%/boot/x86_64/parabolaiso.img -options parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf deleted file mode 100644 index 9597ff2..0000000 --- a/configs/releng/efiboot/loader/entries/uefi-shell-v1-x86_64.conf +++ /dev/null @@ -1,2 +0,0 @@ -title UEFI Shell x86_64 v1 -efi /EFI/shellx64_v1.efi diff --git a/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf deleted file mode 100644 index 0dde77a..0000000 --- a/configs/releng/efiboot/loader/entries/uefi-shell-v2-x86_64.conf +++ /dev/null @@ -1,2 +0,0 @@ -title UEFI Shell x86_64 v2 -efi /EFI/shellx64_v2.efi diff --git a/configs/releng/efiboot/loader/loader.conf b/configs/releng/efiboot/loader/loader.conf deleted file mode 100644 index ba02c50..0000000 --- a/configs/releng/efiboot/loader/loader.conf +++ /dev/null @@ -1,2 +0,0 @@ -timeout 3 -default parabolaiso-x86_64 diff --git a/configs/releng/isolinux/isolinux.cfg b/configs/releng/isolinux/isolinux.cfg deleted file mode 100644 index 3ee24e0..0000000 --- a/configs/releng/isolinux/isolinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/releng/mkinitcpio.conf b/configs/releng/mkinitcpio.conf deleted file mode 100644 index 1006d1d..0000000 --- a/configs/releng/mkinitcpio.conf +++ /dev/null @@ -1,2 +0,0 @@ -HOOKS="base udev memdisk parabolaiso_shutdown parabolaiso parabolaiso_loop_mnt parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_kms block pcmcia filesystems keyboard" -COMPRESSION="xz" diff --git a/configs/releng/packages.both b/configs/releng/packages.both deleted file mode 100644 index 8d6c9ff..0000000 --- a/configs/releng/packages.both +++ /dev/null @@ -1,60 +0,0 @@ -arch-install-scripts -b43-fwcutter -btrfs-progs -crda -darkhttpd -ddrescue -dhclient -dialog -dmraid -dnsmasq -dnsutils -dosfstools -elinks -ethtool -f2fs-tools -fsarchiver -gnu-netcat -gpm -gptfdisk -grml-zsh-config -grub -haveged -hdparm -ipw2100-fw -ipw2200-fw -irssi -lftp -linux-atm -mc -mtools -nfs-utils -nilfs-utils -nmap -ntfs-3g -ntp -openconnect -openssh -openvpn -partclone -parted -partimage -pptpclient -ppp -rfkill -rp-pppoe -rsync -smartmontools -speedtouch -sudo -tcpdump -testdisk -usb_modeswitch -vpnc -wget -wireless_tools -wpa_actiond -wvdial -xl2tpd -zd1211-firmware -zsh diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686 deleted file mode 100644 index e69de29..0000000 diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64 deleted file mode 100644 index 407ead2..0000000 --- a/configs/releng/packages.x86_64 +++ /dev/null @@ -1,3 +0,0 @@ -gummiboot -prebootloader -refind-efi diff --git a/configs/releng/pacman.conf b/configs/releng/pacman.conf deleted file mode 100644 index 800d572..0000000 --- a/configs/releng/pacman.conf +++ /dev/null @@ -1,92 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -#GPGDir = /etc/pacman.d/gnupg/ -HoldPkg = pacman glibc -#XferCommand = /usr/bin/curl -C - -f %u > %o -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#CleanMethod = KeepInstalled -#UseDelta = 0.7 -Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options -#UseSyslog -#Color -#TotalDownload -# We cannot check disk space from within a chroot environment -#CheckSpace -#VerbosePkgLists - -# By default, pacman accepts packages signed by keys that its local keyring -# trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -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`. - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -#Include = /etc/pacman.d/mirrorlist - -[core] -Include = /etc/pacman.d/mirrorlist - -[extra] -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -#Include = /etc/pacman.d/mirrorlist - -[community] -Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#SigLevel = Optional TrustAll -#Server = file:///home/custompkgs - diff --git a/configs/releng/root-image/etc/fstab b/configs/releng/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/releng/root-image/etc/hostname b/configs/releng/root-image/etc/hostname deleted file mode 100644 index 8aaf41b..0000000 --- a/configs/releng/root-image/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -parabolaiso diff --git a/configs/releng/root-image/etc/locale.conf b/configs/releng/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/releng/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/releng/root-image/etc/pam.d/su b/configs/releng/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/releng/root-image/etc/pam.d/su +++ /dev/null @@ -1,6 +0,0 @@ -#%PAM-1.0 -auth sufficient pam_rootok.so -auth sufficient pam_wheel.so trust use_uid -auth required pam_unix.so -account required pam_unix.so -session required pam_unix.so diff --git a/configs/releng/root-image/etc/sudoers.d/g_wheel b/configs/releng/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/releng/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/releng/root-image/etc/systemd/scripts/choose-mirror b/configs/releng/root-image/etc/systemd/scripts/choose-mirror deleted file mode 100755 index 13c9f69..0000000 --- a/configs/releng/root-image/etc/systemd/scripts/choose-mirror +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -get_cmdline() { - local param - for param in $(< /proc/cmdline); do - case "${param}" in - $1=*) echo "${param##*=}"; - return 0 - ;; - esac - done -} - -mirror=$(get_cmdline mirror) -[[ $mirror = auto ]] && mirror=$(get_cmdline parabolaiso_http_srv) -[[ $mirror ]] || exit 0 - -mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.orig -cat >/etc/pacman.d/mirrorlist << EOF -# -# Parabola GNU/Linux-libre repository mirrorlist -# Generated by parabolaiso -# - -Server = ${mirror%%/}/\$repo/os/\$arch -EOF diff --git a/configs/releng/root-image/etc/systemd/system/choose-mirror.service b/configs/releng/root-image/etc/systemd/system/choose-mirror.service deleted file mode 100644 index 1e4d771..0000000 --- a/configs/releng/root-image/etc/systemd/system/choose-mirror.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Choose mirror from the kernel command line -ConditionKernelCommandLine=mirror - -[Service] -Type=oneshot -ExecStart=/etc/systemd/scripts/choose-mirror - -[Install] -WantedBy=multi-user.target diff --git a/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount deleted file mode 100644 index 4eab551..0000000 --- a/configs/releng/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Temporary /etc/pacman.d/gnupg directory - -[Mount] -What=tmpfs -Where=/etc/pacman.d/gnupg -Type=tmpfs -Options=mode=0755 diff --git a/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf deleted file mode 100644 index d1d8474..0000000 --- a/configs/releng/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf +++ /dev/null @@ -1,3 +0,0 @@ -[Service] -ExecStart= -ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux diff --git a/configs/releng/root-image/etc/systemd/system/pacman-init.service b/configs/releng/root-image/etc/systemd/system/pacman-init.service deleted file mode 100644 index 23b8144..0000000 --- a/configs/releng/root-image/etc/systemd/system/pacman-init.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Initializes Pacman keyring -Wants=haveged.service -After=haveged.service -Requires=etc-pacman.d-gnupg.mount -After=etc-pacman.d-gnupg.mount - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/bin/pacman-key --init -ExecStart=/usr/bin/pacman-key --populate archlinux - -[Install] -WantedBy=multi-user.target diff --git a/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules deleted file mode 100644 index 970da69..0000000 --- a/configs/releng/root-image/etc/udev/rules.d/81-dhcpcd.rules +++ /dev/null @@ -1 +0,0 @@ -ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" diff --git a/configs/releng/root-image/root/.automated_script.sh b/configs/releng/root-image/root/.automated_script.sh deleted file mode 100755 index fb106da..0000000 --- a/configs/releng/root-image/root/.automated_script.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -script_cmdline () -{ - local param - for param in $(< /proc/cmdline); do - case "${param}" in - script=*) echo "${param##*=}" ; return 0 ;; - esac - done -} - -automated_script () -{ - local script rt - script="$(script_cmdline)" - if [[ -n "${script}" && ! -x /tmp/startup_script ]]; then - if [[ "${script}" =~ ^http:// || "${script}" =~ ^ftp:// ]]; then - wget "${script}" --retry-connrefused -q -O /tmp/startup_script >/dev/null - rt=$? - else - cp "${script}" /tmp/startup_script - rt=$? - fi - if [[ ${rt} -eq 0 ]]; then - chmod +x /tmp/startup_script - /tmp/startup_script - fi - fi -} - -if [[ $(tty) == "/dev/tty1" ]]; then - automated_script -fi diff --git a/configs/releng/root-image/root/.zlogin b/configs/releng/root-image/root/.zlogin deleted file mode 100644 index f598e43..0000000 --- a/configs/releng/root-image/root/.zlogin +++ /dev/null @@ -1 +0,0 @@ -~/.automated_script.sh diff --git a/configs/releng/root-image/root/customize_root_image.sh b/configs/releng/root-image/root/customize_root_image.sh deleted file mode 100755 index 7c9a003..0000000 --- a/configs/releng/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -set -e -u - -sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen -locale-gen - -ln -sf /usr/share/zoneinfo/UTC /etc/localtime - -usermod -s /usr/bin/zsh root -cp -aT /etc/skel/ /root/ - -useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /usr/bin/zsh parabola - -chmod 750 /etc/sudoers.d -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 diff --git a/configs/releng/root-image/root/install.txt b/configs/releng/root-image/root/install.txt deleted file mode 100644 index 87b85cb..0000000 --- a/configs/releng/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/releng/syslinux/parabolaiso.cfg b/configs/releng/syslinux/parabolaiso.cfg deleted file mode 100644 index 473e245..0000000 --- a/configs/releng/syslinux/parabolaiso.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT select - -LABEL select -COM32 boot/syslinux/whichsys.c32 -APPEND -pxe- pxe -sys- sys -iso- sys - -LABEL pxe -CONFIG boot/syslinux/parabolaiso_pxe_choose.cfg - -LABEL sys -CONFIG boot/syslinux/parabolaiso_sys_choose.cfg diff --git a/configs/releng/syslinux/parabolaiso_head.cfg b/configs/releng/syslinux/parabolaiso_head.cfg deleted file mode 100644 index 278255d..0000000 --- a/configs/releng/syslinux/parabolaiso_head.cfg +++ /dev/null @@ -1,25 +0,0 @@ -SERIAL 0 38400 -UI boot/syslinux/vesamenu.c32 -MENU TITLE Parabola GNU/Linux-libre -MENU BACKGROUND boot/syslinux/splash.png - -MENU WIDTH 78 -MENU MARGIN 4 -MENU ROWS 7 -MENU VSHIFT 10 -MENU TABMSGROW 14 -MENU CMDLINEROW 14 -MENU HELPMSGROW 16 -MENU HELPMSGENDROW 29 - -# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu - -MENU COLOR border 30;44 #40ffffff #a0000000 std -MENU COLOR title 1;36;44 #9033ccff #a0000000 std -MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all -MENU COLOR unsel 37;44 #50ffffff #a0000000 std -MENU COLOR help 37;40 #c0ffffff #a0000000 std -MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std -MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std -MENU COLOR msg07 37;40 #90ffffff #a0000000 std -MENU COLOR tabmsg 31;40 #30ffffff #00000000 std diff --git a/configs/releng/syslinux/parabolaiso_pxe32.cfg b/configs/releng/syslinux/parabolaiso_pxe32.cfg deleted file mode 100644 index 60bc713..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe32.cfg +++ /dev/null @@ -1,32 +0,0 @@ -LABEL parabola32_nbd -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using NBD). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NBD) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} -IPAPPEND 3 - -LABEL parabola32_nfs -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using NFS). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (NFS) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt -IPAPPEND 3 - -LABEL parabola32_http -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium (Using HTTP). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) (HTTP) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ -IPAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe64.cfg b/configs/releng/syslinux/parabolaiso_pxe64.cfg deleted file mode 100644 index 34bf7d7..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe64.cfg +++ /dev/null @@ -1,32 +0,0 @@ -LABEL parabola64_nbd -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NBD). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NBD) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% parabolaiso_nbd_srv=${pxeserver} -IPAPPEND 3 - -LABEL parabola64_nfs -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using NFS). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (NFS) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_nfs_srv=${pxeserver}:/run/parabolaiso/bootmnt -IPAPPEND 3 - -LABEL parabola64_http -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium (Using HTTP). -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) (HTTP) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaiso_http_srv=http://${pxeserver}/ -IPAPPEND 3 diff --git a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg deleted file mode 100644 index ba514cb..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_32_inc.cfg +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_pxe32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg deleted file mode 100644 index 9396d9b..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_both_inc.cfg +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_pxe64.cfg -INCLUDE boot/syslinux/parabolaiso_pxe32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg b/configs/releng/syslinux/parabolaiso_pxe_choose.cfg deleted file mode 100644 index a3a768f..0000000 --- a/configs/releng/syslinux/parabolaiso_pxe_choose.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT choose - -LABEL choose -COM32 boot/syslinux/ifcpu64.c32 -APPEND have64 -- nohave64 - -LABEL have64 -CONFIG boot/syslinux/parabolaiso_pxe_both_inc.cfg - -LABEL nohave64 -CONFIG boot/syslinux/parabolaiso_pxe_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys32.cfg b/configs/releng/syslinux/parabolaiso_sys32.cfg deleted file mode 100644 index 4abdf7a..0000000 --- a/configs/releng/syslinux/parabolaiso_sys32.cfg +++ /dev/null @@ -1,9 +0,0 @@ -LABEL parabola32 -TEXT HELP -Boot the Parabola GNU/Linux-libre (i686) live medium. -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (i686) -LINUX boot/i686/vmlinuz -INITRD boot/i686/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys64.cfg b/configs/releng/syslinux/parabolaiso_sys64.cfg deleted file mode 100644 index b154459..0000000 --- a/configs/releng/syslinux/parabolaiso_sys64.cfg +++ /dev/null @@ -1,9 +0,0 @@ -LABEL parabola64 -TEXT HELP -Boot the Parabola GNU/Linux-libre (x86_64) live medium. -It allows you to install Parabola GNU/Linux-libre or perform system maintenance. -ENDTEXT -MENU LABEL Boot Parabola GNU/Linux-libre (x86_64) -LINUX boot/x86_64/vmlinuz -INITRD boot/x86_64/parabolaiso.img -APPEND parabolaisobasedir=%INSTALL_DIR% parabolaisolabel=%PARABOLAISO_LABEL% diff --git a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg deleted file mode 100644 index c641201..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_32_inc.cfg +++ /dev/null @@ -1,3 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_sys32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg b/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg deleted file mode 100644 index 9dfb87f..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_both_inc.cfg +++ /dev/null @@ -1,4 +0,0 @@ -INCLUDE boot/syslinux/parabolaiso_head.cfg -INCLUDE boot/syslinux/parabolaiso_sys64.cfg -INCLUDE boot/syslinux/parabolaiso_sys32.cfg -INCLUDE boot/syslinux/parabolaiso_tail.cfg diff --git a/configs/releng/syslinux/parabolaiso_sys_choose.cfg b/configs/releng/syslinux/parabolaiso_sys_choose.cfg deleted file mode 100644 index d436062..0000000 --- a/configs/releng/syslinux/parabolaiso_sys_choose.cfg +++ /dev/null @@ -1,11 +0,0 @@ -DEFAULT choose - -LABEL choose -COM32 boot/syslinux/ifcpu64.c32 -APPEND have64 -- nohave64 - -LABEL have64 -CONFIG boot/syslinux/parabolaiso_sys_both_inc.cfg - -LABEL nohave64 -CONFIG boot/syslinux/parabolaiso_sys_32_inc.cfg diff --git a/configs/releng/syslinux/parabolaiso_tail.cfg b/configs/releng/syslinux/parabolaiso_tail.cfg deleted file mode 100644 index 5d95b3b..0000000 --- a/configs/releng/syslinux/parabolaiso_tail.cfg +++ /dev/null @@ -1,27 +0,0 @@ -LABEL existing -TEXT HELP -Boot an existing operating system. -Press TAB to edit the disk and partition number to boot. -ENDTEXT -MENU LABEL Boot existing OS -COM32 boot/syslinux/chain.c32 -APPEND hd0 0 - -# http://www.memtest.org/ -LABEL memtest -MENU LABEL Run Memtest86+ (RAM test) -LINUX boot/memtest - -# http://hdt-project.org/ -LABEL hdt -MENU LABEL Hardware Information (HDT) -COM32 boot/syslinux/hdt.c32 -APPEND modules_alias=boot/syslinux/hdt/modalias.gz pciids=boot/syslinux/hdt/pciids.gz - -LABEL reboot -MENU LABEL Reboot -COM32 boot/syslinux/reboot.c32 - -LABEL poweroff -MENU LABEL Power Off -COMBOOT boot/syslinux/poweroff.com diff --git a/configs/releng/syslinux/splash.png b/configs/releng/syslinux/splash.png deleted file mode 100644 index 64b959a..0000000 Binary files a/configs/releng/syslinux/splash.png and /dev/null differ diff --git a/configs/releng/syslinux/syslinux.cfg b/configs/releng/syslinux/syslinux.cfg deleted file mode 100644 index 0869ed2..0000000 --- a/configs/releng/syslinux/syslinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG parabolaiso.cfg - APPEND ../../ -- cgit v1.2.2 From ee1b7425fe82506dd86a2f3f32c3bc348dba508e Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:39 -0300 Subject: Revert "[configs/releng] Add SecureBoot support via prebootloader" This reverts commit 3e4740484edd23d6c1db42ab24c3555e8ab6b03a. --- configs/profile/build.sh | 10 ++-------- configs/profile/packages.x86_64 | 1 - 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/configs/profile/build.sh b/configs/profile/build.sh index 7d9fdac..5facf0f 100755 --- a/configs/profile/build.sh +++ b/configs/profile/build.sh @@ -125,10 +125,7 @@ make_isolinux() { # Prepare /EFI make_efi() { mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/iso/EFI/boot/ - - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/loader.efi + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi mkdir -p ${work_dir}/iso/loader/entries cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ @@ -159,10 +156,7 @@ make_efiboot() { cp ${work_dir}/iso/${install_dir}/boot/x86_64/parabolaiso.img ${work_dir}/efiboot/EFI/parabolaiso/parabolaiso.img mkdir -p ${work_dir}/efiboot/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi - cp ${work_dir}/x86_64/root-image/usr/lib/prebootloader/HashTool.efi ${work_dir}/efiboot/EFI/boot/ - - cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/loader.efi + cp ${work_dir}/x86_64/root-image/usr/lib/gummiboot/gummibootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi mkdir -p ${work_dir}/efiboot/loader/entries cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ diff --git a/configs/profile/packages.x86_64 b/configs/profile/packages.x86_64 index 407ead2..956e946 100644 --- a/configs/profile/packages.x86_64 +++ b/configs/profile/packages.x86_64 @@ -1,3 +1,2 @@ gummiboot -prebootloader refind-efi -- cgit v1.2.2 From 7ef132954bce48b900cb50026b2ce4ddca284925 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:39 -0300 Subject: Change syslinux menu colors (done by Emulatorman). --- configs/profile/syslinux/parabolaiso_head.cfg | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/configs/profile/syslinux/parabolaiso_head.cfg b/configs/profile/syslinux/parabolaiso_head.cfg index 278255d..a245309 100644 --- a/configs/profile/syslinux/parabolaiso_head.cfg +++ b/configs/profile/syslinux/parabolaiso_head.cfg @@ -14,12 +14,12 @@ MENU HELPMSGENDROW 29 # Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu -MENU COLOR border 30;44 #40ffffff #a0000000 std -MENU COLOR title 1;36;44 #9033ccff #a0000000 std -MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all -MENU COLOR unsel 37;44 #50ffffff #a0000000 std -MENU COLOR help 37;40 #c0ffffff #a0000000 std -MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std -MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std -MENU COLOR msg07 37;40 #90ffffff #a0000000 std -MENU COLOR tabmsg 31;40 #30ffffff #00000000 std +MENU COLOR border 35;40 #ff777caa #a0000000 std +MENU COLOR title 1;35;40 #ff777caa #a0000000 std +MENU COLOR sel 7;35;47 #e0ffffff #20777caa all +MENU COLOR unsel 35;40 #ff777caa #a0000000 std +MENU COLOR help 35;40 #c0b2b2b2 #a0000000 std +MENU COLOR timeout_msg 35;40 #ff777caa #00000000 std +MENU COLOR timeout 1;35;40 #ff777caa #00000000 std +MENU COLOR msg07 35;40 #ff777caa #a0000000 std +MENU COLOR tabmsg 35;40 #ff777caa #00000000 std -- cgit v1.2.2 From 39c18ebbc709ebafd3696a664ac77b65db9f8cf5 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:39 -0300 Subject: Update network.html. --- configs/profile/root-image/root/network.html | 290 ++++++++++----------------- 1 file changed, 108 insertions(+), 182 deletions(-) diff --git a/configs/profile/root-image/root/network.html b/configs/profile/root-image/root/network.html index b6bd5cc..057e680 100644 --- a/configs/profile/root-image/root/network.html +++ b/configs/profile/root-image/root/network.html @@ -1,265 +1,191 @@ - - - -

Start installing - Establish an internet connection

-

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 Installation Guide (online link) can be followed to complete the installation.

-
- - - -
-
-

Contents

-
+Online version: https://wiki.parabolagnulinux.org/Start_installing + - - -

Contents

-
- -

Installation

+
+

Start installing

You are now presented with a shell prompt, automatically logged in as root.

-

Change the language

-
Tip: 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.
-

By default, the keyboard layout is set to us. If you have a non-US keyboard layout, run: +

Change the language

+
Tip: 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.
+

By default, the keyboard layout is set to us. If you have a non-US keyboard layout, run:

# loadkeys layout
 
-

...where layout can be fr, uk, be-latin1, etc. See here for a comprehensive list. -

-

The font should also be changed, because most languages use more glyphs than the 26 letter English alphabet. 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 exactly as you see it: +

...where layout can be fr, uk, dvorak, be-latin1, etc. See here for a comprehensive list. +

The font should also be changed, because most languages use more glyphs than the 26 letter English alphabet. 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 exactly as you see it:

# setfont Lat2-Terminus16
 
-

By default, the language is set to English (US). If you would like to change the language for the install process (German, in this example), remove the # in front of the locale you want from /etc/locale.gen, along with English (US). Please choose the UTF-8 entry. -

-

Use Ctrl+X to exit, and when prompted to save changes, press Y and Enter to use the same filename. -

-
# nano /etc/locale.gen
-
en_US.UTF-8 UTF-8
-de_DE.UTF-8 UTF-8# locale-gen
+

By default, the language is set to English (US). If you would like to change the language for the install process (German, in this example), remove the # in front of the locale you want from /etc/locale.gen, along with English (US). Please choose the UTF-8 entry. +

Use Ctrl+X to exit, and when prompted to save changes, press Y and Enter to use the same filename. +

+
# nano /etc/locale.gen
+
+en_US.UTF-8 UTF-8
+de_DE.UTF-8 UTF-8
+
# locale-gen
 # export LANG=de_DE.UTF-8
 
-

Remember, LAlt+LShift activates and deactivates the keymap. -

-

Establish an internet connection

-
Warning: 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.
-

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 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames . +

Remember, LAlt+LShift activates and deactivates the keymap.

-

The dhcpcd 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... +

Establish an internet connection

+
Warning: As of v197, udev no longer assigns network interface names according to the wlanX and ethX naming scheme. If you are 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 command ip link to discover the names of your interfaces.
+

The dhcpcd network daemon starts automatically during boot and it will attempt to start a wired connection. Try to ping a server to see if a connection was established. For example, gnu.org:

-
# ping -c 3 www.google.com
-
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
+
# ping -c 3 gnu.org
+
PING gnu.org (208.118.235.148) 56(84) bytes of data.
+64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=1 ttl=47 time=183 ms
+64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=2 ttl=47 time=168 ms
+64 bytes from wildebeest.gnu.org (208.118.235.148): icmp_seq=3 ttl=47 time=183 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
-

If you get a ping: unknown host 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. +--- gnu.org ping statistics --- +3 packets transmitted, 3 received, 0% packet loss, time 2002ms +rtt min/avg/max/mdev = 168.131/178.357/183.914/7.248 ms

+

If you get a ping: unknown host error, first check if there is an issue with your cable or wireless signal strength. If not, you will need to set up the network manually, as explained below. Once a connection is established move on to Installation Guide.

-

Otherwise, move on to Prepare the storage drive. -

-

Wired

+

Wired

Follow this procedure if you need to set up a wired connection via a static IP address. +

First, disable the dhcpcd service which was started automatically at boot:

-

First, identify the name of your ethernet interface. +

# systemctl stop dhcpcd.service
+
+

Identify the name of your Ethernet interface.

-
# ip link
-
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
+
# ip link
+
+1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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
-

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: +

In this example, the Ethernet interface is enp2s0f0. If you are 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:

-
# iwconfig
-
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   
+
# iwconfig
+
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  
+          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.
-

In this example, neither enp2s0f0 nor the loopback device have wireless extensions, meaning enp2s0f0 is our ethernet interface. -

-

You also need to know these settings: +

In this example, neither enp2s0f0 nor the loopback device have wireless extensions, meaning enp2s0f0 is our Ethernet interface. +

You also need to know these settings:

-
    -
  • Static IP address. -
  • -
  • Subnet mask. -
  • -
  • Gateway's IP address. -
  • -
  • Name servers' (DNS) IP addresses. -
  • -
  • Domain name (unless you're on a local LAN, in which case you can make it up). -
  • -
-

Activate the connected Ethernet interface (e.g. enp2s0f0): +

  • Static IP address. +
  • Subnet mask. +
  • Gateway's IP address. +
  • Name servers' (DNS) IP addresses. +
  • Domain name (unless you are on a local LAN, in which case you can make it up). +
+

Activate the connected Ethernet interface (e.g. enp2s0f0):

# ip link set enp2s0f0 up
 

Add the address:

-
# ip addr add <ip address>/<subnetmask> dev <interface>
+
# ip addr add ip_address/subnetmask dev interface_name
 

For example:

# ip addr add 192.168.1.2/24 dev enp2s0f0
 
-

For more options, run man ip. +

For more options, run man ip. +

Add your gateway like this, substituting your own gateway's IP address:

-

Add your gateway like this, substituting your own gateway's IP address: -

-
# ip route add default via <ip address>
+
# ip route add default via ip_address
 

For example:

# ip route add default via 192.168.1.1
 
-

Edit resolv.conf, substituting your name servers' IP addresses and your local domain name: +

Edit resolv.conf, substituting your name servers' IP addresses and your local domain name:

-
# nano /etc/resolv.conf
-
nameserver 61.23.173.5
+
# nano /etc/resolv.conf
+
+nameserver 61.23.173.5
 nameserver 61.95.849.8
 search example.com
-
Note: Currently, you may include a maximum of 3 nameserver lines.
-

You should now have a working network connection. If you do not, check the detailed Network Configuration page. +

Note: Currently, you may include a maximum of three nameserver lines. In order to overcome this limitation, you can use a locally caching nameserver like Dnsmasq.
+

You should now have a working network connection. If you do not, check the detailed Network Configuration page.

-

Wireless

+

Wireless

Follow this procedure if you need wireless connectivity (Wi-Fi) during the installation process. +

First, identify the name of your wireless interface.

-

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 iwconfig to discover the name of your wireless interface. -

-

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 executed at this point in the installation will initialize your wireless hardware for use in the live environment of the installation media. These steps (or some other form of wireless management) must be repeated from the actual installed system after booting into it. -

-

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. -

-
Note: The following examples use wlp3s0 for the interface and linksys for the ESSID. Remember to change these values according to your setup.
-

The basic procedure will be: +

# iw dev
+
phy#0
+        Interface wlp3s0
+                ifindex 3
+                wdev 0x1
+                addr 00:21:6a:5e:52:bc
+                type managed
+

In this example, wlp3s0 is the available wireless interface. If you are unsure, your wireless interface is likely to start with the letter "w", and unlikely to be "lo" or start with the letter "e".

-
    -
  • Identify the wireless interface: -
  • -
-
# lspci | grep -i net
-
-

Or, if using a USB adapter: +

Note: If you do not see output similar to this, then your wireless driver has not been loaded. Please see Wireless Setup for more detailed information.
+

Bring the interface up with:

-
# lsusb
-
-
    -
  • Ensure udev has loaded the driver, and that the driver has created a usable wireless kernel interface with iwconfig: -
  • -
-
Note: 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 Wireless Setup for more detailed information.
-
# iwconfig
-
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.
-

In this example, wlp3s0 is the available wireless interface. -

-
    -
  • Bring the interface up with: -
  • -
# ip link set wlp3s0 up
 
-

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: -

-
# ip link set wlp3s0 up
-
SIOCSIFFLAGS: No such file or directory
-

If unsure, invoke dmesg to query the kernel log for a firmware request from the wireless chipset. -

-

Example output from an Intel chipset which requires and has requested firmware from the kernel at boot: -

-
# dmesg | grep firmware
-
firmware: requesting iwlwifi-5000-1.ucode
-

If there is no output, it may be concluded that the system's wireless chipset does not require firmware. -

-
Warning: Wireless chipset firmware packages (for cards which require them) are pre-installed under /usr/lib/firmware in the live environment (on CD/USB stick) but must be explicitly installed to your actual system to provide wireless functionality after you reboot into it! Package installation is covered later in this guide. Ensure installation of both your wireless module and firmware before rebooting! See Wireless Setup if you are unsure about the requirement of corresponding firmware installation for your particular chipset.
-

Next, use netcfg's wifi-menu to connect to a network: +

If you get this error message: SIOCSIFFLAGS: No such file or directory, your wireless chipset could need a non-free firmware to function. This is not supported on Parabola. Please see Wireless Setup if you are unsure if this is the true for your particular chipset. +

Next, use netctl's wifi-menu to connect to a network:

# wifi-menu wlp3s0
 
-
Warning: 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.
-

You should now have a working network connection. If you do not, check the detailed Wireless Setup page. +

You should now have a working network connection. If you do not, check the detailed Wireless Setup page. +

Alternatively, use iw dev wlp3s0 scan | grep SSID to scan for available networks, then connect to a network with:

-

xDSL (PPPoE), analog modem or ISDN

-

If you have a router in bridge mode, run: -

-
# pppoe-setup
+
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
 
-
    -
  • Type in the username that the ISP provided you with. -
  • -
  • Press Enter for "eth0". -
  • -
  • Press Enter for "no", so that it stays up continuously. -
  • -
  • Type server (since this is usually the case). -
  • -
  • Press 1 for a firewall. -
  • -
  • Type in the password that the ISP provided you with. -
  • -
  • Press Y at the end. -
  • -
-

To use these settings and connect to your ISP, run: +

You need to replace ssid with the name of your network (e.g. "Linksys etc...") and psk with your wireless password, leaving the quotes around the network name and password. +

Finally, you have to give your interface an IP address. This can be set manually or using the dhcp:

-
# pppoe-start
+
# dhcpcd wlp3s0
 
-

You may also need to adjust your resolv.conf: +

If that does not work, issue the following commands:

-
# echo nameserver 8.8.8.8 > /etc/resolv.conf
+
# echo 'ctrl_interface=DIR=/run/wpa_supplicant' > /etc/wpa_supplicant.conf
+# wpa_passphrase <ssid> <passphrase> >> /etc/wpa_supplicant.conf
+# ip link set <interface> up # May not be needed as dhcpcd should bring it up but may be needed for wpa_supplicant.
+# wpa_supplicant -B -D nl80211 -c /foobar.conf -i <interface name>
+# dhcpcd -A <interface name>
 
-

If you have a dial-up or ISDN connection, see Direct Modem Connection. +

Analog modem, ISDN or PPPoE DSL

+

For xDSL, dial-up and ISDN connections, see Direct Modem Connection. +

+

Behind a proxy server

+

If you are behind a proxy server, you will need to export the http_proxy and ftp_proxy environment variables. See Proxy settings for more information. +

+
+

This page was retrieved from: https://wiki.parabolagnulinux.org/index.php?title=Start_installing&oldid=5138 +

+

Content is available under GNU Free Documentation License 1.3 (or at your option, any later version).

-

Behind a proxy server

-

If you are behind a proxy server, you will need to export the http_proxy and ftp_proxy environment variables. See Proxy settings for more information.

- - - - - - + -- cgit v1.2.2 From 5f36bc3825293dee9e407c65d2950030c37fdaa7 Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:39 -0300 Subject: Remove Atheros alx driver package. Now it is included in Linux-libre. --- configs/profile/packages.both | 1 - 1 file changed, 1 deletion(-) diff --git a/configs/profile/packages.both b/configs/profile/packages.both index e269f33..65d5651 100644 --- a/configs/profile/packages.both +++ b/configs/profile/packages.both @@ -23,7 +23,6 @@ hdparm irssi lftp linux-atm -linux-libre-kmod-alx lynx mc mtools -- cgit v1.2.2 From 073ecf773ecc7e6112d091392063e99511b0139b Mon Sep 17 00:00:00 2001 From: Esteban Carnevale Date: Mon, 2 Sep 2013 20:03:39 -0300 Subject: Change disk label to PARA_YYYYMM because the limit is 11 characters. --- configs/profile/build.sh | 2 +- docs/README.altbootmethods | 4 ++-- docs/README.transfer | 2 +- parabolaiso/mkparabolaiso | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/configs/profile/build.sh b/configs/profile/build.sh index 5facf0f..a978772 100755 --- a/configs/profile/build.sh +++ b/configs/profile/build.sh @@ -3,7 +3,7 @@ set -e -u iso_name=parabola -iso_label="PARABOLA_$(date +%Y%m)" +iso_label="PARA_$(date +%Y%m)" iso_version=$(date +%Y.%m.%d) install_dir=parabola work_dir=work diff --git a/docs/README.altbootmethods b/docs/README.altbootmethods index 77ff917..d9acc89 100644 --- a/docs/README.altbootmethods +++ b/docs/README.altbootmethods @@ -114,12 +114,12 @@ methods can be used to serve the rest of live-medium. * NBD -Note: Adjust PARABOLA_201302 as needed. +Note: Adjust PARA_201302 as needed. # cat << EOF > /tmp/nbd-server.conf [generic] [parabolaiso] readonly = true - exportname = /dev/disk/by-label/PARABOLA_201302 + exportname = /dev/disk/by-label/PARA_201302 EOF # nbd-server -C /tmp/nbd-server.conf diff --git a/docs/README.transfer b/docs/README.transfer index fd916fc..f6879e0 100644 --- a/docs/README.transfer +++ b/docs/README.transfer @@ -56,7 +56,7 @@ Nomeclature: : Path to the ISO file parabola-..
-dual.iso (example: ~/parabola-2012.07.22-dual.iso) : Represents the filesystem label of the - (example: PARABOLA_201302) + (example: PARA_201302) * PC-BIOS (MBR): diff --git a/parabolaiso/mkparabolaiso b/parabolaiso/mkparabolaiso index 02e5b95..93e6995 100755 --- a/parabolaiso/mkparabolaiso +++ b/parabolaiso/mkparabolaiso @@ -10,7 +10,7 @@ pkg_list="" run_cmd="" quiet="y" pacman_conf="/etc/pacman.conf" -export iso_label="PARABOLA_$(date +%Y%m)" +export iso_label="PARA_$(date +%Y%m)" iso_publisher="Parabola GNU/Linux-libre " iso_application="Parabola GNU/Linux-libre Live/Rescue CD" install_dir="parabola" -- cgit v1.2.2