From 765756ae126d57735c22d59a7c1242f01443921e Mon Sep 17 00:00:00 2001 From: David P Date: Wed, 16 May 2018 21:08:49 -0400 Subject: modify entire source according to archiso32 and remove unused configs/talkingparabola-X11 Signed-off-by: David P --- .../lxde-openrc/airootfs/etc/X11/Xwrapper.config | 1 + .../lxde-openrc/airootfs/etc/conf.d/agetty.tty1 | 3 + configs/lxde-openrc/airootfs/etc/conf.d/hostname | 1 + configs/lxde-openrc/airootfs/etc/fstab | 0 .../lxde-openrc/airootfs/etc/init.d/pacman-init | 30 +++ configs/lxde-openrc/airootfs/etc/locale.conf | 1 + configs/lxde-openrc/airootfs/etc/motd | 17 ++ configs/lxde-openrc/airootfs/etc/pam.d/su | 6 + .../etc/skel/.config/lxsession/LXDE/desktop.conf | 48 ++++ .../skel/.config/pcmanfm/LXDE/desktop-items-0.conf | 14 ++ configs/lxde-openrc/airootfs/etc/sudoers.d/g_wheel | 1 + configs/lxde-openrc/airootfs/etc/wallpaper.png | Bin 0 -> 159460 bytes .../lxde-openrc/airootfs/root/.automated_script.sh | 34 +++ configs/lxde-openrc/airootfs/root/.codecheck | 2 + .../lxde-openrc/airootfs/root/.config/dconf/user | Bin 0 -> 6616 bytes .../root/.config/gtk-2.0/gtkfilechooser.ini | 11 + .../airootfs/root/.config/lxsession/LXDE/autostart | 4 + .../airootfs/root/.config/volumeicon/volumeicon | 25 ++ configs/lxde-openrc/airootfs/root/.keymap.sh | 116 +++++++++ configs/lxde-openrc/airootfs/root/.language.sh | 32 +++ .../.scriptsInstallation/language/en/install.sh | 227 +++++++++++++++++ .../language/en/systemConfig.sh | 271 +++++++++++++++++++++ .../language/en/userAccount.sh | 13 + .../.scriptsInstallation/language/es/install.sh | 227 +++++++++++++++++ .../language/es/systemConfig.sh | 271 +++++++++++++++++++++ .../language/es/userAccount.sh | 13 + .../.scriptsInstallation/language/gl/install.sh | 226 +++++++++++++++++ .../language/gl/systemConfig.sh | 271 +++++++++++++++++++++ .../language/gl/userAccount.sh | 13 + .../.scriptsInstallation/language/pt/install.sh | 227 +++++++++++++++++ .../language/pt/systemConfig.sh | 271 +++++++++++++++++++++ .../language/pt/userAccount.sh | 13 + .../root/.scriptsInstallation/parabolaicon.png | Bin 0 -> 857 bytes .../airootfs/root/.scriptsInstallation/x11.sh | 14 ++ .../airootfs/root/.themes/Parabola/index.theme | 13 + configs/lxde-openrc/airootfs/root/.xinitrc | 7 + configs/lxde-openrc/airootfs/root/.zlogin | 4 + .../root/Desktop/Parabola Installation CLI.desktop | 12 + .../airootfs/root/customize_airootfs.sh | 48 ++++ configs/lxde-openrc/airootfs/root/install.txt | 2 + configs/lxde-openrc/aitab | 3 - configs/lxde-openrc/build.sh | 152 +++++++----- configs/lxde-openrc/mkinitcpio.conf | 2 +- .../lxde-openrc/root-image/etc/conf.d/agetty.tty1 | 11 - configs/lxde-openrc/root-image/etc/conf.d/hostname | 2 - configs/lxde-openrc/root-image/etc/fstab | 0 .../lxde-openrc/root-image/etc/init.d/pacman-init | 31 --- configs/lxde-openrc/root-image/etc/locale.conf | 1 - configs/lxde-openrc/root-image/etc/motd | 13 - configs/lxde-openrc/root-image/etc/pam.d/su | 6 - .../etc/skel/.config/lxsession/LXDE/desktop.conf | 48 ---- .../skel/.config/pcmanfm/LXDE/desktop-items-0.conf | 14 -- .../lxde-openrc/root-image/etc/sudoers.d/g_wheel | 1 - .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 - configs/lxde-openrc/root-image/etc/wallpaper.png | Bin 159460 -> 0 bytes .../root-image/root/.automated_script.sh | 34 --- configs/lxde-openrc/root-image/root/.codecheck | 2 - .../lxde-openrc/root-image/root/.config/dconf/user | Bin 6616 -> 0 bytes .../root/.config/gtk-2.0/gtkfilechooser.ini | 11 - .../root/.config/lxsession/LXDE/autostart | 4 - .../root/.config/lxsession/LXDE/desktop.conf | 48 ---- .../root/.config/pcmanfm/LXDE/desktop-items-0.conf | 14 -- .../root-image/root/.config/volumeicon/volumeicon | 25 -- configs/lxde-openrc/root-image/root/.keymap.sh | 116 --------- configs/lxde-openrc/root-image/root/.language.sh | 32 --- .../.scriptsInstallation/language/en/install.sh | 227 ----------------- .../language/en/systemConfig.sh | 271 --------------------- .../language/en/userAccount.sh | 13 - .../.scriptsInstallation/language/es/install.sh | 227 ----------------- .../language/es/systemConfig.sh | 271 --------------------- .../language/es/userAccount.sh | 13 - .../.scriptsInstallation/language/gl/install.sh | 226 ----------------- .../language/gl/systemConfig.sh | 271 --------------------- .../language/gl/userAccount.sh | 13 - .../.scriptsInstallation/language/pt/install.sh | 227 ----------------- .../language/pt/systemConfig.sh | 271 --------------------- .../language/pt/userAccount.sh | 13 - .../root/.scriptsInstallation/parabolaicon.png | Bin 857 -> 0 bytes .../root-image/root/.scriptsInstallation/x11.sh | 14 -- .../root-image/root/.themes/Parabola/index.theme | 13 - configs/lxde-openrc/root-image/root/.xinitrc | 7 - configs/lxde-openrc/root-image/root/.zlogin | 4 - .../root/Desktop/Parabola Installation CLI.desktop | 12 - .../root-image/root/customize_root_image.sh | 42 ---- .../profile-openrc/airootfs/etc/conf.d/agetty.tty1 | 3 + .../profile-openrc/airootfs/etc/conf.d/hostname | 1 + configs/profile-openrc/airootfs/etc/fstab | 0 .../profile-openrc/airootfs/etc/init.d/pacman-init | 30 +++ configs/profile-openrc/airootfs/etc/locale.conf | 1 + configs/profile-openrc/airootfs/etc/motd | 17 ++ configs/profile-openrc/airootfs/etc/pam.d/su | 6 + .../profile-openrc/airootfs/etc/sudoers.d/g_wheel | 1 + .../airootfs/root/.automated_script.sh | 34 +++ configs/profile-openrc/airootfs/root/.zlogin | 1 + .../airootfs/root/customize_airootfs.sh | 41 ++++ configs/profile-openrc/airootfs/root/install.txt | 2 + configs/profile-openrc/aitab | 3 - configs/profile-openrc/build.sh | 144 ++++++----- configs/profile-openrc/mkinitcpio.conf | 2 +- configs/profile-openrc/packages.both | 1 + .../root-image/etc/conf.d/agetty.tty1 | 11 - .../profile-openrc/root-image/etc/conf.d/hostname | 2 - configs/profile-openrc/root-image/etc/fstab | 0 .../root-image/etc/init.d/pacman-init | 31 --- configs/profile-openrc/root-image/etc/locale.conf | 1 - configs/profile-openrc/root-image/etc/motd | 14 -- configs/profile-openrc/root-image/etc/pam.d/su | 6 - .../root-image/etc/sudoers.d/g_wheel | 1 - .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 - .../root-image/root/.automated_script.sh | 34 --- configs/profile-openrc/root-image/root/.zlogin | 1 - .../root-image/root/customize_root_image.sh | 39 --- .../profile-openrc/root-image/root/network.html | 191 --------------- configs/profile/airootfs/etc/fstab | 0 configs/profile/airootfs/etc/hostname | 1 + configs/profile/airootfs/etc/locale.conf | 1 + configs/profile/airootfs/etc/motd | 14 ++ configs/profile/airootfs/etc/pam.d/su | 6 + configs/profile/airootfs/etc/sudoers.d/g_wheel | 1 + .../airootfs/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 | 16 ++ .../airootfs/etc/udev/rules.d/81-dhcpcd.rules | 1 + configs/profile/airootfs/root/.automated_script.sh | 34 +++ configs/profile/airootfs/root/.zlogin | 1 + .../profile/airootfs/root/customize_airootfs.sh | 29 +++ configs/profile/airootfs/root/install.txt | 2 + configs/profile/aitab | 3 - configs/profile/build.sh | 149 ++++++----- configs/profile/mkinitcpio.conf | 2 +- 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/motd | 14 -- 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 | 16 -- .../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 | 22 -- configs/profile/root-image/root/network.html | 191 --------------- configs/talkingparabola-X11/aitab | 3 - configs/talkingparabola-X11/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 - .../talkingparabola-X11/efiboot/loader/loader.conf | 2 - configs/talkingparabola-X11/isolinux/isolinux.cfg | 6 - configs/talkingparabola-X11/mkinitcpio.conf | 3 - configs/talkingparabola-X11/packages.both | 97 -------- configs/talkingparabola-X11/packages.i686 | 0 configs/talkingparabola-X11/packages.x86_64 | 1 - configs/talkingparabola-X11/pacman.conf | 104 -------- configs/talkingparabola-X11/root-image/etc/fstab | 0 .../talkingparabola-X11/root-image/etc/hostname | 1 - .../talkingparabola-X11/root-image/etc/locale.conf | 1 - configs/talkingparabola-X11/root-image/etc/motd | 14 -- .../talkingparabola-X11/root-image/etc/pam.d/su | 6 - .../etc/skel/.config/autostart/orca.desktop | 5 - .../root-image/etc/skel/.xinitrc | 1 - .../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/livecd-alsa-unmuter.service | 15 -- .../etc/systemd/system/pacman-init.service | 16 -- .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 - .../root-image/root/customize_root_image.sh | 22 -- .../root-image/root/network.html | 191 --------------- .../root-image/usr/bin/livecd-alsa-unmuter | 8 - .../root-image/usr/bin/pick-a-card | 54 ---- .../root-image/usr/bin/talk-to-me | 10 - .../usr/share/livecd-sound/asound.conf.in | 12 - .../root-image/usr/share/livecd-sound/functions | 199 --------------- .../talkingparabola-X11/syslinux/parabolaiso.cfg | 11 - .../syslinux/parabolaiso_head.cfg | 25 -- .../syslinux/parabolaiso_pxe32.cfg | 32 --- .../syslinux/parabolaiso_pxe64.cfg | 32 --- .../syslinux/parabolaiso_pxe_32_inc.cfg | 3 - .../syslinux/parabolaiso_pxe_both_inc.cfg | 4 - .../syslinux/parabolaiso_pxe_choose.cfg | 11 - .../syslinux/parabolaiso_sys32.cfg | 9 - .../syslinux/parabolaiso_sys64.cfg | 9 - .../syslinux/parabolaiso_sys_32_inc.cfg | 3 - .../syslinux/parabolaiso_sys_both_inc.cfg | 4 - .../syslinux/parabolaiso_sys_choose.cfg | 11 - .../syslinux/parabolaiso_tail.cfg | 27 -- configs/talkingparabola-X11/syslinux/splash.png | Bin 31075 -> 0 bytes configs/talkingparabola-X11/syslinux/splash.svg | 258 -------------------- configs/talkingparabola-X11/syslinux/syslinux.cfg | 5 - configs/talkingparabola/airootfs/etc/fstab | 0 configs/talkingparabola/airootfs/etc/hostname | 1 + configs/talkingparabola/airootfs/etc/locale.conf | 1 + configs/talkingparabola/airootfs/etc/motd | 14 ++ configs/talkingparabola/airootfs/etc/pam.d/su | 6 + .../talkingparabola/airootfs/etc/sudoers.d/g_wheel | 1 + .../airootfs/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/livecd-alsa-unmuter.service | 15 ++ .../etc/systemd/system/pacman-init.service | 16 ++ .../airootfs/etc/udev/rules.d/81-dhcpcd.rules | 1 + .../airootfs/root/customize_airootfs.sh | 29 +++ configs/talkingparabola/airootfs/root/install.txt | 2 + .../airootfs/usr/bin/livecd-alsa-unmuter | 8 + .../talkingparabola/airootfs/usr/bin/pick-a-card | 54 ++++ .../talkingparabola/airootfs/usr/bin/talk-to-me | 10 + .../airootfs/usr/share/livecd-sound/asound.conf.in | 12 + .../airootfs/usr/share/livecd-sound/functions | 199 +++++++++++++++ configs/talkingparabola/aitab | 3 - configs/talkingparabola/build.sh | 149 ++++++----- configs/talkingparabola/mkinitcpio.conf | 3 +- configs/talkingparabola/root-image/etc/fstab | 0 configs/talkingparabola/root-image/etc/hostname | 1 - configs/talkingparabola/root-image/etc/locale.conf | 1 - configs/talkingparabola/root-image/etc/motd | 14 -- configs/talkingparabola/root-image/etc/pam.d/su | 6 - .../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/livecd-alsa-unmuter.service | 15 -- .../etc/systemd/system/pacman-init.service | 16 -- .../root-image/etc/udev/rules.d/81-dhcpcd.rules | 1 - .../root-image/root/customize_root_image.sh | 22 -- .../talkingparabola/root-image/root/network.html | 191 --------------- .../root-image/usr/bin/livecd-alsa-unmuter | 8 - .../talkingparabola/root-image/usr/bin/pick-a-card | 54 ---- .../talkingparabola/root-image/usr/bin/talk-to-me | 10 - .../usr/share/livecd-sound/asound.conf.in | 12 - .../root-image/usr/share/livecd-sound/functions | 199 --------------- 242 files changed, 3552 insertions(+), 5603 deletions(-) create mode 100644 configs/lxde-openrc/airootfs/etc/X11/Xwrapper.config create mode 100644 configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1 create mode 100644 configs/lxde-openrc/airootfs/etc/conf.d/hostname create mode 100644 configs/lxde-openrc/airootfs/etc/fstab create mode 100755 configs/lxde-openrc/airootfs/etc/init.d/pacman-init create mode 100644 configs/lxde-openrc/airootfs/etc/locale.conf create mode 100644 configs/lxde-openrc/airootfs/etc/motd create mode 100644 configs/lxde-openrc/airootfs/etc/pam.d/su create mode 100644 configs/lxde-openrc/airootfs/etc/skel/.config/lxsession/LXDE/desktop.conf create mode 100644 configs/lxde-openrc/airootfs/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf create mode 100644 configs/lxde-openrc/airootfs/etc/sudoers.d/g_wheel create mode 100644 configs/lxde-openrc/airootfs/etc/wallpaper.png create mode 100755 configs/lxde-openrc/airootfs/root/.automated_script.sh create mode 100644 configs/lxde-openrc/airootfs/root/.codecheck create mode 100644 configs/lxde-openrc/airootfs/root/.config/dconf/user create mode 100644 configs/lxde-openrc/airootfs/root/.config/gtk-2.0/gtkfilechooser.ini create mode 100644 configs/lxde-openrc/airootfs/root/.config/lxsession/LXDE/autostart create mode 100644 configs/lxde-openrc/airootfs/root/.config/volumeicon/volumeicon create mode 100755 configs/lxde-openrc/airootfs/root/.keymap.sh create mode 100755 configs/lxde-openrc/airootfs/root/.language.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/install.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/systemConfig.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/userAccount.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/install.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/systemConfig.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/userAccount.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/install.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/systemConfig.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/userAccount.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/install.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/systemConfig.sh create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/userAccount.sh create mode 100644 configs/lxde-openrc/airootfs/root/.scriptsInstallation/parabolaicon.png create mode 100755 configs/lxde-openrc/airootfs/root/.scriptsInstallation/x11.sh create mode 100644 configs/lxde-openrc/airootfs/root/.themes/Parabola/index.theme create mode 100644 configs/lxde-openrc/airootfs/root/.xinitrc create mode 100644 configs/lxde-openrc/airootfs/root/.zlogin create mode 100755 configs/lxde-openrc/airootfs/root/Desktop/Parabola Installation CLI.desktop create mode 100755 configs/lxde-openrc/airootfs/root/customize_airootfs.sh create mode 100644 configs/lxde-openrc/airootfs/root/install.txt delete mode 100644 configs/lxde-openrc/aitab delete mode 100644 configs/lxde-openrc/root-image/etc/conf.d/agetty.tty1 delete mode 100644 configs/lxde-openrc/root-image/etc/conf.d/hostname delete mode 100644 configs/lxde-openrc/root-image/etc/fstab delete mode 100755 configs/lxde-openrc/root-image/etc/init.d/pacman-init delete mode 100644 configs/lxde-openrc/root-image/etc/locale.conf delete mode 100644 configs/lxde-openrc/root-image/etc/motd delete mode 100644 configs/lxde-openrc/root-image/etc/pam.d/su delete mode 100644 configs/lxde-openrc/root-image/etc/skel/.config/lxsession/LXDE/desktop.conf delete mode 100644 configs/lxde-openrc/root-image/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf delete mode 100644 configs/lxde-openrc/root-image/etc/sudoers.d/g_wheel delete mode 100644 configs/lxde-openrc/root-image/etc/udev/rules.d/81-dhcpcd.rules delete mode 100644 configs/lxde-openrc/root-image/etc/wallpaper.png delete mode 100755 configs/lxde-openrc/root-image/root/.automated_script.sh delete mode 100644 configs/lxde-openrc/root-image/root/.codecheck delete mode 100644 configs/lxde-openrc/root-image/root/.config/dconf/user delete mode 100644 configs/lxde-openrc/root-image/root/.config/gtk-2.0/gtkfilechooser.ini delete mode 100644 configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/autostart delete mode 100644 configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/desktop.conf delete mode 100644 configs/lxde-openrc/root-image/root/.config/pcmanfm/LXDE/desktop-items-0.conf delete mode 100644 configs/lxde-openrc/root-image/root/.config/volumeicon/volumeicon delete mode 100755 configs/lxde-openrc/root-image/root/.keymap.sh delete mode 100755 configs/lxde-openrc/root-image/root/.language.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/install.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/systemConfig.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/userAccount.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/install.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/systemConfig.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/userAccount.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/install.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/systemConfig.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/userAccount.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/install.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/systemConfig.sh delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/userAccount.sh delete mode 100644 configs/lxde-openrc/root-image/root/.scriptsInstallation/parabolaicon.png delete mode 100755 configs/lxde-openrc/root-image/root/.scriptsInstallation/x11.sh delete mode 100644 configs/lxde-openrc/root-image/root/.themes/Parabola/index.theme delete mode 100644 configs/lxde-openrc/root-image/root/.xinitrc delete mode 100644 configs/lxde-openrc/root-image/root/.zlogin delete mode 100755 configs/lxde-openrc/root-image/root/Desktop/Parabola Installation CLI.desktop delete mode 100755 configs/lxde-openrc/root-image/root/customize_root_image.sh create mode 100644 configs/profile-openrc/airootfs/etc/conf.d/agetty.tty1 create mode 100644 configs/profile-openrc/airootfs/etc/conf.d/hostname create mode 100644 configs/profile-openrc/airootfs/etc/fstab create mode 100755 configs/profile-openrc/airootfs/etc/init.d/pacman-init create mode 100644 configs/profile-openrc/airootfs/etc/locale.conf create mode 100644 configs/profile-openrc/airootfs/etc/motd create mode 100644 configs/profile-openrc/airootfs/etc/pam.d/su create mode 100644 configs/profile-openrc/airootfs/etc/sudoers.d/g_wheel create mode 100755 configs/profile-openrc/airootfs/root/.automated_script.sh create mode 100644 configs/profile-openrc/airootfs/root/.zlogin create mode 100755 configs/profile-openrc/airootfs/root/customize_airootfs.sh create mode 100644 configs/profile-openrc/airootfs/root/install.txt delete mode 100644 configs/profile-openrc/aitab delete mode 100644 configs/profile-openrc/root-image/etc/conf.d/agetty.tty1 delete mode 100644 configs/profile-openrc/root-image/etc/conf.d/hostname delete mode 100644 configs/profile-openrc/root-image/etc/fstab delete mode 100755 configs/profile-openrc/root-image/etc/init.d/pacman-init delete mode 100644 configs/profile-openrc/root-image/etc/locale.conf delete mode 100644 configs/profile-openrc/root-image/etc/motd delete mode 100644 configs/profile-openrc/root-image/etc/pam.d/su delete mode 100644 configs/profile-openrc/root-image/etc/sudoers.d/g_wheel delete mode 100644 configs/profile-openrc/root-image/etc/udev/rules.d/81-dhcpcd.rules delete mode 100755 configs/profile-openrc/root-image/root/.automated_script.sh delete mode 100644 configs/profile-openrc/root-image/root/.zlogin delete mode 100755 configs/profile-openrc/root-image/root/customize_root_image.sh delete mode 100644 configs/profile-openrc/root-image/root/network.html create mode 100644 configs/profile/airootfs/etc/fstab create mode 100644 configs/profile/airootfs/etc/hostname create mode 100644 configs/profile/airootfs/etc/locale.conf create mode 100644 configs/profile/airootfs/etc/motd create mode 100644 configs/profile/airootfs/etc/pam.d/su create mode 100644 configs/profile/airootfs/etc/sudoers.d/g_wheel create mode 100755 configs/profile/airootfs/etc/systemd/scripts/choose-mirror create mode 100644 configs/profile/airootfs/etc/systemd/system/choose-mirror.service create mode 100644 configs/profile/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount create mode 100644 configs/profile/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100644 configs/profile/airootfs/etc/systemd/system/pacman-init.service create mode 100644 configs/profile/airootfs/etc/udev/rules.d/81-dhcpcd.rules create mode 100755 configs/profile/airootfs/root/.automated_script.sh create mode 100644 configs/profile/airootfs/root/.zlogin create mode 100755 configs/profile/airootfs/root/customize_airootfs.sh create mode 100644 configs/profile/airootfs/root/install.txt delete mode 100644 configs/profile/aitab delete mode 100644 configs/profile/root-image/etc/fstab delete mode 100644 configs/profile/root-image/etc/hostname delete mode 100644 configs/profile/root-image/etc/locale.conf delete mode 100644 configs/profile/root-image/etc/motd delete mode 100644 configs/profile/root-image/etc/pam.d/su delete mode 100644 configs/profile/root-image/etc/sudoers.d/g_wheel delete mode 100755 configs/profile/root-image/etc/systemd/scripts/choose-mirror delete mode 100644 configs/profile/root-image/etc/systemd/system/choose-mirror.service delete mode 100644 configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount delete mode 100644 configs/profile/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf delete mode 100644 configs/profile/root-image/etc/systemd/system/pacman-init.service delete mode 100644 configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules delete mode 100755 configs/profile/root-image/root/.automated_script.sh delete mode 100644 configs/profile/root-image/root/.zlogin delete mode 100755 configs/profile/root-image/root/customize_root_image.sh delete mode 100644 configs/profile/root-image/root/network.html delete mode 100644 configs/talkingparabola-X11/aitab delete mode 100755 configs/talkingparabola-X11/build.sh delete mode 100644 configs/talkingparabola-X11/efiboot/loader/entries/parabolaiso-x86_64-cd.conf delete mode 100644 configs/talkingparabola-X11/efiboot/loader/entries/parabolaiso-x86_64-usb.conf delete mode 100644 configs/talkingparabola-X11/efiboot/loader/entries/uefi-shell-v1-x86_64.conf delete mode 100644 configs/talkingparabola-X11/efiboot/loader/entries/uefi-shell-v2-x86_64.conf delete mode 100644 configs/talkingparabola-X11/efiboot/loader/loader.conf delete mode 100644 configs/talkingparabola-X11/isolinux/isolinux.cfg delete mode 100644 configs/talkingparabola-X11/mkinitcpio.conf delete mode 100644 configs/talkingparabola-X11/packages.both delete mode 100644 configs/talkingparabola-X11/packages.i686 delete mode 100644 configs/talkingparabola-X11/packages.x86_64 delete mode 100644 configs/talkingparabola-X11/pacman.conf delete mode 100644 configs/talkingparabola-X11/root-image/etc/fstab delete mode 100644 configs/talkingparabola-X11/root-image/etc/hostname delete mode 100644 configs/talkingparabola-X11/root-image/etc/locale.conf delete mode 100644 configs/talkingparabola-X11/root-image/etc/motd delete mode 100644 configs/talkingparabola-X11/root-image/etc/pam.d/su delete mode 100644 configs/talkingparabola-X11/root-image/etc/skel/.config/autostart/orca.desktop delete mode 100755 configs/talkingparabola-X11/root-image/etc/skel/.xinitrc delete mode 100644 configs/talkingparabola-X11/root-image/etc/sudoers.d/g_wheel delete mode 100755 configs/talkingparabola-X11/root-image/etc/systemd/scripts/choose-mirror delete mode 100644 configs/talkingparabola-X11/root-image/etc/systemd/system/choose-mirror.service delete mode 100644 configs/talkingparabola-X11/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount delete mode 100644 configs/talkingparabola-X11/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf delete mode 100644 configs/talkingparabola-X11/root-image/etc/systemd/system/livecd-alsa-unmuter.service delete mode 100644 configs/talkingparabola-X11/root-image/etc/systemd/system/pacman-init.service delete mode 100644 configs/talkingparabola-X11/root-image/etc/udev/rules.d/81-dhcpcd.rules delete mode 100755 configs/talkingparabola-X11/root-image/root/customize_root_image.sh delete mode 100644 configs/talkingparabola-X11/root-image/root/network.html delete mode 100755 configs/talkingparabola-X11/root-image/usr/bin/livecd-alsa-unmuter delete mode 100755 configs/talkingparabola-X11/root-image/usr/bin/pick-a-card delete mode 100755 configs/talkingparabola-X11/root-image/usr/bin/talk-to-me delete mode 100644 configs/talkingparabola-X11/root-image/usr/share/livecd-sound/asound.conf.in delete mode 100644 configs/talkingparabola-X11/root-image/usr/share/livecd-sound/functions delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_head.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_pxe32.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_pxe64.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_pxe_32_inc.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_pxe_both_inc.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_pxe_choose.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_sys32.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_sys64.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_sys_32_inc.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_sys_both_inc.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_sys_choose.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/parabolaiso_tail.cfg delete mode 100644 configs/talkingparabola-X11/syslinux/splash.png delete mode 100644 configs/talkingparabola-X11/syslinux/splash.svg delete mode 100644 configs/talkingparabola-X11/syslinux/syslinux.cfg create mode 100644 configs/talkingparabola/airootfs/etc/fstab create mode 100644 configs/talkingparabola/airootfs/etc/hostname create mode 100644 configs/talkingparabola/airootfs/etc/locale.conf create mode 100644 configs/talkingparabola/airootfs/etc/motd create mode 100644 configs/talkingparabola/airootfs/etc/pam.d/su create mode 100644 configs/talkingparabola/airootfs/etc/sudoers.d/g_wheel create mode 100755 configs/talkingparabola/airootfs/etc/systemd/scripts/choose-mirror create mode 100644 configs/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service create mode 100644 configs/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount create mode 100644 configs/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf create mode 100644 configs/talkingparabola/airootfs/etc/systemd/system/livecd-alsa-unmuter.service create mode 100644 configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service create mode 100644 configs/talkingparabola/airootfs/etc/udev/rules.d/81-dhcpcd.rules create mode 100755 configs/talkingparabola/airootfs/root/customize_airootfs.sh create mode 100644 configs/talkingparabola/airootfs/root/install.txt create mode 100755 configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter create mode 100755 configs/talkingparabola/airootfs/usr/bin/pick-a-card create mode 100755 configs/talkingparabola/airootfs/usr/bin/talk-to-me create mode 100644 configs/talkingparabola/airootfs/usr/share/livecd-sound/asound.conf.in create mode 100644 configs/talkingparabola/airootfs/usr/share/livecd-sound/functions delete mode 100644 configs/talkingparabola/aitab delete mode 100644 configs/talkingparabola/root-image/etc/fstab delete mode 100644 configs/talkingparabola/root-image/etc/hostname delete mode 100644 configs/talkingparabola/root-image/etc/locale.conf delete mode 100644 configs/talkingparabola/root-image/etc/motd delete mode 100644 configs/talkingparabola/root-image/etc/pam.d/su delete mode 100644 configs/talkingparabola/root-image/etc/sudoers.d/g_wheel delete mode 100755 configs/talkingparabola/root-image/etc/systemd/scripts/choose-mirror delete mode 100644 configs/talkingparabola/root-image/etc/systemd/system/choose-mirror.service delete mode 100644 configs/talkingparabola/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount delete mode 100644 configs/talkingparabola/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf delete mode 100644 configs/talkingparabola/root-image/etc/systemd/system/livecd-alsa-unmuter.service delete mode 100644 configs/talkingparabola/root-image/etc/systemd/system/pacman-init.service delete mode 100644 configs/talkingparabola/root-image/etc/udev/rules.d/81-dhcpcd.rules delete mode 100755 configs/talkingparabola/root-image/root/customize_root_image.sh delete mode 100644 configs/talkingparabola/root-image/root/network.html delete mode 100755 configs/talkingparabola/root-image/usr/bin/livecd-alsa-unmuter delete mode 100755 configs/talkingparabola/root-image/usr/bin/pick-a-card delete mode 100755 configs/talkingparabola/root-image/usr/bin/talk-to-me delete mode 100644 configs/talkingparabola/root-image/usr/share/livecd-sound/asound.conf.in delete mode 100644 configs/talkingparabola/root-image/usr/share/livecd-sound/functions (limited to 'configs') diff --git a/configs/lxde-openrc/airootfs/etc/X11/Xwrapper.config b/configs/lxde-openrc/airootfs/etc/X11/Xwrapper.config new file mode 100644 index 0000000..017105e --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/X11/Xwrapper.config @@ -0,0 +1 @@ +needs_root_rights = yes diff --git a/configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1 b/configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1 new file mode 100644 index 0000000..997909c --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/conf.d/agetty.tty1 @@ -0,0 +1,3 @@ +baud="38400" +term_type="linux" +agetty_options="--autologin root --noclear" diff --git a/configs/lxde-openrc/airootfs/etc/conf.d/hostname b/configs/lxde-openrc/airootfs/etc/conf.d/hostname new file mode 100644 index 0000000..5a912cd --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/conf.d/hostname @@ -0,0 +1 @@ +hostname="parabolaiso" diff --git a/configs/lxde-openrc/airootfs/etc/fstab b/configs/lxde-openrc/airootfs/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/lxde-openrc/airootfs/etc/init.d/pacman-init b/configs/lxde-openrc/airootfs/etc/init.d/pacman-init new file mode 100755 index 0000000..b646e52 --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/init.d/pacman-init @@ -0,0 +1,30 @@ +#!/usr/bin/openrc-run +# Copyright (C) 2018 Parabola Project +# Copyright (C) Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Initializes Pacman keyring" + +depend() { + use haveged + after haveged +} + +start() { + # Check that there's no keyring, if there isn't, create one + if [ ! -d /etc/pacman.d/gnupg ]; then + ebegin "Initializing Pacman keyring" + pacman-key --init &> /dev/null && + pacman-key --populate ${KEYS} &> /dev/null + else + ebegin "Pacman keyring already started" + fi +} + +stop() { + # If there's a keyring, delete it + if [ -d /etc/pacman.d/gnupg ]; then + ebegin "Stoping Pacman keyring" + rm -rf /etc/pacman.d/gnupg + fi +} diff --git a/configs/lxde-openrc/airootfs/etc/locale.conf b/configs/lxde-openrc/airootfs/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/lxde-openrc/airootfs/etc/motd b/configs/lxde-openrc/airootfs/etc/motd new file mode 100644 index 0000000..6742f6f --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/motd @@ -0,0 +1,17 @@ + +=============================================================================== + + Parabola GNU/Linux-libre live media _DATE_ + + To install Parabola, the system must be connected to the internet. + For instructions, enter this command: + less install.txt + + Press the function keys while holding Alt to switch virtual terminals. + This allows entering commands without closing less. + + For installation itself, enter this command: + ./install.sh + +=============================================================================== + diff --git a/configs/lxde-openrc/airootfs/etc/pam.d/su b/configs/lxde-openrc/airootfs/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/lxde-openrc/airootfs/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/lxde-openrc/airootfs/etc/skel/.config/lxsession/LXDE/desktop.conf b/configs/lxde-openrc/airootfs/etc/skel/.config/lxsession/LXDE/desktop.conf new file mode 100644 index 0000000..c50f484 --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/skel/.config/lxsession/LXDE/desktop.conf @@ -0,0 +1,48 @@ +[Session] +window_manager=openbox-lxde +disable_autostart=no +polkit/command=sleep 5s && lxpolkit +clipboard/command=lxclipboard +xsettings_manager/command=build-in +proxy_manager/command=build-in +keyring/command=ssh-agent +quit_manager/command=lxsession-logout +lock_manager/command=lxlock +terminal_manager/command=lxterminal + +[GTK] +sNet/ThemeName=Adwaita +sNet/IconThemeName=nuoveXT2 +sGtk/FontName=Sans 10 +iGtk/ToolbarStyle=3 +iGtk/ButtonImages=1 +iGtk/MenuImages=1 +iGtk/CursorThemeSize=18 +iXft/Antialias=1 +iXft/Hinting=1 +sXft/HintStyle=hintslight +sXft/RGBA=rgb +iNet/EnableEventSounds=1 +iNet/EnableInputFeedbackSounds=1 +sGtk/ColorScheme= +iGtk/ToolbarIconSize=3 +sGtk/CursorThemeName=DMZ-White + +[Mouse] +AccFactor=20 +AccThreshold=10 +LeftHanded=0 + +[Keyboard] +Delay=500 +Interval=30 +Beep=1 + +[State] +guess_default=true + +[Dbus] +lxde=true + +[Environment] +menu_prefix=lxde- diff --git a/configs/lxde-openrc/airootfs/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf b/configs/lxde-openrc/airootfs/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf new file mode 100644 index 0000000..6186fce --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf @@ -0,0 +1,14 @@ +[*] +wallpaper_mode=crop +wallpaper_common=1 +wallpaper=/etc/wallpaper.png +desktop_bg=#000000 +desktop_fg=#ffffff +desktop_shadow=#000000 +desktop_font=Sans 12 +show_wm_menu=0 +sort=mtime;ascending; +show_documents=0 +show_trash=1 +show_mounts=1 + diff --git a/configs/lxde-openrc/airootfs/etc/sudoers.d/g_wheel b/configs/lxde-openrc/airootfs/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/lxde-openrc/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/lxde-openrc/airootfs/etc/wallpaper.png b/configs/lxde-openrc/airootfs/etc/wallpaper.png new file mode 100644 index 0000000..d2a3927 Binary files /dev/null and b/configs/lxde-openrc/airootfs/etc/wallpaper.png differ diff --git a/configs/lxde-openrc/airootfs/root/.automated_script.sh b/configs/lxde-openrc/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/lxde-openrc/airootfs/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/lxde-openrc/airootfs/root/.codecheck b/configs/lxde-openrc/airootfs/root/.codecheck new file mode 100644 index 0000000..8b10d0c --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.codecheck @@ -0,0 +1,2 @@ +LANG=0 +XKBMAP=0 diff --git a/configs/lxde-openrc/airootfs/root/.config/dconf/user b/configs/lxde-openrc/airootfs/root/.config/dconf/user new file mode 100644 index 0000000..dab7f59 Binary files /dev/null and b/configs/lxde-openrc/airootfs/root/.config/dconf/user differ diff --git a/configs/lxde-openrc/airootfs/root/.config/gtk-2.0/gtkfilechooser.ini b/configs/lxde-openrc/airootfs/root/.config/gtk-2.0/gtkfilechooser.ini new file mode 100644 index 0000000..c6b458d --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.config/gtk-2.0/gtkfilechooser.ini @@ -0,0 +1,11 @@ +[Filechooser Settings] +LocationMode=path-bar +ShowHidden=true +ShowSizeColumn=true +GeometryX=52 +GeometryY=86 +GeometryWidth=920 +GeometryHeight=585 +SortColumn=name +SortOrder=ascending +StartupMode=recent diff --git a/configs/lxde-openrc/airootfs/root/.config/lxsession/LXDE/autostart b/configs/lxde-openrc/airootfs/root/.config/lxsession/LXDE/autostart new file mode 100644 index 0000000..3942b5a --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.config/lxsession/LXDE/autostart @@ -0,0 +1,4 @@ +@lxpanel --profile LXDE +@pcmanfm --desktop --profile LXDE +@xscreensaver -no-splash +@/root/.keymap.sh diff --git a/configs/lxde-openrc/airootfs/root/.config/volumeicon/volumeicon b/configs/lxde-openrc/airootfs/root/.config/volumeicon/volumeicon new file mode 100644 index 0000000..588b9dd --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.config/volumeicon/volumeicon @@ -0,0 +1,25 @@ +[Alsa] +card=default + +[Notification] +show_notification=true +notification_type=0 + +[StatusIcon] +stepsize=5 +onclick=xterm -e 'alsamixer' +theme=Default +use_panel_specific_icons=false +lmb_slider=false +mmb_mute=false +use_horizontal_slider=false +show_sound_level=false +use_transparent_background=false + +[Hotkeys] +up_enabled=false +down_enabled=false +mute_enabled=false +up=XF86AudioRaiseVolume +down=XF86AudioLowerVolume +mute=XF86AudioMute diff --git a/configs/lxde-openrc/airootfs/root/.keymap.sh b/configs/lxde-openrc/airootfs/root/.keymap.sh new file mode 100755 index 0000000..56eb1dc --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.keymap.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +list_keymaps() { +cat <> ~/.codecheck +fi diff --git a/configs/lxde-openrc/airootfs/root/.language.sh b/configs/lxde-openrc/airootfs/root/.language.sh new file mode 100755 index 0000000..11e986e --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.language.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +#Comprobe if language was selected +code=$(cat ~/.codecheck | grep LANG= | tail --bytes 2) +if [ $code = "0" ]; then + lang=$(dialog --stdout --backtitle "System language selection" --menu "Choose your language:" 15 40 10 \ + "en_US.UTF-8" "English" \ + "gl_ES.UTF-8" "Galego" \ + "es_ES.UTF-8" "Spanish" \ + "pt_BR.UTF-8" "Brazilian Portuguese" \ + "pl_PL.UTF-8" "Polish" \ + "it_IT.UTF-8" "Italian" \ + "fr_FR.UTF-8" "French" \ + "eo" "Esperanto") + + #Copy locale in locale.conf + [ $lang = "" ] || echo "LANG=$lang" > /etc/locale.conf + + #Put a new line confirm that language was selected + sed -i '/LANG=./d' ~/.codecheck + echo "LANG=1" >> ~/.codecheck + + #Copy scripts to install in that language + case ${lang/_*/} in + en|gl|es|pt) cp -a ~/.scriptsInstallation/language/${lang/_*/}/* ~/.scriptsInstallation/ + cp ~/.scriptsInstallation/install.sh ~/ + ;; + *) cp -a ~/.scriptsInstallation/language/en/* ~/.scriptsInstallation/ + cp ~/.scriptsInstallation/install.sh ~/ + ;; + esac +fi diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/install.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/install.sh new file mode 100755 index 0000000..4120079 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/install.sh @@ -0,0 +1,227 @@ +#!/bin/bash +#Temporal is a file that contains parameters to use when access to chroot + +if [ ! -f ~/.scriptsInstallation/.pacman ]; then + pacman -Sy parabola-keyring archlinux-keyring --noconfirm + pacman-key --populate parabola archlinux + pacman-key --refresh-keys + case $? in + 0) touch ~/.scriptsInstallation/.pacman + ;; + *) false + ;; + esac +fi + +partition(){ + + #Search and show the Hard Disks to select + aux=$(ls /dev/sd?) + index=0 + for i in $aux; do + hdds[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + hdd=$(dialog --stdout --radiolist "Select Hard Disk" 20 70 50 ${hdds[@]}) + + #If exist the line delete + if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null + then + sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal + fi + + #And add the new line with new parameter + echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal + + selection=$(dialog --stdout --menu "Partitioning method" 20 70 50 \ + 1 "Use all disk with swap (1GB) and /" \ + 2 "Use gparted to customize" ) + + case $selection in + 1) + umount /mnt &> /dev/null + #Create msdos partition table + parted -s $hdd -- mklabel msdos + + #Create partition swap and / + parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s + + #Boot option partition / + parted -s $hdd -- set 2 boot on + + #Format and partitions and mount / + (echo t; echo 1; echo 82; echo w) | fdisk $hdd + mkswap ${hdd}1 + mkfs.ext4 ${hdd}2 + mount ${hdd}2 /mnt + ;; + 2) + gparted $hdd + + #Search and show the partitions that select before. + aux=$(ls $hdd?) + index=0; + for i in $aux; do + partitions[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + partition=$(dialog --stdout --radiolist "Mount / Partition" 20 70 50 ${partitions[@]}) + + #Mount partition / + umount /mnt &> /dev/null + mount $partition /mnt + + #Ask if you want mount other partitions + other=0 + while [ $other != 3 ]; do + other=$(dialog --stdout --menu "Mount other partition?" 20 70 50 1 "/home" 2 "/boot" 3 "No") + + case $other in + 1) + umount /mnt/home &> /dev/null + mkdir /mnt/home &> /dev/null + mount $(dialog --stdout --radiolist "Mount /home Partition" 20 70 50 ${partitions[@]}) /mnt/home + ;; + 2) + umount /mnt/boot &> /dev/null + mkdir /mnt/boot &> /dev/null + mount $(dialog --stdout --radiolist "Mount /boot Partition" 20 70 50 ${partitions[@]}) /mnt/boot + ;; + *) + other=3 + ;; + esac + done + ;; + esac +} + + +option=0 +while [ option != 7 ]; do + option=$(dialog --stdout --menu "Parabola Installation CLI" 20 70 50 \ + 1 "Format and Mount Partitions" \ + 2 "Install Base System" \ + 3 "Install GRUB" \ + 4 "System Configure" \ + 5 "Create User Account" \ + 6 "(Optional) Install Live DVD Desktop/Applications" \ + 7 "Exit" ) + + case $option in + 1) + partition + ;; + 2) + #Install base system + pacstrap /mnt base-openrc + pacstrap /mnt dialog + ;; + 3) + #Install grub + pacstrap /mnt grub + ;; + 4) + #Generate fstab and acces to chroot to do System Config + genfstab -p /mnt >> /mnt/etc/fstab + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/systemConfig.sh /mnt + chmod +x /mnt/systemConfig.sh + arch-chroot /mnt /systemConfig.sh + rm -r /mnt/systemConfig.sh + ;; + 5) + #Create a new username and save in temporal, to use after + if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null + then + sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal + fi + + echo "userName=$(dialog --stdout --inputbox "Enter an User Name" 8 40)" >> ~/.scriptsInstallation/temporal + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/userAccount.sh /mnt + chmod +x /mnt/userAccount.sh + arch-chroot /mnt /userAccount.sh + rm -r /mnt/userAccount.sh + ;; + 6) + #Packages to the X11 live + packages=( "xorg-server" + "xf86-input-evdev" + "xf86-input-synaptics" + "xf86-video-ati" + "xf86-video-dummy" + "xf86-video-fbdev" + "xf86-video-intel" + "xf86-video-nouveau" + "xf86-video-openchrome" + "xf86-video-sisusb" + "xf86-video-vesa" + "xf86-video-vmware" + "xf86-video-voodoo" + "xf86-video-qxl" + "xorg-xinit" + "gst-plugins-good" + "gst-libav" + "lxde" + "volumeicon" + "zenity" + "octopi" + "pulseaudio-alsa" + "alsa-utils" + "networkmanager-elogind" + "network-manager-applet" + "ath9k-htc-firmware" + "iceweasel" + "icedove" + "pidgin" + "gparted" + "smplayer" + "epdfview" + "gpicview" + "abiword" + "gnumeric" + "leafpad" + "galculator-gtk2" + "xarchiver" + "openrc-desktop" + "polkit-elogind" + "gvfs-mtp" + "gvfs-gphoto2" + "xdg-user-dirs" + "gnome-screenshot" + ) + + #Install packages + pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm + user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) + + #Copy skel in the new system and desktop's background + cp -a /etc/skel/ /mnt/etc/ + cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png + + #Puts the XKBMAP, start X11 automatically and icewm desktop + echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc + echo "exec startlxde" >> /mnt/etc/skel/.xinitrc + echo "startx" >> /mnt/etc/skel/.bash_profile + chmod +x /mnt/etc/skel/.xinitrc + cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ + cp -a ~/.scriptsInstallation/x11.sh /mnt + + #Enable services with OpenRC and configure other stuff + chmod +x /mnt/x11.sh + arch-chroot /mnt /x11.sh + rm /mnt/x11.sh + ;; + *) + #Delete temporal file and umount partitions + rm -r /mnt/temporal + umount /mnt/boot &> /dev/null + umount /mnt/home &> /dev/null + umount /mnt &> /dev/null + exit + ;; + esac +done diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/systemConfig.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/systemConfig.sh new file mode 100755 index 0000000..d5195fb --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/systemConfig.sh @@ -0,0 +1,271 @@ +#!/bin/bash + +HOSTNAME=$(dialog --stdout --inputbox "Enter Hostname:" 8 40) +sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname + +ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Enter your Zone Time:\nFor example: Europe/Athens" 8 40) /etc/localtime + +keymaps=( + "ANSI-dvorak ANSI-dvorak off" + "amiga-de amiga-de off" + "amiga-us amiga-us off" + "applkey applkey off" + "atari-de atari-de off" + "atari-se atari-se off" + "atari-uk-falcon atari-uk-falcon off" + "atari-us atari-us off" + "azerty azerty off" + "backspace backspace off" + "bashkir bashkir off" + "be-latin1 be-latin1 off" + "bg-cp1251 bg-cp1251 off" + "bg-cp855 bg-cp855 off" + "bg_bds-cp1251 bg_bds-cp1251 off" + "bg_bds-utf8 bg_bds-utf8 off" + "bg_pho-cp1251 bg_pho-cp1251 off" + "bg_pho-utf8 bg_pho-utf8 off" + "br-abnt br-abnt off" + "br-abnt2 br-abnt2 off" + "br-latin1-abnt2 br-latin1-abnt2 off" + "br-latin1-us br-latin1-us off" + "by by off" + "by-cp1251 by-cp1251 off" + "bywin-cp1251 bywin-cp1251 off" + "cf cf off" + "colemak colemak off" + "croat croat off" + "ctrl ctrl off" + "cz cz off" + "cz-cp1250 cz-cp1250 off" + "cz-lat2 cz-lat2 off" + "cz-lat2-prog cz-lat2-prog off" + "cz-qwertz cz-qwertz off" + "cz-us-qwertz cz-us-qwertz off" + "de de off" + "de-latin1 de-latin1 off" + "de-latin1-nodeadkeys de-latin1-nodeadkeys off" + "de-mobii de-mobii off" + "de_CH-latin1 de_CH-latin1 off" + "de_alt_UTF-8 de_alt_UTF-8 off" + "defkeymap defkeymap off" + "defkeymap_V1.0 defkeymap_V1.0 off" + "dk dk off" + "dk-latin1 dk-latin1 off" + "dvorak dvorak off" + "dvorak-ca-fr dvorak-ca-fr off" + "dvorak-es dvorak-es off" + "dvorak-fr dvorak-fr off" + "dvorak-l dvorak-l off" + "dvorak-r dvorak-r off" + "dvorak-ru dvorak-ru off" + "dvorak-sv-a1 dvorak-sv-a1 off" + "dvorak-sv-a5 dvorak-sv-a5 off" + "dvorak-uk dvorak-uk off" + "emacs emacs off" + "emacs2 emacs2 off" + "es es off" + "es-cp850 es-cp850 off" + "es-olpc es-olpc off" + "et et off" + "et-nodeadkeys et-nodeadkeys off" + "euro euro off" + "euro1 euro1 off" + "euro2 euro2 off" + "fi fi off" + "fr fr off" + "fr-bepo fr-bepo off" + "fr-bepo-latin9 fr-bepo-latin9 off" + "fr-latin1 fr-latin1 off" + "fr-latin9 fr-latin9 off" + "fr-pc fr-pc off" + "fr_CH fr_CH off" + "fr_CH-latin1 fr_CH-latin1 off" + "gr gr off" + "gr-pc gr-pc off" + "hu hu off" + "hu101 hu101 off" + "il il off" + "il-heb il-heb off" + "il-phonetic il-phonetic off" + "is-latin1 is-latin1 off" + "is-latin1-us is-latin1-us off" + "it it off" + "it-ibm it-ibm off" + "it2 it2 off" + "jp106 jp106 off" + "kazakh kazakh off" + "keypad keypad off" + "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" + "kyrgyz kyrgyz off" + "la-latin1 la-latin1 off" + "lt lt off" + "lt.baltic lt.baltic off" + "lt.l4 lt.l4 off" + "lv lv off" + "lv-tilde lv-tilde off" + "mac-be mac-be off" + "mac-de-latin1 mac-de-latin1 off" + "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" + "mac-de_CH mac-de_CH off" + "mac-dk-latin1 mac-dk-latin1 off" + "mac-dvorak mac-dvorak off" + "mac-es mac-es off" + "mac-euro mac-euro off" + "mac-euro2 mac-euro2 off" + "mac-fi-latin1 mac-fi-latin1 off" + "mac-fr mac-fr off" + "mac-fr_CH-latin1 mac-fr_CH-latin1 off" + "mac-it mac-it off" + "mac-pl mac-pl off" + "mac-pt-latin1 mac-pt-latin1 off" + "mac-se mac-se off" + "mac-template mac-template off" + "mac-uk mac-uk off" + "mac-us mac-us off" + "mk mk off" + "mk-cp1251 mk-cp1251 off" + "mk-utf mk-utf off" + "mk0 mk0 off" + "nl nl off" + "nl2 nl2 off" + "no no off" + "no-dvorak no-dvorak off" + "no-latin1 no-latin1 off" + "pc110 pc110 off" + "pl pl off" + "pl1 pl1 off" + "pl2 pl2 off" + "pl3 pl3 off" + "pl4 pl4 off" + "pt-latin1 pt-latin1 off" + "pt-latin9 pt-latin9 off" + "pt-olpc pt-olpc off" + "ro ro off" + "ro_std ro_std off" + "ro_win ro_win off" + "ru ru off" + "ru-cp1251 ru-cp1251 off" + "ru-ms ru-ms off" + "ru-yawerty ru-yawerty off" + "ru1 ru1 off" + "ru2 ru2 off" + "ru3 ru3 off" + "ru4 ru4 off" + "ru_win ru_win off" + "ruwin_alt-CP1251 ruwin_alt-CP1251 off" + "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" + "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" + "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" + "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" + "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" + "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" + "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" + "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" + "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" + "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" + "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" + "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" + "se-fi-ir209 se-fi-ir209 off" + "se-fi-lat6 se-fi-lat6 off" + "se-ir209 se-ir209 off" + "se-lat6 se-lat6 off" + "sg sg off" + "sg-latin1 sg-latin1 off" + "sg-latin1-lk450 sg-latin1-lk450 off" + "sk-prog-qwerty sk-prog-qwerty off" + "sk-prog-qwertz sk-prog-qwertz off" + "sk-qwerty sk-qwerty off" + "sk-qwertz sk-qwertz off" + "slovene slovene off" + "sr-cy sr-cy off" + "sun-pl sun-pl off" + "sun-pl-altgraph sun-pl-altgraph off" + "sundvorak sundvorak off" + "sunkeymap sunkeymap off" + "sunt4-es sunt4-es off" + "sunt4-fi-latin1 sunt4-fi-latin1 off" + "sunt4-no-latin1 sunt4-no-latin1 off" + "sunt5-cz-us sunt5-cz-us off" + "sunt5-de-latin1 sunt5-de-latin1 off" + "sunt5-es sunt5-es off" + "sunt5-fi-latin1 sunt5-fi-latin1 off" + "sunt5-fr-latin1 sunt5-fr-latin1 off" + "sunt5-ru sunt5-ru off" + "sunt5-uk sunt5-uk off" + "sunt5-us-cz sunt5-us-cz off" + "sunt6-uk sunt6-uk off" + "sv-latin1 sv-latin1 off" + "tj_alt-UTF8 tj_alt-UTF8 off" + "tr_f-latin5 tr_f-latin5 off" + "tr_q-latin5 tr_q-latin5 off" + "tralt tralt off" + "trf trf off" + "trf-fgGIod trf-fgGIod off" + "trq trq off" + "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" + "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" + "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" + "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" + "ua ua off" + "ua-cp1251 ua-cp1251 off" + "ua-utf ua-utf off" + "ua-utf-ws ua-utf-ws off" + "ua-ws ua-ws off" + "uk uk off" + "unicode unicode off" + "us us on" + "us-acentos us-acentos off" + "wangbe wangbe off" + "wangbe2 wangbe2 off" + "windowkeys windowkeys off" +) + +echo "KEYMAP=$(dialog --stdout --radiolist "Select Keymap" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf + +aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) +index=0 +for i in $aux; do + i=$(echo $i | sed -e 's/#/ /g') + locales+=("$i" "$i" off) + if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then + locales[$index]="$i" + locales[$((index+1))]="$i" + locales[$((index+2))]="on" + fi + index=$((index+3)) +done + +locale=$(dialog --stdout --checklist "Select Locales" 20 70 50 "${locales[@]}") +locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') + +for i in ${locale[@]}; do + i=$(echo $i | sed -e 's/#/ /g') + sed -i -e "s/#$i/$i/g" /etc/locale.gen +done + +locale-gen + +aux=$(locale -a) +index=0 +for i in $aux; do + langs+=("$i" "$i" on) + index=$((index+1)) +done + +echo "LANG=$(dialog --stdout --radiolist "Select your language" 20 70 50 ${langs[@]})" > /etc/locale.conf + +mkinitcpio -p linux-libre + +hdd=$(cat /temporal | grep 'hdd=') +grub-install ${hdd#*=} +grub-mkconfig -o /boot/grub/grub.cfg + +password=$(dialog --stdout --passwordbox "Insert root password" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repeat root password" 8 40) +done + +usermod -p $(openssl passwd ${password}) root + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/userAccount.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/userAccount.sh new file mode 100755 index 0000000..a9551d8 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/en/userAccount.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +user=$(cat /temporal | grep "userName") + +password=$(dialog --stdout --passwordbox "Insert ${user#*=} password" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Reply password" 8 40) +done + +useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/install.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/install.sh new file mode 100755 index 0000000..195c2a2 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/install.sh @@ -0,0 +1,227 @@ +#!/bin/bash +#Temporal is a file that contains parameters to use when access to chroot + +if [ ! -f ~/.scriptsInstallation/.pacman ]; then + pacman -Sy parabola-keyring archlinux-keyring --noconfirm + pacman-key --populate parabola archlinux + pacman-key --refresh-keys + case $? in + 0) touch ~/.scriptsInstallation/.pacman + ;; + *) false + ;; + esac +fi + +partition(){ + + #Search and show the Hard Disks to select + aux=$(ls /dev/sd?) + index=0 + for i in $aux; do + hdds[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + hdd=$(dialog --stdout --radiolist "Selecciona Disco Duro" 20 70 50 ${hdds[@]}) + + #If exist the line delete + if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null + then + sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal + fi + + #And add the new line with new parameter + echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal + + selection=$(dialog --stdout --menu "Metodo de Particionado" 20 70 50 \ + 1 "Usar todo el disco con swap (1GB) y /" \ + 2 "Usar gparted para personalizar" ) + + case $selection in + 1) + umount /mnt &> /dev/null + #Create msdos partition table + parted -s $hdd -- mklabel msdos + + #Create partition swap and / + parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s + + #Boot option partition / + parted -s $hdd -- set 2 boot on + + #Format and partitions and mount / + (echo t; echo 1; echo 82; echo w) | fdisk $hdd + mkswap ${hdd}1 + mkfs.ext4 ${hdd}2 + mount ${hdd}2 /mnt + ;; + 2) + gparted $hdd + + #Search and show the partitions that select before. + aux=$(ls $hdd?) + index=0; + for i in $aux; do + partitions[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + partition=$(dialog --stdout --radiolist "Montar particion /" 20 70 50 ${partitions[@]}) + + #Mount partition / + umount /mnt &> /dev/null + mount $partition /mnt + + #Ask if you want mount other partitions + other=0 + while [ $other != 3 ]; do + other=$(dialog --stdout --menu "¿Montar otra particion?" 20 70 50 1 "/home" 2 "/boot" 3 "No") + + case $other in + 1) + umount /mnt/home &> /dev/null + mkdir /mnt/home &> /dev/null + mount $(dialog --stdout --radiolist "Montar particion /home" 20 70 50 ${partitions[@]}) /mnt/home + ;; + 2) + umount /mnt/boot &> /dev/null + mkdir /mnt/boot &> /dev/null + mount $(dialog --stdout --radiolist "Mount particion /boot" 20 70 50 ${partitions[@]}) /mnt/boot + ;; + *) + other=3 + ;; + esac + done + ;; + esac +} + + +option=0 +while [ option != 7 ]; do + option=$(dialog --stdout --menu "Instalación CLI de Parabola" 20 70 50 \ + 1 "Formatear y Montar Particiones" \ + 2 "Instalar Sistema Base" \ + 3 "Instalar GRUB" \ + 4 "Configuración del Sistema" \ + 5 "Crear Cuenta de Usuario" \ + 6 "(Opcional) Instalar Escritorio/Aplicaciones del Live DVD" \ + 7 "Salir" ) + + case $option in + 1) + partition + ;; + 2) + #Install base system + pacstrap /mnt base-openrc + pacstrap /mnt dialog + ;; + 3) + #Install grub + pacstrap /mnt grub + ;; + 4) + #Generate fstab and acces to chroot to do System Config + genfstab -p /mnt >> /mnt/etc/fstab + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/systemConfig.sh /mnt + chmod +x /mnt/systemConfig.sh + arch-chroot /mnt /systemConfig.sh + rm -r /mnt/systemConfig.sh + ;; + 5) + #Create a new username and save in temporal, to use after + if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null + then + sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal + fi + + echo "userName=$(dialog --stdout --inputbox "Introduce nombre de usuario" 8 40)" >> ~/.scriptsInstallation/temporal + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/userAccount.sh /mnt + chmod +x /mnt/userAccount.sh + arch-chroot /mnt /userAccount.sh + rm -r /mnt/userAccount.sh + ;; + 6) + #Packages to the X11 live + packages=( "xorg-server" + "xf86-input-evdev" + "xf86-input-synaptics" + "xf86-video-ati" + "xf86-video-dummy" + "xf86-video-fbdev" + "xf86-video-intel" + "xf86-video-nouveau" + "xf86-video-openchrome" + "xf86-video-sisusb" + "xf86-video-vesa" + "xf86-video-vmware" + "xf86-video-voodoo" + "xf86-video-qxl" + "xorg-xinit" + "gst-plugins-good" + "gst-libav" + "lxde" + "volumeicon" + "zenity" + "octopi" + "pulseaudio-alsa" + "alsa-utils" + "networkmanager-elogind" + "network-manager-applet" + "ath9k-htc-firmware" + "iceweasel" + "icedove" + "pidgin" + "gparted" + "smplayer" + "epdfview" + "gpicview" + "abiword" + "gnumeric" + "leafpad" + "galculator-gtk2" + "xarchiver" + "openrc-desktop" + "polkit-elogind" + "gvfs-mtp" + "gvfs-gphoto2" + "xdg-user-dirs" + "gnome-screenshot" + ) + + #Install packages + pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm + user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) + + #Copy skel in the new system and desktop's background + cp -a /etc/skel/ /mnt/etc/ + cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png + + #Puts the XKBMAP, start X11 automatically and icewm desktop + echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc + echo "exec startlxde" >> /mnt/etc/skel/.xinitrc + echo "startx" >> /mnt/etc/skel/.bash_profile + chmod +x /mnt/etc/skel/.xinitrc + cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ + cp -a ~/.scriptsInstallation/x11.sh /mnt + + #Enable services with OpenRC and configure other stuff + chmod +x /mnt/x11.sh + arch-chroot /mnt /x11.sh + rm /mnt/x11.sh + ;; + *) + #Delete temporal file and umount partitions + rm -r /mnt/temporal + umount /mnt/boot &> /dev/null + umount /mnt/home &> /dev/null + umount /mnt &> /dev/null + exit + ;; + esac +done diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/systemConfig.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/systemConfig.sh new file mode 100755 index 0000000..773d10c --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/systemConfig.sh @@ -0,0 +1,271 @@ +#!/bin/bash + +HOSTNAME=$(dialog --stdout --inputbox "Introduce el nombre del sistema:" 8 40) +sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname + +ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Introduce la Zona Horaria:\nPor ejemplo: Europe/Athens" 8 40) /etc/localtime + +keymaps=( + "ANSI-dvorak ANSI-dvorak off" + "amiga-de amiga-de off" + "amiga-us amiga-us off" + "applkey applkey off" + "atari-de atari-de off" + "atari-se atari-se off" + "atari-uk-falcon atari-uk-falcon off" + "atari-us atari-us off" + "azerty azerty off" + "backspace backspace off" + "bashkir bashkir off" + "be-latin1 be-latin1 off" + "bg-cp1251 bg-cp1251 off" + "bg-cp855 bg-cp855 off" + "bg_bds-cp1251 bg_bds-cp1251 off" + "bg_bds-utf8 bg_bds-utf8 off" + "bg_pho-cp1251 bg_pho-cp1251 off" + "bg_pho-utf8 bg_pho-utf8 off" + "br-abnt br-abnt off" + "br-abnt2 br-abnt2 off" + "br-latin1-abnt2 br-latin1-abnt2 off" + "br-latin1-us br-latin1-us off" + "by by off" + "by-cp1251 by-cp1251 off" + "bywin-cp1251 bywin-cp1251 off" + "cf cf off" + "colemak colemak off" + "croat croat off" + "ctrl ctrl off" + "cz cz off" + "cz-cp1250 cz-cp1250 off" + "cz-lat2 cz-lat2 off" + "cz-lat2-prog cz-lat2-prog off" + "cz-qwertz cz-qwertz off" + "cz-us-qwertz cz-us-qwertz off" + "de de off" + "de-latin1 de-latin1 off" + "de-latin1-nodeadkeys de-latin1-nodeadkeys off" + "de-mobii de-mobii off" + "de_CH-latin1 de_CH-latin1 off" + "de_alt_UTF-8 de_alt_UTF-8 off" + "defkeymap defkeymap off" + "defkeymap_V1.0 defkeymap_V1.0 off" + "dk dk off" + "dk-latin1 dk-latin1 off" + "dvorak dvorak off" + "dvorak-ca-fr dvorak-ca-fr off" + "dvorak-es dvorak-es off" + "dvorak-fr dvorak-fr off" + "dvorak-l dvorak-l off" + "dvorak-r dvorak-r off" + "dvorak-ru dvorak-ru off" + "dvorak-sv-a1 dvorak-sv-a1 off" + "dvorak-sv-a5 dvorak-sv-a5 off" + "dvorak-uk dvorak-uk off" + "emacs emacs off" + "emacs2 emacs2 off" + "es es off" + "es-cp850 es-cp850 off" + "es-olpc es-olpc off" + "et et off" + "et-nodeadkeys et-nodeadkeys off" + "euro euro off" + "euro1 euro1 off" + "euro2 euro2 off" + "fi fi off" + "fr fr off" + "fr-bepo fr-bepo off" + "fr-bepo-latin9 fr-bepo-latin9 off" + "fr-latin1 fr-latin1 off" + "fr-latin9 fr-latin9 off" + "fr-pc fr-pc off" + "fr_CH fr_CH off" + "fr_CH-latin1 fr_CH-latin1 off" + "gr gr off" + "gr-pc gr-pc off" + "hu hu off" + "hu101 hu101 off" + "il il off" + "il-heb il-heb off" + "il-phonetic il-phonetic off" + "is-latin1 is-latin1 off" + "is-latin1-us is-latin1-us off" + "it it off" + "it-ibm it-ibm off" + "it2 it2 off" + "jp106 jp106 off" + "kazakh kazakh off" + "keypad keypad off" + "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" + "kyrgyz kyrgyz off" + "la-latin1 la-latin1 off" + "lt lt off" + "lt.baltic lt.baltic off" + "lt.l4 lt.l4 off" + "lv lv off" + "lv-tilde lv-tilde off" + "mac-be mac-be off" + "mac-de-latin1 mac-de-latin1 off" + "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" + "mac-de_CH mac-de_CH off" + "mac-dk-latin1 mac-dk-latin1 off" + "mac-dvorak mac-dvorak off" + "mac-es mac-es off" + "mac-euro mac-euro off" + "mac-euro2 mac-euro2 off" + "mac-fi-latin1 mac-fi-latin1 off" + "mac-fr mac-fr off" + "mac-fr_CH-latin1 mac-fr_CH-latin1 off" + "mac-it mac-it off" + "mac-pl mac-pl off" + "mac-pt-latin1 mac-pt-latin1 off" + "mac-se mac-se off" + "mac-template mac-template off" + "mac-uk mac-uk off" + "mac-us mac-us off" + "mk mk off" + "mk-cp1251 mk-cp1251 off" + "mk-utf mk-utf off" + "mk0 mk0 off" + "nl nl off" + "nl2 nl2 off" + "no no off" + "no-dvorak no-dvorak off" + "no-latin1 no-latin1 off" + "pc110 pc110 off" + "pl pl off" + "pl1 pl1 off" + "pl2 pl2 off" + "pl3 pl3 off" + "pl4 pl4 off" + "pt-latin1 pt-latin1 off" + "pt-latin9 pt-latin9 off" + "pt-olpc pt-olpc off" + "ro ro off" + "ro_std ro_std off" + "ro_win ro_win off" + "ru ru off" + "ru-cp1251 ru-cp1251 off" + "ru-ms ru-ms off" + "ru-yawerty ru-yawerty off" + "ru1 ru1 off" + "ru2 ru2 off" + "ru3 ru3 off" + "ru4 ru4 off" + "ru_win ru_win off" + "ruwin_alt-CP1251 ruwin_alt-CP1251 off" + "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" + "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" + "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" + "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" + "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" + "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" + "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" + "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" + "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" + "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" + "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" + "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" + "se-fi-ir209 se-fi-ir209 off" + "se-fi-lat6 se-fi-lat6 off" + "se-ir209 se-ir209 off" + "se-lat6 se-lat6 off" + "sg sg off" + "sg-latin1 sg-latin1 off" + "sg-latin1-lk450 sg-latin1-lk450 off" + "sk-prog-qwerty sk-prog-qwerty off" + "sk-prog-qwertz sk-prog-qwertz off" + "sk-qwerty sk-qwerty off" + "sk-qwertz sk-qwertz off" + "slovene slovene off" + "sr-cy sr-cy off" + "sun-pl sun-pl off" + "sun-pl-altgraph sun-pl-altgraph off" + "sundvorak sundvorak off" + "sunkeymap sunkeymap off" + "sunt4-es sunt4-es off" + "sunt4-fi-latin1 sunt4-fi-latin1 off" + "sunt4-no-latin1 sunt4-no-latin1 off" + "sunt5-cz-us sunt5-cz-us off" + "sunt5-de-latin1 sunt5-de-latin1 off" + "sunt5-es sunt5-es off" + "sunt5-fi-latin1 sunt5-fi-latin1 off" + "sunt5-fr-latin1 sunt5-fr-latin1 off" + "sunt5-ru sunt5-ru off" + "sunt5-uk sunt5-uk off" + "sunt5-us-cz sunt5-us-cz off" + "sunt6-uk sunt6-uk off" + "sv-latin1 sv-latin1 off" + "tj_alt-UTF8 tj_alt-UTF8 off" + "tr_f-latin5 tr_f-latin5 off" + "tr_q-latin5 tr_q-latin5 off" + "tralt tralt off" + "trf trf off" + "trf-fgGIod trf-fgGIod off" + "trq trq off" + "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" + "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" + "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" + "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" + "ua ua off" + "ua-cp1251 ua-cp1251 off" + "ua-utf ua-utf off" + "ua-utf-ws ua-utf-ws off" + "ua-ws ua-ws off" + "uk uk off" + "unicode unicode off" + "us us on" + "us-acentos us-acentos off" + "wangbe wangbe off" + "wangbe2 wangbe2 off" + "windowkeys windowkeys off" +) + +echo "KEYMAP=$(dialog --stdout --radiolist "Selecciona la distribucion del teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf + +aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) +index=0 +for i in $aux; do + i=$(echo $i | sed -e 's/#/ /g') + locales+=("$i" "$i" off) + if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then + locales[$index]="$i" + locales[$((index+1))]="$i" + locales[$((index+2))]="on" + fi + index=$((index+3)) +done + +locale=$(dialog --stdout --checklist "Selecciona las Localizaciones" 20 70 50 "${locales[@]}") +locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') + +for i in ${locale[@]}; do + i=$(echo $i | sed -e 's/#/ /g') + sed -i -e "s/#$i/$i/g" /etc/locale.gen +done + +locale-gen + +aux=$(locale -a) +index=0 +for i in $aux; do + langs+=("$i" "$i" on) + index=$((index+1)) +done + +echo "LANG=$(dialog --stdout --radiolist "Selecciona tu idioma" 20 70 50 ${langs[@]})" > /etc/locale.conf + +mkinitcpio -p linux-libre + +hdd=$(cat /temporal | grep 'hdd=') +grub-install ${hdd#*=} +grub-mkconfig -o /boot/grub/grub.cfg + +password=$(dialog --stdout --passwordbox "Inserta la contraseña para el administrador" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite la contraseña para el administrador" 8 40) +done + +usermod -p $(openssl passwd ${password}) root + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/userAccount.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/userAccount.sh new file mode 100755 index 0000000..4ed7437 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/es/userAccount.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +user=$(cat /temporal | grep "userName") + +password=$(dialog --stdout --passwordbox "Introduce la contraseñara para el usuario ${user#*=}" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite la contraseña" 8 40) +done + +useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/install.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/install.sh new file mode 100755 index 0000000..05ec262 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/install.sh @@ -0,0 +1,226 @@ +#!/bin/bash +#Temporal is a file that contains parameters to use when access to chroot + +if [ ! -f ~/.scriptsInstallation/.pacman ]; then + pacman -Sy parabola-keyring archlinux-keyring --noconfirm + pacman-key --populate parabola archlinux + pacman-key --refresh-keys + case $? in + 0) touch ~/.scriptsInstallation/.pacman + ;; + *) false + ;; + esac +fi + +partition(){ + + #Search and show the Hard Disks to select + aux=$(ls /dev/sd?) + index=0 + for i in $aux; do + hdds[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + hdd=$(dialog --stdout --radiolist "Selecciona Disco Duro" 20 70 50 ${hdds[@]}) + + #If exist the line delete + if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null + then + sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal + fi + + #And add the new line with new parameter + echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal + selection=$(dialog --stdout --menu "Metodo de Particionado" 20 70 50 \ + 1 "Usar todo o disco con swap (1GB) and /" \ + 2 "Usar gparted para personalizar" ) + + case $selection in + 1) + umount /mnt &> /dev/null + #Create msdos partition table + parted -s $hdd -- mklabel msdos + + #Create partition swap and / + parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s + + #Boot option partition / + parted -s $hdd -- set 2 boot on + + #Format and partitions and mount / + (echo t; echo 1; echo 82; echo w) | fdisk $hdd + mkswap ${hdd}1 + mkfs.ext4 ${hdd}2 + mount ${hdd}2 /mnt + ;; + 2) + gparted $hdd + + #Search and show the partitions that select before. + aux=$(ls $hdd?) + index=0; + for i in $aux; do + partitions[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + partition=$(dialog --stdout --radiolist "Montar particion /" 20 70 50 ${partitions[@]}) + + #Mount partition / + umount /mnt &> /dev/null + mount $partition /mnt + + #Ask if you want mount other partitions + other=0 + while [ $other != 3 ]; do + other=$(dialog --stdout --menu "¿Montar outra particion?" 20 70 50 1 "/home" 2 "/boot" 3 "No") + + case $other in + 1) + umount /mnt/home &> /dev/null + mkdir /mnt/home &> /dev/null + mount $(dialog --stdout --radiolist "Montar particion /home" 20 70 50 ${partitions[@]}) /mnt/home + ;; + 2) + umount /mnt/boot &> /dev/null + mkdir /mnt/boot &> /dev/null + mount $(dialog --stdout --radiolist "Mount particion /boot" 20 70 50 ${partitions[@]}) /mnt/boot + ;; + *) + other=3 + ;; + esac + done + ;; + esac +} + + +option=0 +while [ option != 7 ]; do + option=$(dialog --stdout --menu "Instalación CLI de Parabola" 20 70 50 \ + 1 "Formatear e Montar Particiones" \ + 2 "Instalar Sistema Base" \ + 3 "Instalar GRUB" \ + 4 "Configuración do Sistema" \ + 5 "Crear Conta de Usuario" \ + 6 "(Opcional) Instalar Escritorio/Aplicaciones de Live DVD" \ + 7 "Salir" ) + + case $option in + 1) + partition + ;; + 2) + #Install base system + pacstrap /mnt base-openrc + pacstrap /mnt dialog + ;; + 3) + #Install grub + pacstrap /mnt grub + ;; + 4) + #Generate fstab and acces to chroot to do System Config + genfstab -p /mnt >> /mnt/etc/fstab + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/systemConfig.sh /mnt + chmod +x /mnt/systemConfig.sh + arch-chroot /mnt /systemConfig.sh + rm -r /mnt/systemConfig.sh + ;; + 5) + #Create a new username and save in temporal, to use after + if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null + then + sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal + fi + + echo "userName=$(dialog --stdout --inputbox "Introduce un nome de usuario" 8 40)" >> ~/.scriptsInstallation/temporal + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/userAccount.sh /mnt + chmod +x /mnt/userAccount.sh + arch-chroot /mnt /userAccount.sh + rm -r /mnt/userAccount.sh + ;; + 6) + #Packages to the X11 live + packages=( "xorg-server" + "xf86-input-evdev" + "xf86-input-synaptics" + "xf86-video-ati" + "xf86-video-dummy" + "xf86-video-fbdev" + "xf86-video-intel" + "xf86-video-nouveau" + "xf86-video-openchrome" + "xf86-video-sisusb" + "xf86-video-vesa" + "xf86-video-vmware" + "xf86-video-voodoo" + "xf86-video-qxl" + "xorg-xinit" + "gst-plugins-good" + "gst-libav" + "lxde" + "volumeicon" + "zenity" + "octopi" + "pulseaudio-alsa" + "alsa-utils" + "networkmanager-elogind" + "network-manager-applet" + "ath9k-htc-firmware" + "iceweasel" + "icedove" + "pidgin" + "gparted" + "smplayer" + "epdfview" + "gpicview" + "abiword" + "gnumeric" + "leafpad" + "galculator-gtk2" + "xarchiver" + "openrc-desktop" + "polkit-elogind" + "gvfs-mtp" + "gvfs-gphoto2" + "xdg-user-dirs" + "gnome-screenshot" + ) + + #Install packages + pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm + user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) + + #Copy skel in the new system and desktop's background + cp -a /etc/skel/ /mnt/etc/ + cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png + + #Puts the XKBMAP, start X11 automatically and icewm desktop + echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc + echo "exec startlxde" >> /mnt/etc/skel/.xinitrc + echo "startx" >> /mnt/etc/skel/.bash_profile + chmod +x /mnt/etc/skel/.xinitrc + cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ + cp -a ~/.scriptsInstallation/x11.sh /mnt + + #Enable services with OpenRC and configure other stuff + chmod +x /mnt/x11.sh + arch-chroot /mnt /x11.sh + rm /mnt/x11.sh + ;; + *) + #Delete temporal file and umount partitions + rm -r /mnt/temporal + umount /mnt/boot &> /dev/null + umount /mnt/home &> /dev/null + umount /mnt &> /dev/null + exit + ;; + esac +done diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/systemConfig.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/systemConfig.sh new file mode 100755 index 0000000..0fe3c68 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/systemConfig.sh @@ -0,0 +1,271 @@ +#!/bin/bash + +HOSTNAME=$(dialog --stdout --inputbox "Introduce o nome do sistema:" 8 40) +sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname + +ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Introduce a Zona Horaria:\nPor ejemplo: Europe/Athens" 8 40) /etc/localtime + +keymaps=( + "ANSI-dvorak ANSI-dvorak off" + "amiga-de amiga-de off" + "amiga-us amiga-us off" + "applkey applkey off" + "atari-de atari-de off" + "atari-se atari-se off" + "atari-uk-falcon atari-uk-falcon off" + "atari-us atari-us off" + "azerty azerty off" + "backspace backspace off" + "bashkir bashkir off" + "be-latin1 be-latin1 off" + "bg-cp1251 bg-cp1251 off" + "bg-cp855 bg-cp855 off" + "bg_bds-cp1251 bg_bds-cp1251 off" + "bg_bds-utf8 bg_bds-utf8 off" + "bg_pho-cp1251 bg_pho-cp1251 off" + "bg_pho-utf8 bg_pho-utf8 off" + "br-abnt br-abnt off" + "br-abnt2 br-abnt2 off" + "br-latin1-abnt2 br-latin1-abnt2 off" + "br-latin1-us br-latin1-us off" + "by by off" + "by-cp1251 by-cp1251 off" + "bywin-cp1251 bywin-cp1251 off" + "cf cf off" + "colemak colemak off" + "croat croat off" + "ctrl ctrl off" + "cz cz off" + "cz-cp1250 cz-cp1250 off" + "cz-lat2 cz-lat2 off" + "cz-lat2-prog cz-lat2-prog off" + "cz-qwertz cz-qwertz off" + "cz-us-qwertz cz-us-qwertz off" + "de de off" + "de-latin1 de-latin1 off" + "de-latin1-nodeadkeys de-latin1-nodeadkeys off" + "de-mobii de-mobii off" + "de_CH-latin1 de_CH-latin1 off" + "de_alt_UTF-8 de_alt_UTF-8 off" + "defkeymap defkeymap off" + "defkeymap_V1.0 defkeymap_V1.0 off" + "dk dk off" + "dk-latin1 dk-latin1 off" + "dvorak dvorak off" + "dvorak-ca-fr dvorak-ca-fr off" + "dvorak-es dvorak-es off" + "dvorak-fr dvorak-fr off" + "dvorak-l dvorak-l off" + "dvorak-r dvorak-r off" + "dvorak-ru dvorak-ru off" + "dvorak-sv-a1 dvorak-sv-a1 off" + "dvorak-sv-a5 dvorak-sv-a5 off" + "dvorak-uk dvorak-uk off" + "emacs emacs off" + "emacs2 emacs2 off" + "es es off" + "es-cp850 es-cp850 off" + "es-olpc es-olpc off" + "et et off" + "et-nodeadkeys et-nodeadkeys off" + "euro euro off" + "euro1 euro1 off" + "euro2 euro2 off" + "fi fi off" + "fr fr off" + "fr-bepo fr-bepo off" + "fr-bepo-latin9 fr-bepo-latin9 off" + "fr-latin1 fr-latin1 off" + "fr-latin9 fr-latin9 off" + "fr-pc fr-pc off" + "fr_CH fr_CH off" + "fr_CH-latin1 fr_CH-latin1 off" + "gr gr off" + "gr-pc gr-pc off" + "hu hu off" + "hu101 hu101 off" + "il il off" + "il-heb il-heb off" + "il-phonetic il-phonetic off" + "is-latin1 is-latin1 off" + "is-latin1-us is-latin1-us off" + "it it off" + "it-ibm it-ibm off" + "it2 it2 off" + "jp106 jp106 off" + "kazakh kazakh off" + "keypad keypad off" + "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" + "kyrgyz kyrgyz off" + "la-latin1 la-latin1 off" + "lt lt off" + "lt.baltic lt.baltic off" + "lt.l4 lt.l4 off" + "lv lv off" + "lv-tilde lv-tilde off" + "mac-be mac-be off" + "mac-de-latin1 mac-de-latin1 off" + "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" + "mac-de_CH mac-de_CH off" + "mac-dk-latin1 mac-dk-latin1 off" + "mac-dvorak mac-dvorak off" + "mac-es mac-es off" + "mac-euro mac-euro off" + "mac-euro2 mac-euro2 off" + "mac-fi-latin1 mac-fi-latin1 off" + "mac-fr mac-fr off" + "mac-fr_CH-latin1 mac-fr_CH-latin1 off" + "mac-it mac-it off" + "mac-pl mac-pl off" + "mac-pt-latin1 mac-pt-latin1 off" + "mac-se mac-se off" + "mac-template mac-template off" + "mac-uk mac-uk off" + "mac-us mac-us off" + "mk mk off" + "mk-cp1251 mk-cp1251 off" + "mk-utf mk-utf off" + "mk0 mk0 off" + "nl nl off" + "nl2 nl2 off" + "no no off" + "no-dvorak no-dvorak off" + "no-latin1 no-latin1 off" + "pc110 pc110 off" + "pl pl off" + "pl1 pl1 off" + "pl2 pl2 off" + "pl3 pl3 off" + "pl4 pl4 off" + "pt-latin1 pt-latin1 off" + "pt-latin9 pt-latin9 off" + "pt-olpc pt-olpc off" + "ro ro off" + "ro_std ro_std off" + "ro_win ro_win off" + "ru ru off" + "ru-cp1251 ru-cp1251 off" + "ru-ms ru-ms off" + "ru-yawerty ru-yawerty off" + "ru1 ru1 off" + "ru2 ru2 off" + "ru3 ru3 off" + "ru4 ru4 off" + "ru_win ru_win off" + "ruwin_alt-CP1251 ruwin_alt-CP1251 off" + "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" + "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" + "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" + "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" + "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" + "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" + "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" + "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" + "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" + "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" + "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" + "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" + "se-fi-ir209 se-fi-ir209 off" + "se-fi-lat6 se-fi-lat6 off" + "se-ir209 se-ir209 off" + "se-lat6 se-lat6 off" + "sg sg off" + "sg-latin1 sg-latin1 off" + "sg-latin1-lk450 sg-latin1-lk450 off" + "sk-prog-qwerty sk-prog-qwerty off" + "sk-prog-qwertz sk-prog-qwertz off" + "sk-qwerty sk-qwerty off" + "sk-qwertz sk-qwertz off" + "slovene slovene off" + "sr-cy sr-cy off" + "sun-pl sun-pl off" + "sun-pl-altgraph sun-pl-altgraph off" + "sundvorak sundvorak off" + "sunkeymap sunkeymap off" + "sunt4-es sunt4-es off" + "sunt4-fi-latin1 sunt4-fi-latin1 off" + "sunt4-no-latin1 sunt4-no-latin1 off" + "sunt5-cz-us sunt5-cz-us off" + "sunt5-de-latin1 sunt5-de-latin1 off" + "sunt5-es sunt5-es off" + "sunt5-fi-latin1 sunt5-fi-latin1 off" + "sunt5-fr-latin1 sunt5-fr-latin1 off" + "sunt5-ru sunt5-ru off" + "sunt5-uk sunt5-uk off" + "sunt5-us-cz sunt5-us-cz off" + "sunt6-uk sunt6-uk off" + "sv-latin1 sv-latin1 off" + "tj_alt-UTF8 tj_alt-UTF8 off" + "tr_f-latin5 tr_f-latin5 off" + "tr_q-latin5 tr_q-latin5 off" + "tralt tralt off" + "trf trf off" + "trf-fgGIod trf-fgGIod off" + "trq trq off" + "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" + "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" + "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" + "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" + "ua ua off" + "ua-cp1251 ua-cp1251 off" + "ua-utf ua-utf off" + "ua-utf-ws ua-utf-ws off" + "ua-ws ua-ws off" + "uk uk off" + "unicode unicode off" + "us us on" + "us-acentos us-acentos off" + "wangbe wangbe off" + "wangbe2 wangbe2 off" + "windowkeys windowkeys off" +) + +echo "KEYMAP=$(dialog --stdout --radiolist "Selecciona a distribucion do teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf + +aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) +index=0 +for i in $aux; do + i=$(echo $i | sed -e 's/#/ /g') + locales+=("$i" "$i" off) + if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then + locales[$index]="$i" + locales[$((index+1))]="$i" + locales[$((index+2))]="on" + fi + index=$((index+3)) +done + +locale=$(dialog --stdout --checklist "Selecciona as Localizacions" 20 70 50 "${locales[@]}") +locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') + +for i in ${locale[@]}; do + i=$(echo $i | sed -e 's/#/ /g') + sed -i -e "s/#$i/$i/g" /etc/locale.gen +done + +locale-gen + +aux=$(locale -a) +index=0 +for i in $aux; do + langs+=("$i" "$i" on) + index=$((index+1)) +done + +echo "LANG=$(dialog --stdout --radiolist "Selecciona o teu idioma" 20 70 50 ${langs[@]})" > /etc/locale.conf + +mkinitcpio -p linux-libre + +hdd=$(cat /temporal | grep 'hdd=') +grub-install ${hdd#*=} +grub-mkconfig -o /boot/grub/grub.cfg + +password=$(dialog --stdout --passwordbox "Insire o contrasinal para o administrador" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite o contrasinal para o administrador" 8 40) +done + +usermod -p $(openssl passwd ${password}) root + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/userAccount.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/userAccount.sh new file mode 100755 index 0000000..aa1d33a --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/gl/userAccount.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +user=$(cat /temporal | grep "userName") + +password=$(dialog --stdout --passwordbox "Introduce o contrasinal para o usuario ${user#*=}" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite o contrasinal" 8 40) +done + +useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/install.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/install.sh new file mode 100755 index 0000000..1de6c85 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/install.sh @@ -0,0 +1,227 @@ +#!/bin/bash +#Temporal is a file that contains parameters to use when access to chroot + +if [ ! -f ~/.scriptsInstallation/.pacman ]; then + pacman -Sy parabola-keyring archlinux-keyring --noconfirm + pacman-key --populate parabola archlinux + pacman-key --refresh-keys + case $? in + 0) touch ~/.scriptsInstallation/.pacman + ;; + *) false + ;; + esac +fi + +partition(){ + + #Search and show the Hard Disks to select + aux=$(ls /dev/sd?) + index=0 + for i in $aux; do + hdds[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + hdd=$(dialog --stdout --radiolist "Escolha o Disco" 20 70 50 ${hdds[@]}) + + #If exist the line delete + if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null + then + sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal + fi + + #And add the new line with new parameter + echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal + + selection=$(dialog --stdout --menu "Método de Particionamento" 20 70 50 \ + 1 "Usar todo o disco com o swap (1GB) e /" \ + 2 "Usar o gparted para personalizar" ) + + case $selection in + 1) + umount /mnt &> /dev/null + #Create msdos partition table + parted -s $hdd -- mklabel msdos + + #Create partition swap and / + parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s + + #Boot option partition / + parted -s $hdd -- set 2 boot on + + #Format and partitions and mount / + (echo t; echo 1; echo 82; echo w) | fdisk $hdd + mkswap ${hdd}1 + mkfs.ext4 ${hdd}2 + mount ${hdd}2 /mnt + ;; + 2) + gparted $hdd + + #Search and show the partitions that select before. + aux=$(ls $hdd?) + index=0; + for i in $aux; do + partitions[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + partition=$(dialog --stdout --radiolist "Montar a partição /" 20 70 50 ${partitions[@]}) + + #Mount partition / + umount /mnt &> /dev/null + mount $partition /mnt + + #Ask if you want mount other partitions + other=0 + while [ $other != 3 ]; do + other=$(dialog --stdout --menu "Quer montar outra partição?" 20 70 50 1 "/home" 2 "/boot" 3 "Não") + + case $other in + 1) + umount /mnt/home &> /dev/null + mkdir /mnt/home &> /dev/null + mount $(dialog --stdout --radiolist "Montar a partição /home" 20 70 50 ${partitions[@]}) /mnt/home + ;; + 2) + umount /mnt/boot &> /dev/null + mkdir /mnt/boot &> /dev/null + mount $(dialog --stdout --radiolist "Montar a partição /boot" 20 70 50 ${partitions[@]}) /mnt/boot + ;; + *) + other=3 + ;; + esac + done + ;; + esac +} + + +option=0 +while [ option != 7 ]; do + option=$(dialog --stdout --menu "Instalação CLI da Parabola" 20 70 50 \ + 1 "Formatar e Montar as Partições" \ + 2 "Instalar o Sistema Base" \ + 3 "Instalar o GRUB" \ + 4 "Configuração do Sistema" \ + 5 "Adicionar uma Conta de Usuário" \ + 6 "(Opcional) Instalar Ambiente Gráfico/Aplicativos da Live DVD" \ + 7 "Sair" ) + + case $option in + 1) + partition + ;; + 2) + #Install base system + pacstrap /mnt base-openrc + pacstrap /mnt dialog + ;; + 3) + #Install grub + pacstrap /mnt grub + ;; + 4) + #Generate fstab and acces to chroot to do System Config + genfstab -p /mnt >> /mnt/etc/fstab + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/systemConfig.sh /mnt + chmod +x /mnt/systemConfig.sh + arch-chroot /mnt /systemConfig.sh + rm -r /mnt/systemConfig.sh + ;; + 5) + #Create a new username and save in temporal, to use after + if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null + then + sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal + fi + + echo "userName=$(dialog --stdout --inputbox "Insira o nome do usuário" 8 40)" >> ~/.scriptsInstallation/temporal + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/userAccount.sh /mnt + chmod +x /mnt/userAccount.sh + arch-chroot /mnt /userAccount.sh + rm -r /mnt/userAccount.sh + ;; + 6) + #Packages to the X11 live + packages=( "xorg-server" + "xf86-input-evdev" + "xf86-input-synaptics" + "xf86-video-ati" + "xf86-video-dummy" + "xf86-video-fbdev" + "xf86-video-intel" + "xf86-video-nouveau" + "xf86-video-openchrome" + "xf86-video-sisusb" + "xf86-video-vesa" + "xf86-video-vmware" + "xf86-video-voodoo" + "xf86-video-qxl" + "xorg-xinit" + "gst-plugins-good" + "gst-libav" + "lxde" + "volumeicon" + "zenity" + "octopi" + "pulseaudio-alsa" + "alsa-utils" + "networkmanager-elogind" + "network-manager-applet" + "ath9k-htc-firmware" + "iceweasel" + "icedove" + "pidgin" + "gparted" + "smplayer" + "epdfview" + "gpicview" + "abiword" + "gnumeric" + "leafpad" + "galculator-gtk2" + "xarchiver" + "openrc-desktop" + "polkit-elogind" + "gvfs-mtp" + "gvfs-gphoto2" + "xdg-user-dirs" + "gnome-screenshot" + ) + + #Install packages + pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm + user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) + + #Copy skel in the new system and desktop's background + cp -a /etc/skel/ /mnt/etc/ + cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png + + #Puts the XKBMAP, start X11 automatically and icewm desktop + echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc + echo "exec startlxde" >> /mnt/etc/skel/.xinitrc + echo "startx" >> /mnt/etc/skel/.bash_profile + chmod +x /mnt/etc/skel/.xinitrc + cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ + cp -a ~/.scriptsInstallation/x11.sh /mnt + + #Enable services with OpenRC and configure other stuff + chmod +x /mnt/x11.sh + arch-chroot /mnt /x11.sh + rm /mnt/x11.sh + ;; + *) + #Delete temporal file and umount partitions + rm -r /mnt/temporal + umount /mnt/boot &> /dev/null + umount /mnt/home &> /dev/null + umount /mnt &> /dev/null + exit + ;; + esac +done diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/systemConfig.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/systemConfig.sh new file mode 100755 index 0000000..983d0ba --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/systemConfig.sh @@ -0,0 +1,271 @@ +#!/bin/bash + +HOSTNAME=$(dialog --stdout --inputbox "Adicione o nome do sistema:" 8 40) +sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname + +ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Adicione o Fuso Horário:\nPor exemplo: America/Sao_Paulo" 8 40) /etc/localtime + +keymaps=( + "ANSI-dvorak ANSI-dvorak off" + "amiga-de amiga-de off" + "amiga-us amiga-us off" + "applkey applkey off" + "atari-de atari-de off" + "atari-se atari-se off" + "atari-uk-falcon atari-uk-falcon off" + "atari-us atari-us off" + "azerty azerty off" + "backspace backspace off" + "bashkir bashkir off" + "be-latin1 be-latin1 off" + "bg-cp1251 bg-cp1251 off" + "bg-cp855 bg-cp855 off" + "bg_bds-cp1251 bg_bds-cp1251 off" + "bg_bds-utf8 bg_bds-utf8 off" + "bg_pho-cp1251 bg_pho-cp1251 off" + "bg_pho-utf8 bg_pho-utf8 off" + "br-abnt br-abnt off" + "br-abnt2 br-abnt2 off" + "br-latin1-abnt2 br-latin1-abnt2 off" + "br-latin1-us br-latin1-us off" + "by by off" + "by-cp1251 by-cp1251 off" + "bywin-cp1251 bywin-cp1251 off" + "cf cf off" + "colemak colemak off" + "croat croat off" + "ctrl ctrl off" + "cz cz off" + "cz-cp1250 cz-cp1250 off" + "cz-lat2 cz-lat2 off" + "cz-lat2-prog cz-lat2-prog off" + "cz-qwertz cz-qwertz off" + "cz-us-qwertz cz-us-qwertz off" + "de de off" + "de-latin1 de-latin1 off" + "de-latin1-nodeadkeys de-latin1-nodeadkeys off" + "de-mobii de-mobii off" + "de_CH-latin1 de_CH-latin1 off" + "de_alt_UTF-8 de_alt_UTF-8 off" + "defkeymap defkeymap off" + "defkeymap_V1.0 defkeymap_V1.0 off" + "dk dk off" + "dk-latin1 dk-latin1 off" + "dvorak dvorak off" + "dvorak-ca-fr dvorak-ca-fr off" + "dvorak-es dvorak-es off" + "dvorak-fr dvorak-fr off" + "dvorak-l dvorak-l off" + "dvorak-r dvorak-r off" + "dvorak-ru dvorak-ru off" + "dvorak-sv-a1 dvorak-sv-a1 off" + "dvorak-sv-a5 dvorak-sv-a5 off" + "dvorak-uk dvorak-uk off" + "emacs emacs off" + "emacs2 emacs2 off" + "es es off" + "es-cp850 es-cp850 off" + "es-olpc es-olpc off" + "et et off" + "et-nodeadkeys et-nodeadkeys off" + "euro euro off" + "euro1 euro1 off" + "euro2 euro2 off" + "fi fi off" + "fr fr off" + "fr-bepo fr-bepo off" + "fr-bepo-latin9 fr-bepo-latin9 off" + "fr-latin1 fr-latin1 off" + "fr-latin9 fr-latin9 off" + "fr-pc fr-pc off" + "fr_CH fr_CH off" + "fr_CH-latin1 fr_CH-latin1 off" + "gr gr off" + "gr-pc gr-pc off" + "hu hu off" + "hu101 hu101 off" + "il il off" + "il-heb il-heb off" + "il-phonetic il-phonetic off" + "is-latin1 is-latin1 off" + "is-latin1-us is-latin1-us off" + "it it off" + "it-ibm it-ibm off" + "it2 it2 off" + "jp106 jp106 off" + "kazakh kazakh off" + "keypad keypad off" + "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" + "kyrgyz kyrgyz off" + "la-latin1 la-latin1 off" + "lt lt off" + "lt.baltic lt.baltic off" + "lt.l4 lt.l4 off" + "lv lv off" + "lv-tilde lv-tilde off" + "mac-be mac-be off" + "mac-de-latin1 mac-de-latin1 off" + "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" + "mac-de_CH mac-de_CH off" + "mac-dk-latin1 mac-dk-latin1 off" + "mac-dvorak mac-dvorak off" + "mac-es mac-es off" + "mac-euro mac-euro off" + "mac-euro2 mac-euro2 off" + "mac-fi-latin1 mac-fi-latin1 off" + "mac-fr mac-fr off" + "mac-fr_CH-latin1 mac-fr_CH-latin1 off" + "mac-it mac-it off" + "mac-pl mac-pl off" + "mac-pt-latin1 mac-pt-latin1 off" + "mac-se mac-se off" + "mac-template mac-template off" + "mac-uk mac-uk off" + "mac-us mac-us off" + "mk mk off" + "mk-cp1251 mk-cp1251 off" + "mk-utf mk-utf off" + "mk0 mk0 off" + "nl nl off" + "nl2 nl2 off" + "no no off" + "no-dvorak no-dvorak off" + "no-latin1 no-latin1 off" + "pc110 pc110 off" + "pl pl off" + "pl1 pl1 off" + "pl2 pl2 off" + "pl3 pl3 off" + "pl4 pl4 off" + "pt-latin1 pt-latin1 off" + "pt-latin9 pt-latin9 off" + "pt-olpc pt-olpc off" + "ro ro off" + "ro_std ro_std off" + "ro_win ro_win off" + "ru ru off" + "ru-cp1251 ru-cp1251 off" + "ru-ms ru-ms off" + "ru-yawerty ru-yawerty off" + "ru1 ru1 off" + "ru2 ru2 off" + "ru3 ru3 off" + "ru4 ru4 off" + "ru_win ru_win off" + "ruwin_alt-CP1251 ruwin_alt-CP1251 off" + "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" + "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" + "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" + "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" + "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" + "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" + "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" + "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" + "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" + "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" + "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" + "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" + "se-fi-ir209 se-fi-ir209 off" + "se-fi-lat6 se-fi-lat6 off" + "se-ir209 se-ir209 off" + "se-lat6 se-lat6 off" + "sg sg off" + "sg-latin1 sg-latin1 off" + "sg-latin1-lk450 sg-latin1-lk450 off" + "sk-prog-qwerty sk-prog-qwerty off" + "sk-prog-qwertz sk-prog-qwertz off" + "sk-qwerty sk-qwerty off" + "sk-qwertz sk-qwertz off" + "slovene slovene off" + "sr-cy sr-cy off" + "sun-pl sun-pl off" + "sun-pl-altgraph sun-pl-altgraph off" + "sundvorak sundvorak off" + "sunkeymap sunkeymap off" + "sunt4-es sunt4-es off" + "sunt4-fi-latin1 sunt4-fi-latin1 off" + "sunt4-no-latin1 sunt4-no-latin1 off" + "sunt5-cz-us sunt5-cz-us off" + "sunt5-de-latin1 sunt5-de-latin1 off" + "sunt5-es sunt5-es off" + "sunt5-fi-latin1 sunt5-fi-latin1 off" + "sunt5-fr-latin1 sunt5-fr-latin1 off" + "sunt5-ru sunt5-ru off" + "sunt5-uk sunt5-uk off" + "sunt5-us-cz sunt5-us-cz off" + "sunt6-uk sunt6-uk off" + "sv-latin1 sv-latin1 off" + "tj_alt-UTF8 tj_alt-UTF8 off" + "tr_f-latin5 tr_f-latin5 off" + "tr_q-latin5 tr_q-latin5 off" + "tralt tralt off" + "trf trf off" + "trf-fgGIod trf-fgGIod off" + "trq trq off" + "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" + "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" + "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" + "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" + "ua ua off" + "ua-cp1251 ua-cp1251 off" + "ua-utf ua-utf off" + "ua-utf-ws ua-utf-ws off" + "ua-ws ua-ws off" + "uk uk off" + "unicode unicode off" + "us us on" + "us-acentos us-acentos off" + "wangbe wangbe off" + "wangbe2 wangbe2 off" + "windowkeys windowkeys off" +) + +echo "KEYMAP=$(dialog --stdout --radiolist "Escolha a distribuição do teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf + +aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) +index=0 +for i in $aux; do + i=$(echo $i | sed -e 's/#/ /g') + locales+=("$i" "$i" off) + if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then + locales[$index]="$i" + locales[$((index+1))]="$i" + locales[$((index+2))]="on" + fi + index=$((index+3)) +done + +locale=$(dialog --stdout --checklist "Escolha as Localizações" 20 70 50 "${locales[@]}") +locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') + +for i in ${locale[@]}; do + i=$(echo $i | sed -e 's/#/ /g') + sed -i -e "s/#$i/$i/g" /etc/locale.gen +done + +locale-gen + +aux=$(locale -a) +index=0 +for i in $aux; do + langs+=("$i" "$i" on) + index=$((index+1)) +done + +echo "LANG=$(dialog --stdout --radiolist "Escolha a sua língua" 20 70 50 ${langs[@]})" > /etc/locale.conf + +mkinitcpio -p linux-libre + +hdd=$(cat /temporal | grep 'hdd=') +grub-install ${hdd#*=} +grub-mkconfig -o /boot/grub/grub.cfg + +password=$(dialog --stdout --passwordbox "Insira a senha para o root" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repita a senha para o root" 8 40) +done + +usermod -p $(openssl passwd ${password}) root + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/userAccount.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/userAccount.sh new file mode 100755 index 0000000..408beba --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/language/pt/userAccount.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +user=$(cat /temporal | grep "userName") + +password=$(dialog --stdout --passwordbox "Insira a senha para o usuário ${user#*=}" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repita a senha" 8 40) +done + +useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} + +exit diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/parabolaicon.png b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/parabolaicon.png new file mode 100644 index 0000000..aed32d7 Binary files /dev/null and b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/parabolaicon.png differ diff --git a/configs/lxde-openrc/airootfs/root/.scriptsInstallation/x11.sh b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/x11.sh new file mode 100755 index 0000000..47035c5 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.scriptsInstallation/x11.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +check_dbus() { + grep dbus /etc/$1 +} + +# Create the dbus user if it doesn't exist +[[ $(check_dbus group) = "" ]] && groupadd -g 81 dbus +[[ $(check_dbus passwd) = "" ]] && useradd -r -s /sbin/nologin -g 81 -u 81 dbus + +# Enable services with OpenRC +rc-update add NetworkManager default +rc-update add dbus default +rc-update add alsasound default diff --git a/configs/lxde-openrc/airootfs/root/.themes/Parabola/index.theme b/configs/lxde-openrc/airootfs/root/.themes/Parabola/index.theme new file mode 100644 index 0000000..d6b2393 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.themes/Parabola/index.theme @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Parabola +Type=X-GNOME-Metatheme +Comment= + +[X-GNOME-Metatheme] +GtkTheme=Radiance-Purple +MetacityTheme=Radiance-Purple +IconTheme=RAVE-X-Dark-Purple +GtkColorScheme=base_color:#ffffff,fg_color:#4c4c4c,tooltip_fg_color:#ffffff,selected_bg_color:#7E5BC5,selected_fg_color:#FFFFFF,text_color:#3C3C3C,bg_color:#F6F6F6,tooltip_bg_color:#000000,link_color:#9D7EDA +CursorTheme=mate +CursorSize=18 +BackgroundImage=/etc/wallpaper.png diff --git a/configs/lxde-openrc/airootfs/root/.xinitrc b/configs/lxde-openrc/airootfs/root/.xinitrc new file mode 100644 index 0000000..09e419c --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.xinitrc @@ -0,0 +1,7 @@ +code=$(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2) +[ "$code" = "0" ] && code='us' +setxkbmap $code +service NetworkManager start +service dbus start +service alsasound start +exec startlxde diff --git a/configs/lxde-openrc/airootfs/root/.zlogin b/configs/lxde-openrc/airootfs/root/.zlogin new file mode 100644 index 0000000..b24dba9 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/.zlogin @@ -0,0 +1,4 @@ +~/.automated_script.sh +~/.language.sh +export $(cat /etc/locale.conf) +startx diff --git a/configs/lxde-openrc/airootfs/root/Desktop/Parabola Installation CLI.desktop b/configs/lxde-openrc/airootfs/root/Desktop/Parabola Installation CLI.desktop new file mode 100755 index 0000000..9a2d871 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/Desktop/Parabola Installation CLI.desktop @@ -0,0 +1,12 @@ +#!/usr/bin/env xdg-open +[Desktop Entry] +Version=1.0 +Type=Application +Terminal=true +Name[es_ES]=Instalador CLI de Parabola +Name[gl_ES]=Instalador CLI de Parabola +Name[pt_BR]=Instalador CLI da Parabola +Exec=/root/.scriptsInstallation/install.sh +Name=Parabola Installation CLI +Comment=Parabola Installation Scripts +Icon=/root/.scriptsInstallation/parabolaicon.png diff --git a/configs/lxde-openrc/airootfs/root/customize_airootfs.sh b/configs/lxde-openrc/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..7d1bfda --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/customize_airootfs.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +set -e -u + +sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(es_ES\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(gl_ES\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(pt_BR\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(pl_PL\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(it_IT\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(fr_FR\.UTF-8\)/\1/' /etc/locale.gen +sed -i 's/#\(eo\)/\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/ +chmod 700 /root + +sed -i 's/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist + +sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/elogind/logind.conf +sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/elogind/logind.conf +sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/elogind/logind.conf + +case $(uname -m) in + x86_64) echo 'KEYS="archlinux parabola"' > /etc/conf.d/pacman-init + ;; + i686) echo 'KEYS="archlinux archlinux32 parabola"' > /etc/conf.d/pacman-init + ;; +esac + +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,scanner,storage,optical,power,wheel,disk,sys" -s /usr/bin/zsh parabola + +services=(NetworkManager + elogind + alsasound + dbus + haveged + pacman-init) + +for s in ${services[@]}; do + rc-update add $s default +done + +sed -i "s/_DATE_/$(date +%Y.%m.%d)/" /etc/motd diff --git a/configs/lxde-openrc/airootfs/root/install.txt b/configs/lxde-openrc/airootfs/root/install.txt new file mode 100644 index 0000000..a594b97 --- /dev/null +++ b/configs/lxde-openrc/airootfs/root/install.txt @@ -0,0 +1,2 @@ +View this installation guide online at +https://wiki.parabola.nu/Installation_Guide diff --git a/configs/lxde-openrc/aitab b/configs/lxde-openrc/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/lxde-openrc/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -root-image / i686 xz ext4 50% -root-image / x86_64 xz ext4 50% diff --git a/configs/lxde-openrc/build.sh b/configs/lxde-openrc/build.sh index 98a61eb..725605a 100755 --- a/configs/lxde-openrc/build.sh +++ b/configs/lxde-openrc/build.sh @@ -5,18 +5,23 @@ set -e -u iso_name=parabola-openrc-lxde iso_label="PARA_$(date +%Y%m)" iso_version=$(date +%Y.%m.%d) -iso_edition="LXDE" -iso_title="Parabola GNU/Linux-libre - ${iso_edition} Desktop LiveCD" +iso_title="Parabola GNU/Linux-libre - LXDE Desktop LiveCD" install_dir=parabola work_dir=work out_dir=out -data_dir=/usr/share/parabolaiso/data +gpg_key= arch=$(uname -m) verbose="" -pacman_conf=${work_dir}/pacman.conf script_path=$(readlink -f ${0%/*}) -initcpio_dir=${script_path}/../../parabolaiso/initcpio + +# Init system. Options are: +# - openrc +# - runit +# - systemd +# +# Default is systemd +init=openrc _usage () { @@ -48,56 +53,76 @@ run_once() { fi } -# Setup custom pacman.conf with current cache directories. +# Setup custom pacman.conf with current cache directories and custom mirrorlist. 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} + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman.conf } -# Base installation, plus needed packages (root-image) +# Base installation, plus needed packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" -p "haveged memtest86+ mkinitcpio-nfs-utils nbd zsh" install } -# Additional packages (root-image) +# Additional packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install +} + +# Needed packages for x86_64 EFI boot +make_packages_efi() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install } -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) +# Copy mkinitcpio parabolaiso hooks and build initramfs (airootfs) make_setup_mkinitcpio() { local _hook + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/install for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do - cp ${initcpio_dir}/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp ${initcpio_dir}/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/install done - cp ${initcpio_dir}/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp ${initcpio_dir}/hooks/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 + sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" ${work_dir}/${arch}/airootfs/etc/initcpio/install/parabolaiso_shutdown + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/airootfs/etc/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/airootfs/etc/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/airootfs/etc/mkinitcpio-parabolaiso.conf + gnupg_fd= + if [[ ${gpg_key} ]]; then + gpg --export ${gpg_key} >${work_dir}/gpgkey + exec 17<>${work_dir}/gpgkey + fi + PARABOLAISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run + if [[ ${gpg_key} ]]; then + exec 17<&- + fi } -# Customize installation (root-image) -make_customize_root_image() { - cp -af ${script_path}/root-image ${work_dir}/${arch} +# Customize installation (airootfs) +make_customize_airootfs() { + cp -af ${script_path}/airootfs ${work_dir}/${arch} - iso_version="${iso_version}" 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 + curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.parabola.nu/mirrorlist/?country=all&protocol=http&use_mirror_status=on' + + lynx -dump -nolist 'https://wiki.parabola.nu/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt + + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run + rm ${work_dir}/${arch}/airootfs/root/customize_airootfs.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 + cp ${work_dir}/${arch}/airootfs/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/airootfs/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 + cp ${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest + cp ${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING } # Prepare /${install_dir}/boot/syslinux @@ -108,13 +133,13 @@ make_syslinux() { 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/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/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/*-gnu-*/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz - + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/lib/modules/*-gnu-*/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz + # inject edition title sed -i "s|_EDITION_TITLE_|${iso_title}|" ${work_dir}/iso/${install_dir}/boot/syslinux/parabolaiso_head.cfg } @@ -123,14 +148,16 @@ make_syslinux() { 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/bios/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ } # Prepare /EFI make_efi() { mkdir -p ${work_dir}/iso/EFI/boot + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/ mkdir -p ${work_dir}/iso/loader/entries cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/iso/loader/ @@ -141,17 +168,17 @@ make_efi() { 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 ) - 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 ) - cp ${data_dir}/Shell_Full.efi ${work_dir}/iso/EFI/shellx64_v1.efi + # EFI Shell 2.0 for UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/master/ShellBinPkg/UefiShell/X64/Shell.efi + # EFI Shell 1.0 for non UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/master/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 38M ${work_dir}/iso/EFI/parabolaiso/efiboot.img - mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + truncate -s 64M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.fat -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 @@ -161,6 +188,8 @@ 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/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/ mkdir -p ${work_dir}/efiboot/loader/entries cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ @@ -174,27 +203,20 @@ make_efiboot() { 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 + umount -d ${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) +# Build airootfs filesystem image make_prepare() { - cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} + cp -a -l -f ${work_dir}/${arch}/airootfs ${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) + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare + rm -rf ${work_dir}/airootfs + # rm -rf ${work_dir}/${arch}/airootfs (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" } @@ -208,7 +230,7 @@ if [[ ${arch} != x86_64 ]]; then _usage 1 fi -while getopts 'N:V:L:D:w:o:vh' arg; do +while getopts 'N:V:L:D:w:o:g:vh' arg; do case "${arg}" in N) iso_name="${OPTARG}" ;; V) iso_version="${OPTARG}" ;; @@ -216,6 +238,7 @@ while getopts 'N:V:L:D:w:o:vh' arg; do D) install_dir="${OPTARG}" ;; w) work_dir="${OPTARG}" ;; o) out_dir="${OPTARG}" ;; + g) gpg_key="${OPTARG}" ;; v) verbose="-v" ;; h) _usage 0 ;; *) @@ -229,12 +252,17 @@ mkdir -p ${work_dir} run_once make_pacman_conf -# Do all stuff for each root-image +# Do all stuff for each airootfs for arch in i686 x86_64; do run_once make_basefs run_once make_packages +done + +run_once make_packages_efi + +for arch in i686 x86_64; do run_once make_setup_mkinitcpio - run_once make_customize_root_image + run_once make_customize_airootfs done for arch in i686 x86_64; do @@ -242,17 +270,11 @@ for arch in i686 x86_64; do done # Do all stuff for "iso" - -if [[ $(lsmod|grep loop) = "" ]]; then - modprobe loop -fi - 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 diff --git a/configs/lxde-openrc/mkinitcpio.conf b/configs/lxde-openrc/mkinitcpio.conf index fc2572b..9448579 100644 --- a/configs/lxde-openrc/mkinitcpio.conf +++ b/configs/lxde-openrc/mkinitcpio.conf @@ -1,3 +1,3 @@ MODULES="loop" -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" +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/lxde-openrc/root-image/etc/conf.d/agetty.tty1 b/configs/lxde-openrc/root-image/etc/conf.d/agetty.tty1 deleted file mode 100644 index b7ff06d..0000000 --- a/configs/lxde-openrc/root-image/etc/conf.d/agetty.tty1 +++ /dev/null @@ -1,11 +0,0 @@ -# Set the baud rate of the terminal line -baud="38400" - -# set the terminal type -term_type="linux" - -# extra options to pass to agetty for this port -agetty_options="--autologin root --noclear" - -# make agetty quiet -#quiet="no" diff --git a/configs/lxde-openrc/root-image/etc/conf.d/hostname b/configs/lxde-openrc/root-image/etc/conf.d/hostname deleted file mode 100644 index a701f0c..0000000 --- a/configs/lxde-openrc/root-image/etc/conf.d/hostname +++ /dev/null @@ -1,2 +0,0 @@ -# Set to the hostname of this machine -hostname="parabolaiso" diff --git a/configs/lxde-openrc/root-image/etc/fstab b/configs/lxde-openrc/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/lxde-openrc/root-image/etc/init.d/pacman-init b/configs/lxde-openrc/root-image/etc/init.d/pacman-init deleted file mode 100755 index b610683..0000000 --- a/configs/lxde-openrc/root-image/etc/init.d/pacman-init +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/openrc-run -# Copyright (C) 2017 Parabola Project -# Copyright (C) Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -description="Initializes Pacman keyring" - -depend() { - use haveged - after haveged -} - -start() { - # Check that there's no keyring, if there isn't, create one - # in the background for a faster boot - if [ ! -d /etc/pacman.d/gnupg ]; then - ebegin "Starting Pacman keyring" - pacman-key --init &> /dev/null && - pacman-key --populate archlinux parabola &> /dev/null - else - ebegin "Pacman keyring already started" - fi -} - -stop() { - # If there's a keyring, delete it - if [ -d /etc/pacman.d/gnupg ]; then - ebegin "Stoping Pacman keyring" - rm -rf /etc/pacman.d/gnupg - fi -} diff --git a/configs/lxde-openrc/root-image/etc/locale.conf b/configs/lxde-openrc/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/lxde-openrc/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/lxde-openrc/root-image/etc/motd b/configs/lxde-openrc/root-image/etc/motd deleted file mode 100644 index e4ff560..0000000 --- a/configs/lxde-openrc/root-image/etc/motd +++ /dev/null @@ -1,13 +0,0 @@ - -=============================================================================== - - Parabola GNU/Linux-libre Live _DATE_ - - To install Parabola, the system must be connected to the internet. - For installation itself, enter this command: - ./install.sh - - Press the function keys while holding Alt to switch virtual terminals. - -=============================================================================== - diff --git a/configs/lxde-openrc/root-image/etc/pam.d/su b/configs/lxde-openrc/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/lxde-openrc/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/lxde-openrc/root-image/etc/skel/.config/lxsession/LXDE/desktop.conf b/configs/lxde-openrc/root-image/etc/skel/.config/lxsession/LXDE/desktop.conf deleted file mode 100644 index c50f484..0000000 --- a/configs/lxde-openrc/root-image/etc/skel/.config/lxsession/LXDE/desktop.conf +++ /dev/null @@ -1,48 +0,0 @@ -[Session] -window_manager=openbox-lxde -disable_autostart=no -polkit/command=sleep 5s && lxpolkit -clipboard/command=lxclipboard -xsettings_manager/command=build-in -proxy_manager/command=build-in -keyring/command=ssh-agent -quit_manager/command=lxsession-logout -lock_manager/command=lxlock -terminal_manager/command=lxterminal - -[GTK] -sNet/ThemeName=Adwaita -sNet/IconThemeName=nuoveXT2 -sGtk/FontName=Sans 10 -iGtk/ToolbarStyle=3 -iGtk/ButtonImages=1 -iGtk/MenuImages=1 -iGtk/CursorThemeSize=18 -iXft/Antialias=1 -iXft/Hinting=1 -sXft/HintStyle=hintslight -sXft/RGBA=rgb -iNet/EnableEventSounds=1 -iNet/EnableInputFeedbackSounds=1 -sGtk/ColorScheme= -iGtk/ToolbarIconSize=3 -sGtk/CursorThemeName=DMZ-White - -[Mouse] -AccFactor=20 -AccThreshold=10 -LeftHanded=0 - -[Keyboard] -Delay=500 -Interval=30 -Beep=1 - -[State] -guess_default=true - -[Dbus] -lxde=true - -[Environment] -menu_prefix=lxde- diff --git a/configs/lxde-openrc/root-image/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf b/configs/lxde-openrc/root-image/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf deleted file mode 100644 index 6186fce..0000000 --- a/configs/lxde-openrc/root-image/etc/skel/.config/pcmanfm/LXDE/desktop-items-0.conf +++ /dev/null @@ -1,14 +0,0 @@ -[*] -wallpaper_mode=crop -wallpaper_common=1 -wallpaper=/etc/wallpaper.png -desktop_bg=#000000 -desktop_fg=#ffffff -desktop_shadow=#000000 -desktop_font=Sans 12 -show_wm_menu=0 -sort=mtime;ascending; -show_documents=0 -show_trash=1 -show_mounts=1 - diff --git a/configs/lxde-openrc/root-image/etc/sudoers.d/g_wheel b/configs/lxde-openrc/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/lxde-openrc/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/lxde-openrc/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/lxde-openrc/root-image/etc/udev/rules.d/81-dhcpcd.rules deleted file mode 100644 index 970da69..0000000 --- a/configs/lxde-openrc/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/lxde-openrc/root-image/etc/wallpaper.png b/configs/lxde-openrc/root-image/etc/wallpaper.png deleted file mode 100644 index d2a3927..0000000 Binary files a/configs/lxde-openrc/root-image/etc/wallpaper.png and /dev/null differ diff --git a/configs/lxde-openrc/root-image/root/.automated_script.sh b/configs/lxde-openrc/root-image/root/.automated_script.sh deleted file mode 100755 index fb106da..0000000 --- a/configs/lxde-openrc/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/lxde-openrc/root-image/root/.codecheck b/configs/lxde-openrc/root-image/root/.codecheck deleted file mode 100644 index 8b10d0c..0000000 --- a/configs/lxde-openrc/root-image/root/.codecheck +++ /dev/null @@ -1,2 +0,0 @@ -LANG=0 -XKBMAP=0 diff --git a/configs/lxde-openrc/root-image/root/.config/dconf/user b/configs/lxde-openrc/root-image/root/.config/dconf/user deleted file mode 100644 index dab7f59..0000000 Binary files a/configs/lxde-openrc/root-image/root/.config/dconf/user and /dev/null differ diff --git a/configs/lxde-openrc/root-image/root/.config/gtk-2.0/gtkfilechooser.ini b/configs/lxde-openrc/root-image/root/.config/gtk-2.0/gtkfilechooser.ini deleted file mode 100644 index c6b458d..0000000 --- a/configs/lxde-openrc/root-image/root/.config/gtk-2.0/gtkfilechooser.ini +++ /dev/null @@ -1,11 +0,0 @@ -[Filechooser Settings] -LocationMode=path-bar -ShowHidden=true -ShowSizeColumn=true -GeometryX=52 -GeometryY=86 -GeometryWidth=920 -GeometryHeight=585 -SortColumn=name -SortOrder=ascending -StartupMode=recent diff --git a/configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/autostart b/configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/autostart deleted file mode 100644 index 3942b5a..0000000 --- a/configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/autostart +++ /dev/null @@ -1,4 +0,0 @@ -@lxpanel --profile LXDE -@pcmanfm --desktop --profile LXDE -@xscreensaver -no-splash -@/root/.keymap.sh diff --git a/configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/desktop.conf b/configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/desktop.conf deleted file mode 100644 index c50f484..0000000 --- a/configs/lxde-openrc/root-image/root/.config/lxsession/LXDE/desktop.conf +++ /dev/null @@ -1,48 +0,0 @@ -[Session] -window_manager=openbox-lxde -disable_autostart=no -polkit/command=sleep 5s && lxpolkit -clipboard/command=lxclipboard -xsettings_manager/command=build-in -proxy_manager/command=build-in -keyring/command=ssh-agent -quit_manager/command=lxsession-logout -lock_manager/command=lxlock -terminal_manager/command=lxterminal - -[GTK] -sNet/ThemeName=Adwaita -sNet/IconThemeName=nuoveXT2 -sGtk/FontName=Sans 10 -iGtk/ToolbarStyle=3 -iGtk/ButtonImages=1 -iGtk/MenuImages=1 -iGtk/CursorThemeSize=18 -iXft/Antialias=1 -iXft/Hinting=1 -sXft/HintStyle=hintslight -sXft/RGBA=rgb -iNet/EnableEventSounds=1 -iNet/EnableInputFeedbackSounds=1 -sGtk/ColorScheme= -iGtk/ToolbarIconSize=3 -sGtk/CursorThemeName=DMZ-White - -[Mouse] -AccFactor=20 -AccThreshold=10 -LeftHanded=0 - -[Keyboard] -Delay=500 -Interval=30 -Beep=1 - -[State] -guess_default=true - -[Dbus] -lxde=true - -[Environment] -menu_prefix=lxde- diff --git a/configs/lxde-openrc/root-image/root/.config/pcmanfm/LXDE/desktop-items-0.conf b/configs/lxde-openrc/root-image/root/.config/pcmanfm/LXDE/desktop-items-0.conf deleted file mode 100644 index 6186fce..0000000 --- a/configs/lxde-openrc/root-image/root/.config/pcmanfm/LXDE/desktop-items-0.conf +++ /dev/null @@ -1,14 +0,0 @@ -[*] -wallpaper_mode=crop -wallpaper_common=1 -wallpaper=/etc/wallpaper.png -desktop_bg=#000000 -desktop_fg=#ffffff -desktop_shadow=#000000 -desktop_font=Sans 12 -show_wm_menu=0 -sort=mtime;ascending; -show_documents=0 -show_trash=1 -show_mounts=1 - diff --git a/configs/lxde-openrc/root-image/root/.config/volumeicon/volumeicon b/configs/lxde-openrc/root-image/root/.config/volumeicon/volumeicon deleted file mode 100644 index 588b9dd..0000000 --- a/configs/lxde-openrc/root-image/root/.config/volumeicon/volumeicon +++ /dev/null @@ -1,25 +0,0 @@ -[Alsa] -card=default - -[Notification] -show_notification=true -notification_type=0 - -[StatusIcon] -stepsize=5 -onclick=xterm -e 'alsamixer' -theme=Default -use_panel_specific_icons=false -lmb_slider=false -mmb_mute=false -use_horizontal_slider=false -show_sound_level=false -use_transparent_background=false - -[Hotkeys] -up_enabled=false -down_enabled=false -mute_enabled=false -up=XF86AudioRaiseVolume -down=XF86AudioLowerVolume -mute=XF86AudioMute diff --git a/configs/lxde-openrc/root-image/root/.keymap.sh b/configs/lxde-openrc/root-image/root/.keymap.sh deleted file mode 100755 index 56eb1dc..0000000 --- a/configs/lxde-openrc/root-image/root/.keymap.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash - -list_keymaps() { -cat <> ~/.codecheck -fi diff --git a/configs/lxde-openrc/root-image/root/.language.sh b/configs/lxde-openrc/root-image/root/.language.sh deleted file mode 100755 index 11e986e..0000000 --- a/configs/lxde-openrc/root-image/root/.language.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -#Comprobe if language was selected -code=$(cat ~/.codecheck | grep LANG= | tail --bytes 2) -if [ $code = "0" ]; then - lang=$(dialog --stdout --backtitle "System language selection" --menu "Choose your language:" 15 40 10 \ - "en_US.UTF-8" "English" \ - "gl_ES.UTF-8" "Galego" \ - "es_ES.UTF-8" "Spanish" \ - "pt_BR.UTF-8" "Brazilian Portuguese" \ - "pl_PL.UTF-8" "Polish" \ - "it_IT.UTF-8" "Italian" \ - "fr_FR.UTF-8" "French" \ - "eo" "Esperanto") - - #Copy locale in locale.conf - [ $lang = "" ] || echo "LANG=$lang" > /etc/locale.conf - - #Put a new line confirm that language was selected - sed -i '/LANG=./d' ~/.codecheck - echo "LANG=1" >> ~/.codecheck - - #Copy scripts to install in that language - case ${lang/_*/} in - en|gl|es|pt) cp -a ~/.scriptsInstallation/language/${lang/_*/}/* ~/.scriptsInstallation/ - cp ~/.scriptsInstallation/install.sh ~/ - ;; - *) cp -a ~/.scriptsInstallation/language/en/* ~/.scriptsInstallation/ - cp ~/.scriptsInstallation/install.sh ~/ - ;; - esac -fi diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/install.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/install.sh deleted file mode 100755 index 4120079..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/install.sh +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/bash -#Temporal is a file that contains parameters to use when access to chroot - -if [ ! -f ~/.scriptsInstallation/.pacman ]; then - pacman -Sy parabola-keyring archlinux-keyring --noconfirm - pacman-key --populate parabola archlinux - pacman-key --refresh-keys - case $? in - 0) touch ~/.scriptsInstallation/.pacman - ;; - *) false - ;; - esac -fi - -partition(){ - - #Search and show the Hard Disks to select - aux=$(ls /dev/sd?) - index=0 - for i in $aux; do - hdds[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - hdd=$(dialog --stdout --radiolist "Select Hard Disk" 20 70 50 ${hdds[@]}) - - #If exist the line delete - if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null - then - sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal - fi - - #And add the new line with new parameter - echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal - - selection=$(dialog --stdout --menu "Partitioning method" 20 70 50 \ - 1 "Use all disk with swap (1GB) and /" \ - 2 "Use gparted to customize" ) - - case $selection in - 1) - umount /mnt &> /dev/null - #Create msdos partition table - parted -s $hdd -- mklabel msdos - - #Create partition swap and / - parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s - - #Boot option partition / - parted -s $hdd -- set 2 boot on - - #Format and partitions and mount / - (echo t; echo 1; echo 82; echo w) | fdisk $hdd - mkswap ${hdd}1 - mkfs.ext4 ${hdd}2 - mount ${hdd}2 /mnt - ;; - 2) - gparted $hdd - - #Search and show the partitions that select before. - aux=$(ls $hdd?) - index=0; - for i in $aux; do - partitions[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - partition=$(dialog --stdout --radiolist "Mount / Partition" 20 70 50 ${partitions[@]}) - - #Mount partition / - umount /mnt &> /dev/null - mount $partition /mnt - - #Ask if you want mount other partitions - other=0 - while [ $other != 3 ]; do - other=$(dialog --stdout --menu "Mount other partition?" 20 70 50 1 "/home" 2 "/boot" 3 "No") - - case $other in - 1) - umount /mnt/home &> /dev/null - mkdir /mnt/home &> /dev/null - mount $(dialog --stdout --radiolist "Mount /home Partition" 20 70 50 ${partitions[@]}) /mnt/home - ;; - 2) - umount /mnt/boot &> /dev/null - mkdir /mnt/boot &> /dev/null - mount $(dialog --stdout --radiolist "Mount /boot Partition" 20 70 50 ${partitions[@]}) /mnt/boot - ;; - *) - other=3 - ;; - esac - done - ;; - esac -} - - -option=0 -while [ option != 7 ]; do - option=$(dialog --stdout --menu "Parabola Installation CLI" 20 70 50 \ - 1 "Format and Mount Partitions" \ - 2 "Install Base System" \ - 3 "Install GRUB" \ - 4 "System Configure" \ - 5 "Create User Account" \ - 6 "(Optional) Install Live DVD Desktop/Applications" \ - 7 "Exit" ) - - case $option in - 1) - partition - ;; - 2) - #Install base system - pacstrap /mnt base-openrc - pacstrap /mnt dialog - ;; - 3) - #Install grub - pacstrap /mnt grub - ;; - 4) - #Generate fstab and acces to chroot to do System Config - genfstab -p /mnt >> /mnt/etc/fstab - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/systemConfig.sh /mnt - chmod +x /mnt/systemConfig.sh - arch-chroot /mnt /systemConfig.sh - rm -r /mnt/systemConfig.sh - ;; - 5) - #Create a new username and save in temporal, to use after - if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null - then - sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal - fi - - echo "userName=$(dialog --stdout --inputbox "Enter an User Name" 8 40)" >> ~/.scriptsInstallation/temporal - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/userAccount.sh /mnt - chmod +x /mnt/userAccount.sh - arch-chroot /mnt /userAccount.sh - rm -r /mnt/userAccount.sh - ;; - 6) - #Packages to the X11 live - packages=( "xorg-server" - "xf86-input-evdev" - "xf86-input-synaptics" - "xf86-video-ati" - "xf86-video-dummy" - "xf86-video-fbdev" - "xf86-video-intel" - "xf86-video-nouveau" - "xf86-video-openchrome" - "xf86-video-sisusb" - "xf86-video-vesa" - "xf86-video-vmware" - "xf86-video-voodoo" - "xf86-video-qxl" - "xorg-xinit" - "gst-plugins-good" - "gst-libav" - "lxde" - "volumeicon" - "zenity" - "octopi" - "pulseaudio-alsa" - "alsa-utils" - "networkmanager-elogind" - "network-manager-applet" - "ath9k-htc-firmware" - "iceweasel" - "icedove" - "pidgin" - "gparted" - "smplayer" - "epdfview" - "gpicview" - "abiword" - "gnumeric" - "leafpad" - "galculator-gtk2" - "xarchiver" - "openrc-desktop" - "polkit-elogind" - "gvfs-mtp" - "gvfs-gphoto2" - "xdg-user-dirs" - "gnome-screenshot" - ) - - #Install packages - pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm - user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) - - #Copy skel in the new system and desktop's background - cp -a /etc/skel/ /mnt/etc/ - cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png - - #Puts the XKBMAP, start X11 automatically and icewm desktop - echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc - echo "exec startlxde" >> /mnt/etc/skel/.xinitrc - echo "startx" >> /mnt/etc/skel/.bash_profile - chmod +x /mnt/etc/skel/.xinitrc - cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ - cp -a ~/.scriptsInstallation/x11.sh /mnt - - #Enable services with OpenRC and configure other stuff - chmod +x /mnt/x11.sh - arch-chroot /mnt /x11.sh - rm /mnt/x11.sh - ;; - *) - #Delete temporal file and umount partitions - rm -r /mnt/temporal - umount /mnt/boot &> /dev/null - umount /mnt/home &> /dev/null - umount /mnt &> /dev/null - exit - ;; - esac -done diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/systemConfig.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/systemConfig.sh deleted file mode 100755 index d5195fb..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/systemConfig.sh +++ /dev/null @@ -1,271 +0,0 @@ -#!/bin/bash - -HOSTNAME=$(dialog --stdout --inputbox "Enter Hostname:" 8 40) -sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname - -ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Enter your Zone Time:\nFor example: Europe/Athens" 8 40) /etc/localtime - -keymaps=( - "ANSI-dvorak ANSI-dvorak off" - "amiga-de amiga-de off" - "amiga-us amiga-us off" - "applkey applkey off" - "atari-de atari-de off" - "atari-se atari-se off" - "atari-uk-falcon atari-uk-falcon off" - "atari-us atari-us off" - "azerty azerty off" - "backspace backspace off" - "bashkir bashkir off" - "be-latin1 be-latin1 off" - "bg-cp1251 bg-cp1251 off" - "bg-cp855 bg-cp855 off" - "bg_bds-cp1251 bg_bds-cp1251 off" - "bg_bds-utf8 bg_bds-utf8 off" - "bg_pho-cp1251 bg_pho-cp1251 off" - "bg_pho-utf8 bg_pho-utf8 off" - "br-abnt br-abnt off" - "br-abnt2 br-abnt2 off" - "br-latin1-abnt2 br-latin1-abnt2 off" - "br-latin1-us br-latin1-us off" - "by by off" - "by-cp1251 by-cp1251 off" - "bywin-cp1251 bywin-cp1251 off" - "cf cf off" - "colemak colemak off" - "croat croat off" - "ctrl ctrl off" - "cz cz off" - "cz-cp1250 cz-cp1250 off" - "cz-lat2 cz-lat2 off" - "cz-lat2-prog cz-lat2-prog off" - "cz-qwertz cz-qwertz off" - "cz-us-qwertz cz-us-qwertz off" - "de de off" - "de-latin1 de-latin1 off" - "de-latin1-nodeadkeys de-latin1-nodeadkeys off" - "de-mobii de-mobii off" - "de_CH-latin1 de_CH-latin1 off" - "de_alt_UTF-8 de_alt_UTF-8 off" - "defkeymap defkeymap off" - "defkeymap_V1.0 defkeymap_V1.0 off" - "dk dk off" - "dk-latin1 dk-latin1 off" - "dvorak dvorak off" - "dvorak-ca-fr dvorak-ca-fr off" - "dvorak-es dvorak-es off" - "dvorak-fr dvorak-fr off" - "dvorak-l dvorak-l off" - "dvorak-r dvorak-r off" - "dvorak-ru dvorak-ru off" - "dvorak-sv-a1 dvorak-sv-a1 off" - "dvorak-sv-a5 dvorak-sv-a5 off" - "dvorak-uk dvorak-uk off" - "emacs emacs off" - "emacs2 emacs2 off" - "es es off" - "es-cp850 es-cp850 off" - "es-olpc es-olpc off" - "et et off" - "et-nodeadkeys et-nodeadkeys off" - "euro euro off" - "euro1 euro1 off" - "euro2 euro2 off" - "fi fi off" - "fr fr off" - "fr-bepo fr-bepo off" - "fr-bepo-latin9 fr-bepo-latin9 off" - "fr-latin1 fr-latin1 off" - "fr-latin9 fr-latin9 off" - "fr-pc fr-pc off" - "fr_CH fr_CH off" - "fr_CH-latin1 fr_CH-latin1 off" - "gr gr off" - "gr-pc gr-pc off" - "hu hu off" - "hu101 hu101 off" - "il il off" - "il-heb il-heb off" - "il-phonetic il-phonetic off" - "is-latin1 is-latin1 off" - "is-latin1-us is-latin1-us off" - "it it off" - "it-ibm it-ibm off" - "it2 it2 off" - "jp106 jp106 off" - "kazakh kazakh off" - "keypad keypad off" - "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" - "kyrgyz kyrgyz off" - "la-latin1 la-latin1 off" - "lt lt off" - "lt.baltic lt.baltic off" - "lt.l4 lt.l4 off" - "lv lv off" - "lv-tilde lv-tilde off" - "mac-be mac-be off" - "mac-de-latin1 mac-de-latin1 off" - "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" - "mac-de_CH mac-de_CH off" - "mac-dk-latin1 mac-dk-latin1 off" - "mac-dvorak mac-dvorak off" - "mac-es mac-es off" - "mac-euro mac-euro off" - "mac-euro2 mac-euro2 off" - "mac-fi-latin1 mac-fi-latin1 off" - "mac-fr mac-fr off" - "mac-fr_CH-latin1 mac-fr_CH-latin1 off" - "mac-it mac-it off" - "mac-pl mac-pl off" - "mac-pt-latin1 mac-pt-latin1 off" - "mac-se mac-se off" - "mac-template mac-template off" - "mac-uk mac-uk off" - "mac-us mac-us off" - "mk mk off" - "mk-cp1251 mk-cp1251 off" - "mk-utf mk-utf off" - "mk0 mk0 off" - "nl nl off" - "nl2 nl2 off" - "no no off" - "no-dvorak no-dvorak off" - "no-latin1 no-latin1 off" - "pc110 pc110 off" - "pl pl off" - "pl1 pl1 off" - "pl2 pl2 off" - "pl3 pl3 off" - "pl4 pl4 off" - "pt-latin1 pt-latin1 off" - "pt-latin9 pt-latin9 off" - "pt-olpc pt-olpc off" - "ro ro off" - "ro_std ro_std off" - "ro_win ro_win off" - "ru ru off" - "ru-cp1251 ru-cp1251 off" - "ru-ms ru-ms off" - "ru-yawerty ru-yawerty off" - "ru1 ru1 off" - "ru2 ru2 off" - "ru3 ru3 off" - "ru4 ru4 off" - "ru_win ru_win off" - "ruwin_alt-CP1251 ruwin_alt-CP1251 off" - "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" - "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" - "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" - "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" - "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" - "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" - "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" - "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" - "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" - "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" - "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" - "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" - "se-fi-ir209 se-fi-ir209 off" - "se-fi-lat6 se-fi-lat6 off" - "se-ir209 se-ir209 off" - "se-lat6 se-lat6 off" - "sg sg off" - "sg-latin1 sg-latin1 off" - "sg-latin1-lk450 sg-latin1-lk450 off" - "sk-prog-qwerty sk-prog-qwerty off" - "sk-prog-qwertz sk-prog-qwertz off" - "sk-qwerty sk-qwerty off" - "sk-qwertz sk-qwertz off" - "slovene slovene off" - "sr-cy sr-cy off" - "sun-pl sun-pl off" - "sun-pl-altgraph sun-pl-altgraph off" - "sundvorak sundvorak off" - "sunkeymap sunkeymap off" - "sunt4-es sunt4-es off" - "sunt4-fi-latin1 sunt4-fi-latin1 off" - "sunt4-no-latin1 sunt4-no-latin1 off" - "sunt5-cz-us sunt5-cz-us off" - "sunt5-de-latin1 sunt5-de-latin1 off" - "sunt5-es sunt5-es off" - "sunt5-fi-latin1 sunt5-fi-latin1 off" - "sunt5-fr-latin1 sunt5-fr-latin1 off" - "sunt5-ru sunt5-ru off" - "sunt5-uk sunt5-uk off" - "sunt5-us-cz sunt5-us-cz off" - "sunt6-uk sunt6-uk off" - "sv-latin1 sv-latin1 off" - "tj_alt-UTF8 tj_alt-UTF8 off" - "tr_f-latin5 tr_f-latin5 off" - "tr_q-latin5 tr_q-latin5 off" - "tralt tralt off" - "trf trf off" - "trf-fgGIod trf-fgGIod off" - "trq trq off" - "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" - "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" - "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" - "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" - "ua ua off" - "ua-cp1251 ua-cp1251 off" - "ua-utf ua-utf off" - "ua-utf-ws ua-utf-ws off" - "ua-ws ua-ws off" - "uk uk off" - "unicode unicode off" - "us us on" - "us-acentos us-acentos off" - "wangbe wangbe off" - "wangbe2 wangbe2 off" - "windowkeys windowkeys off" -) - -echo "KEYMAP=$(dialog --stdout --radiolist "Select Keymap" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf - -aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) -index=0 -for i in $aux; do - i=$(echo $i | sed -e 's/#/ /g') - locales+=("$i" "$i" off) - if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then - locales[$index]="$i" - locales[$((index+1))]="$i" - locales[$((index+2))]="on" - fi - index=$((index+3)) -done - -locale=$(dialog --stdout --checklist "Select Locales" 20 70 50 "${locales[@]}") -locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') - -for i in ${locale[@]}; do - i=$(echo $i | sed -e 's/#/ /g') - sed -i -e "s/#$i/$i/g" /etc/locale.gen -done - -locale-gen - -aux=$(locale -a) -index=0 -for i in $aux; do - langs+=("$i" "$i" on) - index=$((index+1)) -done - -echo "LANG=$(dialog --stdout --radiolist "Select your language" 20 70 50 ${langs[@]})" > /etc/locale.conf - -mkinitcpio -p linux-libre - -hdd=$(cat /temporal | grep 'hdd=') -grub-install ${hdd#*=} -grub-mkconfig -o /boot/grub/grub.cfg - -password=$(dialog --stdout --passwordbox "Insert root password" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Repeat root password" 8 40) -done - -usermod -p $(openssl passwd ${password}) root - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/userAccount.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/userAccount.sh deleted file mode 100755 index a9551d8..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/en/userAccount.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -user=$(cat /temporal | grep "userName") - -password=$(dialog --stdout --passwordbox "Insert ${user#*=} password" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Reply password" 8 40) -done - -useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/install.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/install.sh deleted file mode 100755 index 195c2a2..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/install.sh +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/bash -#Temporal is a file that contains parameters to use when access to chroot - -if [ ! -f ~/.scriptsInstallation/.pacman ]; then - pacman -Sy parabola-keyring archlinux-keyring --noconfirm - pacman-key --populate parabola archlinux - pacman-key --refresh-keys - case $? in - 0) touch ~/.scriptsInstallation/.pacman - ;; - *) false - ;; - esac -fi - -partition(){ - - #Search and show the Hard Disks to select - aux=$(ls /dev/sd?) - index=0 - for i in $aux; do - hdds[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - hdd=$(dialog --stdout --radiolist "Selecciona Disco Duro" 20 70 50 ${hdds[@]}) - - #If exist the line delete - if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null - then - sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal - fi - - #And add the new line with new parameter - echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal - - selection=$(dialog --stdout --menu "Metodo de Particionado" 20 70 50 \ - 1 "Usar todo el disco con swap (1GB) y /" \ - 2 "Usar gparted para personalizar" ) - - case $selection in - 1) - umount /mnt &> /dev/null - #Create msdos partition table - parted -s $hdd -- mklabel msdos - - #Create partition swap and / - parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s - - #Boot option partition / - parted -s $hdd -- set 2 boot on - - #Format and partitions and mount / - (echo t; echo 1; echo 82; echo w) | fdisk $hdd - mkswap ${hdd}1 - mkfs.ext4 ${hdd}2 - mount ${hdd}2 /mnt - ;; - 2) - gparted $hdd - - #Search and show the partitions that select before. - aux=$(ls $hdd?) - index=0; - for i in $aux; do - partitions[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - partition=$(dialog --stdout --radiolist "Montar particion /" 20 70 50 ${partitions[@]}) - - #Mount partition / - umount /mnt &> /dev/null - mount $partition /mnt - - #Ask if you want mount other partitions - other=0 - while [ $other != 3 ]; do - other=$(dialog --stdout --menu "¿Montar otra particion?" 20 70 50 1 "/home" 2 "/boot" 3 "No") - - case $other in - 1) - umount /mnt/home &> /dev/null - mkdir /mnt/home &> /dev/null - mount $(dialog --stdout --radiolist "Montar particion /home" 20 70 50 ${partitions[@]}) /mnt/home - ;; - 2) - umount /mnt/boot &> /dev/null - mkdir /mnt/boot &> /dev/null - mount $(dialog --stdout --radiolist "Mount particion /boot" 20 70 50 ${partitions[@]}) /mnt/boot - ;; - *) - other=3 - ;; - esac - done - ;; - esac -} - - -option=0 -while [ option != 7 ]; do - option=$(dialog --stdout --menu "Instalación CLI de Parabola" 20 70 50 \ - 1 "Formatear y Montar Particiones" \ - 2 "Instalar Sistema Base" \ - 3 "Instalar GRUB" \ - 4 "Configuración del Sistema" \ - 5 "Crear Cuenta de Usuario" \ - 6 "(Opcional) Instalar Escritorio/Aplicaciones del Live DVD" \ - 7 "Salir" ) - - case $option in - 1) - partition - ;; - 2) - #Install base system - pacstrap /mnt base-openrc - pacstrap /mnt dialog - ;; - 3) - #Install grub - pacstrap /mnt grub - ;; - 4) - #Generate fstab and acces to chroot to do System Config - genfstab -p /mnt >> /mnt/etc/fstab - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/systemConfig.sh /mnt - chmod +x /mnt/systemConfig.sh - arch-chroot /mnt /systemConfig.sh - rm -r /mnt/systemConfig.sh - ;; - 5) - #Create a new username and save in temporal, to use after - if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null - then - sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal - fi - - echo "userName=$(dialog --stdout --inputbox "Introduce nombre de usuario" 8 40)" >> ~/.scriptsInstallation/temporal - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/userAccount.sh /mnt - chmod +x /mnt/userAccount.sh - arch-chroot /mnt /userAccount.sh - rm -r /mnt/userAccount.sh - ;; - 6) - #Packages to the X11 live - packages=( "xorg-server" - "xf86-input-evdev" - "xf86-input-synaptics" - "xf86-video-ati" - "xf86-video-dummy" - "xf86-video-fbdev" - "xf86-video-intel" - "xf86-video-nouveau" - "xf86-video-openchrome" - "xf86-video-sisusb" - "xf86-video-vesa" - "xf86-video-vmware" - "xf86-video-voodoo" - "xf86-video-qxl" - "xorg-xinit" - "gst-plugins-good" - "gst-libav" - "lxde" - "volumeicon" - "zenity" - "octopi" - "pulseaudio-alsa" - "alsa-utils" - "networkmanager-elogind" - "network-manager-applet" - "ath9k-htc-firmware" - "iceweasel" - "icedove" - "pidgin" - "gparted" - "smplayer" - "epdfview" - "gpicview" - "abiword" - "gnumeric" - "leafpad" - "galculator-gtk2" - "xarchiver" - "openrc-desktop" - "polkit-elogind" - "gvfs-mtp" - "gvfs-gphoto2" - "xdg-user-dirs" - "gnome-screenshot" - ) - - #Install packages - pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm - user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) - - #Copy skel in the new system and desktop's background - cp -a /etc/skel/ /mnt/etc/ - cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png - - #Puts the XKBMAP, start X11 automatically and icewm desktop - echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc - echo "exec startlxde" >> /mnt/etc/skel/.xinitrc - echo "startx" >> /mnt/etc/skel/.bash_profile - chmod +x /mnt/etc/skel/.xinitrc - cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ - cp -a ~/.scriptsInstallation/x11.sh /mnt - - #Enable services with OpenRC and configure other stuff - chmod +x /mnt/x11.sh - arch-chroot /mnt /x11.sh - rm /mnt/x11.sh - ;; - *) - #Delete temporal file and umount partitions - rm -r /mnt/temporal - umount /mnt/boot &> /dev/null - umount /mnt/home &> /dev/null - umount /mnt &> /dev/null - exit - ;; - esac -done diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/systemConfig.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/systemConfig.sh deleted file mode 100755 index 773d10c..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/systemConfig.sh +++ /dev/null @@ -1,271 +0,0 @@ -#!/bin/bash - -HOSTNAME=$(dialog --stdout --inputbox "Introduce el nombre del sistema:" 8 40) -sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname - -ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Introduce la Zona Horaria:\nPor ejemplo: Europe/Athens" 8 40) /etc/localtime - -keymaps=( - "ANSI-dvorak ANSI-dvorak off" - "amiga-de amiga-de off" - "amiga-us amiga-us off" - "applkey applkey off" - "atari-de atari-de off" - "atari-se atari-se off" - "atari-uk-falcon atari-uk-falcon off" - "atari-us atari-us off" - "azerty azerty off" - "backspace backspace off" - "bashkir bashkir off" - "be-latin1 be-latin1 off" - "bg-cp1251 bg-cp1251 off" - "bg-cp855 bg-cp855 off" - "bg_bds-cp1251 bg_bds-cp1251 off" - "bg_bds-utf8 bg_bds-utf8 off" - "bg_pho-cp1251 bg_pho-cp1251 off" - "bg_pho-utf8 bg_pho-utf8 off" - "br-abnt br-abnt off" - "br-abnt2 br-abnt2 off" - "br-latin1-abnt2 br-latin1-abnt2 off" - "br-latin1-us br-latin1-us off" - "by by off" - "by-cp1251 by-cp1251 off" - "bywin-cp1251 bywin-cp1251 off" - "cf cf off" - "colemak colemak off" - "croat croat off" - "ctrl ctrl off" - "cz cz off" - "cz-cp1250 cz-cp1250 off" - "cz-lat2 cz-lat2 off" - "cz-lat2-prog cz-lat2-prog off" - "cz-qwertz cz-qwertz off" - "cz-us-qwertz cz-us-qwertz off" - "de de off" - "de-latin1 de-latin1 off" - "de-latin1-nodeadkeys de-latin1-nodeadkeys off" - "de-mobii de-mobii off" - "de_CH-latin1 de_CH-latin1 off" - "de_alt_UTF-8 de_alt_UTF-8 off" - "defkeymap defkeymap off" - "defkeymap_V1.0 defkeymap_V1.0 off" - "dk dk off" - "dk-latin1 dk-latin1 off" - "dvorak dvorak off" - "dvorak-ca-fr dvorak-ca-fr off" - "dvorak-es dvorak-es off" - "dvorak-fr dvorak-fr off" - "dvorak-l dvorak-l off" - "dvorak-r dvorak-r off" - "dvorak-ru dvorak-ru off" - "dvorak-sv-a1 dvorak-sv-a1 off" - "dvorak-sv-a5 dvorak-sv-a5 off" - "dvorak-uk dvorak-uk off" - "emacs emacs off" - "emacs2 emacs2 off" - "es es off" - "es-cp850 es-cp850 off" - "es-olpc es-olpc off" - "et et off" - "et-nodeadkeys et-nodeadkeys off" - "euro euro off" - "euro1 euro1 off" - "euro2 euro2 off" - "fi fi off" - "fr fr off" - "fr-bepo fr-bepo off" - "fr-bepo-latin9 fr-bepo-latin9 off" - "fr-latin1 fr-latin1 off" - "fr-latin9 fr-latin9 off" - "fr-pc fr-pc off" - "fr_CH fr_CH off" - "fr_CH-latin1 fr_CH-latin1 off" - "gr gr off" - "gr-pc gr-pc off" - "hu hu off" - "hu101 hu101 off" - "il il off" - "il-heb il-heb off" - "il-phonetic il-phonetic off" - "is-latin1 is-latin1 off" - "is-latin1-us is-latin1-us off" - "it it off" - "it-ibm it-ibm off" - "it2 it2 off" - "jp106 jp106 off" - "kazakh kazakh off" - "keypad keypad off" - "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" - "kyrgyz kyrgyz off" - "la-latin1 la-latin1 off" - "lt lt off" - "lt.baltic lt.baltic off" - "lt.l4 lt.l4 off" - "lv lv off" - "lv-tilde lv-tilde off" - "mac-be mac-be off" - "mac-de-latin1 mac-de-latin1 off" - "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" - "mac-de_CH mac-de_CH off" - "mac-dk-latin1 mac-dk-latin1 off" - "mac-dvorak mac-dvorak off" - "mac-es mac-es off" - "mac-euro mac-euro off" - "mac-euro2 mac-euro2 off" - "mac-fi-latin1 mac-fi-latin1 off" - "mac-fr mac-fr off" - "mac-fr_CH-latin1 mac-fr_CH-latin1 off" - "mac-it mac-it off" - "mac-pl mac-pl off" - "mac-pt-latin1 mac-pt-latin1 off" - "mac-se mac-se off" - "mac-template mac-template off" - "mac-uk mac-uk off" - "mac-us mac-us off" - "mk mk off" - "mk-cp1251 mk-cp1251 off" - "mk-utf mk-utf off" - "mk0 mk0 off" - "nl nl off" - "nl2 nl2 off" - "no no off" - "no-dvorak no-dvorak off" - "no-latin1 no-latin1 off" - "pc110 pc110 off" - "pl pl off" - "pl1 pl1 off" - "pl2 pl2 off" - "pl3 pl3 off" - "pl4 pl4 off" - "pt-latin1 pt-latin1 off" - "pt-latin9 pt-latin9 off" - "pt-olpc pt-olpc off" - "ro ro off" - "ro_std ro_std off" - "ro_win ro_win off" - "ru ru off" - "ru-cp1251 ru-cp1251 off" - "ru-ms ru-ms off" - "ru-yawerty ru-yawerty off" - "ru1 ru1 off" - "ru2 ru2 off" - "ru3 ru3 off" - "ru4 ru4 off" - "ru_win ru_win off" - "ruwin_alt-CP1251 ruwin_alt-CP1251 off" - "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" - "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" - "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" - "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" - "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" - "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" - "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" - "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" - "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" - "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" - "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" - "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" - "se-fi-ir209 se-fi-ir209 off" - "se-fi-lat6 se-fi-lat6 off" - "se-ir209 se-ir209 off" - "se-lat6 se-lat6 off" - "sg sg off" - "sg-latin1 sg-latin1 off" - "sg-latin1-lk450 sg-latin1-lk450 off" - "sk-prog-qwerty sk-prog-qwerty off" - "sk-prog-qwertz sk-prog-qwertz off" - "sk-qwerty sk-qwerty off" - "sk-qwertz sk-qwertz off" - "slovene slovene off" - "sr-cy sr-cy off" - "sun-pl sun-pl off" - "sun-pl-altgraph sun-pl-altgraph off" - "sundvorak sundvorak off" - "sunkeymap sunkeymap off" - "sunt4-es sunt4-es off" - "sunt4-fi-latin1 sunt4-fi-latin1 off" - "sunt4-no-latin1 sunt4-no-latin1 off" - "sunt5-cz-us sunt5-cz-us off" - "sunt5-de-latin1 sunt5-de-latin1 off" - "sunt5-es sunt5-es off" - "sunt5-fi-latin1 sunt5-fi-latin1 off" - "sunt5-fr-latin1 sunt5-fr-latin1 off" - "sunt5-ru sunt5-ru off" - "sunt5-uk sunt5-uk off" - "sunt5-us-cz sunt5-us-cz off" - "sunt6-uk sunt6-uk off" - "sv-latin1 sv-latin1 off" - "tj_alt-UTF8 tj_alt-UTF8 off" - "tr_f-latin5 tr_f-latin5 off" - "tr_q-latin5 tr_q-latin5 off" - "tralt tralt off" - "trf trf off" - "trf-fgGIod trf-fgGIod off" - "trq trq off" - "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" - "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" - "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" - "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" - "ua ua off" - "ua-cp1251 ua-cp1251 off" - "ua-utf ua-utf off" - "ua-utf-ws ua-utf-ws off" - "ua-ws ua-ws off" - "uk uk off" - "unicode unicode off" - "us us on" - "us-acentos us-acentos off" - "wangbe wangbe off" - "wangbe2 wangbe2 off" - "windowkeys windowkeys off" -) - -echo "KEYMAP=$(dialog --stdout --radiolist "Selecciona la distribucion del teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf - -aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) -index=0 -for i in $aux; do - i=$(echo $i | sed -e 's/#/ /g') - locales+=("$i" "$i" off) - if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then - locales[$index]="$i" - locales[$((index+1))]="$i" - locales[$((index+2))]="on" - fi - index=$((index+3)) -done - -locale=$(dialog --stdout --checklist "Selecciona las Localizaciones" 20 70 50 "${locales[@]}") -locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') - -for i in ${locale[@]}; do - i=$(echo $i | sed -e 's/#/ /g') - sed -i -e "s/#$i/$i/g" /etc/locale.gen -done - -locale-gen - -aux=$(locale -a) -index=0 -for i in $aux; do - langs+=("$i" "$i" on) - index=$((index+1)) -done - -echo "LANG=$(dialog --stdout --radiolist "Selecciona tu idioma" 20 70 50 ${langs[@]})" > /etc/locale.conf - -mkinitcpio -p linux-libre - -hdd=$(cat /temporal | grep 'hdd=') -grub-install ${hdd#*=} -grub-mkconfig -o /boot/grub/grub.cfg - -password=$(dialog --stdout --passwordbox "Inserta la contraseña para el administrador" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Repite la contraseña para el administrador" 8 40) -done - -usermod -p $(openssl passwd ${password}) root - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/userAccount.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/userAccount.sh deleted file mode 100755 index 4ed7437..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/es/userAccount.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -user=$(cat /temporal | grep "userName") - -password=$(dialog --stdout --passwordbox "Introduce la contraseñara para el usuario ${user#*=}" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Repite la contraseña" 8 40) -done - -useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/install.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/install.sh deleted file mode 100755 index 05ec262..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/install.sh +++ /dev/null @@ -1,226 +0,0 @@ -#!/bin/bash -#Temporal is a file that contains parameters to use when access to chroot - -if [ ! -f ~/.scriptsInstallation/.pacman ]; then - pacman -Sy parabola-keyring archlinux-keyring --noconfirm - pacman-key --populate parabola archlinux - pacman-key --refresh-keys - case $? in - 0) touch ~/.scriptsInstallation/.pacman - ;; - *) false - ;; - esac -fi - -partition(){ - - #Search and show the Hard Disks to select - aux=$(ls /dev/sd?) - index=0 - for i in $aux; do - hdds[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - hdd=$(dialog --stdout --radiolist "Selecciona Disco Duro" 20 70 50 ${hdds[@]}) - - #If exist the line delete - if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null - then - sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal - fi - - #And add the new line with new parameter - echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal - selection=$(dialog --stdout --menu "Metodo de Particionado" 20 70 50 \ - 1 "Usar todo o disco con swap (1GB) and /" \ - 2 "Usar gparted para personalizar" ) - - case $selection in - 1) - umount /mnt &> /dev/null - #Create msdos partition table - parted -s $hdd -- mklabel msdos - - #Create partition swap and / - parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s - - #Boot option partition / - parted -s $hdd -- set 2 boot on - - #Format and partitions and mount / - (echo t; echo 1; echo 82; echo w) | fdisk $hdd - mkswap ${hdd}1 - mkfs.ext4 ${hdd}2 - mount ${hdd}2 /mnt - ;; - 2) - gparted $hdd - - #Search and show the partitions that select before. - aux=$(ls $hdd?) - index=0; - for i in $aux; do - partitions[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - partition=$(dialog --stdout --radiolist "Montar particion /" 20 70 50 ${partitions[@]}) - - #Mount partition / - umount /mnt &> /dev/null - mount $partition /mnt - - #Ask if you want mount other partitions - other=0 - while [ $other != 3 ]; do - other=$(dialog --stdout --menu "¿Montar outra particion?" 20 70 50 1 "/home" 2 "/boot" 3 "No") - - case $other in - 1) - umount /mnt/home &> /dev/null - mkdir /mnt/home &> /dev/null - mount $(dialog --stdout --radiolist "Montar particion /home" 20 70 50 ${partitions[@]}) /mnt/home - ;; - 2) - umount /mnt/boot &> /dev/null - mkdir /mnt/boot &> /dev/null - mount $(dialog --stdout --radiolist "Mount particion /boot" 20 70 50 ${partitions[@]}) /mnt/boot - ;; - *) - other=3 - ;; - esac - done - ;; - esac -} - - -option=0 -while [ option != 7 ]; do - option=$(dialog --stdout --menu "Instalación CLI de Parabola" 20 70 50 \ - 1 "Formatear e Montar Particiones" \ - 2 "Instalar Sistema Base" \ - 3 "Instalar GRUB" \ - 4 "Configuración do Sistema" \ - 5 "Crear Conta de Usuario" \ - 6 "(Opcional) Instalar Escritorio/Aplicaciones de Live DVD" \ - 7 "Salir" ) - - case $option in - 1) - partition - ;; - 2) - #Install base system - pacstrap /mnt base-openrc - pacstrap /mnt dialog - ;; - 3) - #Install grub - pacstrap /mnt grub - ;; - 4) - #Generate fstab and acces to chroot to do System Config - genfstab -p /mnt >> /mnt/etc/fstab - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/systemConfig.sh /mnt - chmod +x /mnt/systemConfig.sh - arch-chroot /mnt /systemConfig.sh - rm -r /mnt/systemConfig.sh - ;; - 5) - #Create a new username and save in temporal, to use after - if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null - then - sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal - fi - - echo "userName=$(dialog --stdout --inputbox "Introduce un nome de usuario" 8 40)" >> ~/.scriptsInstallation/temporal - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/userAccount.sh /mnt - chmod +x /mnt/userAccount.sh - arch-chroot /mnt /userAccount.sh - rm -r /mnt/userAccount.sh - ;; - 6) - #Packages to the X11 live - packages=( "xorg-server" - "xf86-input-evdev" - "xf86-input-synaptics" - "xf86-video-ati" - "xf86-video-dummy" - "xf86-video-fbdev" - "xf86-video-intel" - "xf86-video-nouveau" - "xf86-video-openchrome" - "xf86-video-sisusb" - "xf86-video-vesa" - "xf86-video-vmware" - "xf86-video-voodoo" - "xf86-video-qxl" - "xorg-xinit" - "gst-plugins-good" - "gst-libav" - "lxde" - "volumeicon" - "zenity" - "octopi" - "pulseaudio-alsa" - "alsa-utils" - "networkmanager-elogind" - "network-manager-applet" - "ath9k-htc-firmware" - "iceweasel" - "icedove" - "pidgin" - "gparted" - "smplayer" - "epdfview" - "gpicview" - "abiword" - "gnumeric" - "leafpad" - "galculator-gtk2" - "xarchiver" - "openrc-desktop" - "polkit-elogind" - "gvfs-mtp" - "gvfs-gphoto2" - "xdg-user-dirs" - "gnome-screenshot" - ) - - #Install packages - pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm - user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) - - #Copy skel in the new system and desktop's background - cp -a /etc/skel/ /mnt/etc/ - cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png - - #Puts the XKBMAP, start X11 automatically and icewm desktop - echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc - echo "exec startlxde" >> /mnt/etc/skel/.xinitrc - echo "startx" >> /mnt/etc/skel/.bash_profile - chmod +x /mnt/etc/skel/.xinitrc - cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ - cp -a ~/.scriptsInstallation/x11.sh /mnt - - #Enable services with OpenRC and configure other stuff - chmod +x /mnt/x11.sh - arch-chroot /mnt /x11.sh - rm /mnt/x11.sh - ;; - *) - #Delete temporal file and umount partitions - rm -r /mnt/temporal - umount /mnt/boot &> /dev/null - umount /mnt/home &> /dev/null - umount /mnt &> /dev/null - exit - ;; - esac -done diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/systemConfig.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/systemConfig.sh deleted file mode 100755 index 0fe3c68..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/systemConfig.sh +++ /dev/null @@ -1,271 +0,0 @@ -#!/bin/bash - -HOSTNAME=$(dialog --stdout --inputbox "Introduce o nome do sistema:" 8 40) -sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname - -ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Introduce a Zona Horaria:\nPor ejemplo: Europe/Athens" 8 40) /etc/localtime - -keymaps=( - "ANSI-dvorak ANSI-dvorak off" - "amiga-de amiga-de off" - "amiga-us amiga-us off" - "applkey applkey off" - "atari-de atari-de off" - "atari-se atari-se off" - "atari-uk-falcon atari-uk-falcon off" - "atari-us atari-us off" - "azerty azerty off" - "backspace backspace off" - "bashkir bashkir off" - "be-latin1 be-latin1 off" - "bg-cp1251 bg-cp1251 off" - "bg-cp855 bg-cp855 off" - "bg_bds-cp1251 bg_bds-cp1251 off" - "bg_bds-utf8 bg_bds-utf8 off" - "bg_pho-cp1251 bg_pho-cp1251 off" - "bg_pho-utf8 bg_pho-utf8 off" - "br-abnt br-abnt off" - "br-abnt2 br-abnt2 off" - "br-latin1-abnt2 br-latin1-abnt2 off" - "br-latin1-us br-latin1-us off" - "by by off" - "by-cp1251 by-cp1251 off" - "bywin-cp1251 bywin-cp1251 off" - "cf cf off" - "colemak colemak off" - "croat croat off" - "ctrl ctrl off" - "cz cz off" - "cz-cp1250 cz-cp1250 off" - "cz-lat2 cz-lat2 off" - "cz-lat2-prog cz-lat2-prog off" - "cz-qwertz cz-qwertz off" - "cz-us-qwertz cz-us-qwertz off" - "de de off" - "de-latin1 de-latin1 off" - "de-latin1-nodeadkeys de-latin1-nodeadkeys off" - "de-mobii de-mobii off" - "de_CH-latin1 de_CH-latin1 off" - "de_alt_UTF-8 de_alt_UTF-8 off" - "defkeymap defkeymap off" - "defkeymap_V1.0 defkeymap_V1.0 off" - "dk dk off" - "dk-latin1 dk-latin1 off" - "dvorak dvorak off" - "dvorak-ca-fr dvorak-ca-fr off" - "dvorak-es dvorak-es off" - "dvorak-fr dvorak-fr off" - "dvorak-l dvorak-l off" - "dvorak-r dvorak-r off" - "dvorak-ru dvorak-ru off" - "dvorak-sv-a1 dvorak-sv-a1 off" - "dvorak-sv-a5 dvorak-sv-a5 off" - "dvorak-uk dvorak-uk off" - "emacs emacs off" - "emacs2 emacs2 off" - "es es off" - "es-cp850 es-cp850 off" - "es-olpc es-olpc off" - "et et off" - "et-nodeadkeys et-nodeadkeys off" - "euro euro off" - "euro1 euro1 off" - "euro2 euro2 off" - "fi fi off" - "fr fr off" - "fr-bepo fr-bepo off" - "fr-bepo-latin9 fr-bepo-latin9 off" - "fr-latin1 fr-latin1 off" - "fr-latin9 fr-latin9 off" - "fr-pc fr-pc off" - "fr_CH fr_CH off" - "fr_CH-latin1 fr_CH-latin1 off" - "gr gr off" - "gr-pc gr-pc off" - "hu hu off" - "hu101 hu101 off" - "il il off" - "il-heb il-heb off" - "il-phonetic il-phonetic off" - "is-latin1 is-latin1 off" - "is-latin1-us is-latin1-us off" - "it it off" - "it-ibm it-ibm off" - "it2 it2 off" - "jp106 jp106 off" - "kazakh kazakh off" - "keypad keypad off" - "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" - "kyrgyz kyrgyz off" - "la-latin1 la-latin1 off" - "lt lt off" - "lt.baltic lt.baltic off" - "lt.l4 lt.l4 off" - "lv lv off" - "lv-tilde lv-tilde off" - "mac-be mac-be off" - "mac-de-latin1 mac-de-latin1 off" - "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" - "mac-de_CH mac-de_CH off" - "mac-dk-latin1 mac-dk-latin1 off" - "mac-dvorak mac-dvorak off" - "mac-es mac-es off" - "mac-euro mac-euro off" - "mac-euro2 mac-euro2 off" - "mac-fi-latin1 mac-fi-latin1 off" - "mac-fr mac-fr off" - "mac-fr_CH-latin1 mac-fr_CH-latin1 off" - "mac-it mac-it off" - "mac-pl mac-pl off" - "mac-pt-latin1 mac-pt-latin1 off" - "mac-se mac-se off" - "mac-template mac-template off" - "mac-uk mac-uk off" - "mac-us mac-us off" - "mk mk off" - "mk-cp1251 mk-cp1251 off" - "mk-utf mk-utf off" - "mk0 mk0 off" - "nl nl off" - "nl2 nl2 off" - "no no off" - "no-dvorak no-dvorak off" - "no-latin1 no-latin1 off" - "pc110 pc110 off" - "pl pl off" - "pl1 pl1 off" - "pl2 pl2 off" - "pl3 pl3 off" - "pl4 pl4 off" - "pt-latin1 pt-latin1 off" - "pt-latin9 pt-latin9 off" - "pt-olpc pt-olpc off" - "ro ro off" - "ro_std ro_std off" - "ro_win ro_win off" - "ru ru off" - "ru-cp1251 ru-cp1251 off" - "ru-ms ru-ms off" - "ru-yawerty ru-yawerty off" - "ru1 ru1 off" - "ru2 ru2 off" - "ru3 ru3 off" - "ru4 ru4 off" - "ru_win ru_win off" - "ruwin_alt-CP1251 ruwin_alt-CP1251 off" - "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" - "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" - "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" - "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" - "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" - "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" - "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" - "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" - "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" - "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" - "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" - "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" - "se-fi-ir209 se-fi-ir209 off" - "se-fi-lat6 se-fi-lat6 off" - "se-ir209 se-ir209 off" - "se-lat6 se-lat6 off" - "sg sg off" - "sg-latin1 sg-latin1 off" - "sg-latin1-lk450 sg-latin1-lk450 off" - "sk-prog-qwerty sk-prog-qwerty off" - "sk-prog-qwertz sk-prog-qwertz off" - "sk-qwerty sk-qwerty off" - "sk-qwertz sk-qwertz off" - "slovene slovene off" - "sr-cy sr-cy off" - "sun-pl sun-pl off" - "sun-pl-altgraph sun-pl-altgraph off" - "sundvorak sundvorak off" - "sunkeymap sunkeymap off" - "sunt4-es sunt4-es off" - "sunt4-fi-latin1 sunt4-fi-latin1 off" - "sunt4-no-latin1 sunt4-no-latin1 off" - "sunt5-cz-us sunt5-cz-us off" - "sunt5-de-latin1 sunt5-de-latin1 off" - "sunt5-es sunt5-es off" - "sunt5-fi-latin1 sunt5-fi-latin1 off" - "sunt5-fr-latin1 sunt5-fr-latin1 off" - "sunt5-ru sunt5-ru off" - "sunt5-uk sunt5-uk off" - "sunt5-us-cz sunt5-us-cz off" - "sunt6-uk sunt6-uk off" - "sv-latin1 sv-latin1 off" - "tj_alt-UTF8 tj_alt-UTF8 off" - "tr_f-latin5 tr_f-latin5 off" - "tr_q-latin5 tr_q-latin5 off" - "tralt tralt off" - "trf trf off" - "trf-fgGIod trf-fgGIod off" - "trq trq off" - "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" - "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" - "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" - "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" - "ua ua off" - "ua-cp1251 ua-cp1251 off" - "ua-utf ua-utf off" - "ua-utf-ws ua-utf-ws off" - "ua-ws ua-ws off" - "uk uk off" - "unicode unicode off" - "us us on" - "us-acentos us-acentos off" - "wangbe wangbe off" - "wangbe2 wangbe2 off" - "windowkeys windowkeys off" -) - -echo "KEYMAP=$(dialog --stdout --radiolist "Selecciona a distribucion do teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf - -aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) -index=0 -for i in $aux; do - i=$(echo $i | sed -e 's/#/ /g') - locales+=("$i" "$i" off) - if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then - locales[$index]="$i" - locales[$((index+1))]="$i" - locales[$((index+2))]="on" - fi - index=$((index+3)) -done - -locale=$(dialog --stdout --checklist "Selecciona as Localizacions" 20 70 50 "${locales[@]}") -locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') - -for i in ${locale[@]}; do - i=$(echo $i | sed -e 's/#/ /g') - sed -i -e "s/#$i/$i/g" /etc/locale.gen -done - -locale-gen - -aux=$(locale -a) -index=0 -for i in $aux; do - langs+=("$i" "$i" on) - index=$((index+1)) -done - -echo "LANG=$(dialog --stdout --radiolist "Selecciona o teu idioma" 20 70 50 ${langs[@]})" > /etc/locale.conf - -mkinitcpio -p linux-libre - -hdd=$(cat /temporal | grep 'hdd=') -grub-install ${hdd#*=} -grub-mkconfig -o /boot/grub/grub.cfg - -password=$(dialog --stdout --passwordbox "Insire o contrasinal para o administrador" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Repite o contrasinal para o administrador" 8 40) -done - -usermod -p $(openssl passwd ${password}) root - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/userAccount.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/userAccount.sh deleted file mode 100755 index aa1d33a..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/gl/userAccount.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -user=$(cat /temporal | grep "userName") - -password=$(dialog --stdout --passwordbox "Introduce o contrasinal para o usuario ${user#*=}" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Repite o contrasinal" 8 40) -done - -useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/install.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/install.sh deleted file mode 100755 index 1de6c85..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/install.sh +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/bash -#Temporal is a file that contains parameters to use when access to chroot - -if [ ! -f ~/.scriptsInstallation/.pacman ]; then - pacman -Sy parabola-keyring archlinux-keyring --noconfirm - pacman-key --populate parabola archlinux - pacman-key --refresh-keys - case $? in - 0) touch ~/.scriptsInstallation/.pacman - ;; - *) false - ;; - esac -fi - -partition(){ - - #Search and show the Hard Disks to select - aux=$(ls /dev/sd?) - index=0 - for i in $aux; do - hdds[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - hdd=$(dialog --stdout --radiolist "Escolha o Disco" 20 70 50 ${hdds[@]}) - - #If exist the line delete - if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null - then - sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal - fi - - #And add the new line with new parameter - echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal - - selection=$(dialog --stdout --menu "Método de Particionamento" 20 70 50 \ - 1 "Usar todo o disco com o swap (1GB) e /" \ - 2 "Usar o gparted para personalizar" ) - - case $selection in - 1) - umount /mnt &> /dev/null - #Create msdos partition table - parted -s $hdd -- mklabel msdos - - #Create partition swap and / - parted -s $hdd -- mkpart primary 1MiB 1000MiB mkpart primary 1000MiB -1s - - #Boot option partition / - parted -s $hdd -- set 2 boot on - - #Format and partitions and mount / - (echo t; echo 1; echo 82; echo w) | fdisk $hdd - mkswap ${hdd}1 - mkfs.ext4 ${hdd}2 - mount ${hdd}2 /mnt - ;; - 2) - gparted $hdd - - #Search and show the partitions that select before. - aux=$(ls $hdd?) - index=0; - for i in $aux; do - partitions[$index]="${i} ${i#/*/} off" - index=$((index+1)) - done - - partition=$(dialog --stdout --radiolist "Montar a partição /" 20 70 50 ${partitions[@]}) - - #Mount partition / - umount /mnt &> /dev/null - mount $partition /mnt - - #Ask if you want mount other partitions - other=0 - while [ $other != 3 ]; do - other=$(dialog --stdout --menu "Quer montar outra partição?" 20 70 50 1 "/home" 2 "/boot" 3 "Não") - - case $other in - 1) - umount /mnt/home &> /dev/null - mkdir /mnt/home &> /dev/null - mount $(dialog --stdout --radiolist "Montar a partição /home" 20 70 50 ${partitions[@]}) /mnt/home - ;; - 2) - umount /mnt/boot &> /dev/null - mkdir /mnt/boot &> /dev/null - mount $(dialog --stdout --radiolist "Montar a partição /boot" 20 70 50 ${partitions[@]}) /mnt/boot - ;; - *) - other=3 - ;; - esac - done - ;; - esac -} - - -option=0 -while [ option != 7 ]; do - option=$(dialog --stdout --menu "Instalação CLI da Parabola" 20 70 50 \ - 1 "Formatar e Montar as Partições" \ - 2 "Instalar o Sistema Base" \ - 3 "Instalar o GRUB" \ - 4 "Configuração do Sistema" \ - 5 "Adicionar uma Conta de Usuário" \ - 6 "(Opcional) Instalar Ambiente Gráfico/Aplicativos da Live DVD" \ - 7 "Sair" ) - - case $option in - 1) - partition - ;; - 2) - #Install base system - pacstrap /mnt base-openrc - pacstrap /mnt dialog - ;; - 3) - #Install grub - pacstrap /mnt grub - ;; - 4) - #Generate fstab and acces to chroot to do System Config - genfstab -p /mnt >> /mnt/etc/fstab - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/systemConfig.sh /mnt - chmod +x /mnt/systemConfig.sh - arch-chroot /mnt /systemConfig.sh - rm -r /mnt/systemConfig.sh - ;; - 5) - #Create a new username and save in temporal, to use after - if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null - then - sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal - fi - - echo "userName=$(dialog --stdout --inputbox "Insira o nome do usuário" 8 40)" >> ~/.scriptsInstallation/temporal - cp ~/.scriptsInstallation/temporal /mnt - cp ~/.scriptsInstallation/userAccount.sh /mnt - chmod +x /mnt/userAccount.sh - arch-chroot /mnt /userAccount.sh - rm -r /mnt/userAccount.sh - ;; - 6) - #Packages to the X11 live - packages=( "xorg-server" - "xf86-input-evdev" - "xf86-input-synaptics" - "xf86-video-ati" - "xf86-video-dummy" - "xf86-video-fbdev" - "xf86-video-intel" - "xf86-video-nouveau" - "xf86-video-openchrome" - "xf86-video-sisusb" - "xf86-video-vesa" - "xf86-video-vmware" - "xf86-video-voodoo" - "xf86-video-qxl" - "xorg-xinit" - "gst-plugins-good" - "gst-libav" - "lxde" - "volumeicon" - "zenity" - "octopi" - "pulseaudio-alsa" - "alsa-utils" - "networkmanager-elogind" - "network-manager-applet" - "ath9k-htc-firmware" - "iceweasel" - "icedove" - "pidgin" - "gparted" - "smplayer" - "epdfview" - "gpicview" - "abiword" - "gnumeric" - "leafpad" - "galculator-gtk2" - "xarchiver" - "openrc-desktop" - "polkit-elogind" - "gvfs-mtp" - "gvfs-gphoto2" - "xdg-user-dirs" - "gnome-screenshot" - ) - - #Install packages - pacman -Sy -r /mnt ${packages[@]} --needed --noconfirm - user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) - - #Copy skel in the new system and desktop's background - cp -a /etc/skel/ /mnt/etc/ - cp -a /etc/wallpaper.png /mnt/etc/wallpaper.png - - #Puts the XKBMAP, start X11 automatically and icewm desktop - echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc - echo "exec startlxde" >> /mnt/etc/skel/.xinitrc - echo "startx" >> /mnt/etc/skel/.bash_profile - chmod +x /mnt/etc/skel/.xinitrc - cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ - cp -a ~/.scriptsInstallation/x11.sh /mnt - - #Enable services with OpenRC and configure other stuff - chmod +x /mnt/x11.sh - arch-chroot /mnt /x11.sh - rm /mnt/x11.sh - ;; - *) - #Delete temporal file and umount partitions - rm -r /mnt/temporal - umount /mnt/boot &> /dev/null - umount /mnt/home &> /dev/null - umount /mnt &> /dev/null - exit - ;; - esac -done diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/systemConfig.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/systemConfig.sh deleted file mode 100755 index 983d0ba..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/systemConfig.sh +++ /dev/null @@ -1,271 +0,0 @@ -#!/bin/bash - -HOSTNAME=$(dialog --stdout --inputbox "Adicione o nome do sistema:" 8 40) -sed 's|localhost|'"${HOSTNAME}"'|' -i /etc/conf.d/hostname - -ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Adicione o Fuso Horário:\nPor exemplo: America/Sao_Paulo" 8 40) /etc/localtime - -keymaps=( - "ANSI-dvorak ANSI-dvorak off" - "amiga-de amiga-de off" - "amiga-us amiga-us off" - "applkey applkey off" - "atari-de atari-de off" - "atari-se atari-se off" - "atari-uk-falcon atari-uk-falcon off" - "atari-us atari-us off" - "azerty azerty off" - "backspace backspace off" - "bashkir bashkir off" - "be-latin1 be-latin1 off" - "bg-cp1251 bg-cp1251 off" - "bg-cp855 bg-cp855 off" - "bg_bds-cp1251 bg_bds-cp1251 off" - "bg_bds-utf8 bg_bds-utf8 off" - "bg_pho-cp1251 bg_pho-cp1251 off" - "bg_pho-utf8 bg_pho-utf8 off" - "br-abnt br-abnt off" - "br-abnt2 br-abnt2 off" - "br-latin1-abnt2 br-latin1-abnt2 off" - "br-latin1-us br-latin1-us off" - "by by off" - "by-cp1251 by-cp1251 off" - "bywin-cp1251 bywin-cp1251 off" - "cf cf off" - "colemak colemak off" - "croat croat off" - "ctrl ctrl off" - "cz cz off" - "cz-cp1250 cz-cp1250 off" - "cz-lat2 cz-lat2 off" - "cz-lat2-prog cz-lat2-prog off" - "cz-qwertz cz-qwertz off" - "cz-us-qwertz cz-us-qwertz off" - "de de off" - "de-latin1 de-latin1 off" - "de-latin1-nodeadkeys de-latin1-nodeadkeys off" - "de-mobii de-mobii off" - "de_CH-latin1 de_CH-latin1 off" - "de_alt_UTF-8 de_alt_UTF-8 off" - "defkeymap defkeymap off" - "defkeymap_V1.0 defkeymap_V1.0 off" - "dk dk off" - "dk-latin1 dk-latin1 off" - "dvorak dvorak off" - "dvorak-ca-fr dvorak-ca-fr off" - "dvorak-es dvorak-es off" - "dvorak-fr dvorak-fr off" - "dvorak-l dvorak-l off" - "dvorak-r dvorak-r off" - "dvorak-ru dvorak-ru off" - "dvorak-sv-a1 dvorak-sv-a1 off" - "dvorak-sv-a5 dvorak-sv-a5 off" - "dvorak-uk dvorak-uk off" - "emacs emacs off" - "emacs2 emacs2 off" - "es es off" - "es-cp850 es-cp850 off" - "es-olpc es-olpc off" - "et et off" - "et-nodeadkeys et-nodeadkeys off" - "euro euro off" - "euro1 euro1 off" - "euro2 euro2 off" - "fi fi off" - "fr fr off" - "fr-bepo fr-bepo off" - "fr-bepo-latin9 fr-bepo-latin9 off" - "fr-latin1 fr-latin1 off" - "fr-latin9 fr-latin9 off" - "fr-pc fr-pc off" - "fr_CH fr_CH off" - "fr_CH-latin1 fr_CH-latin1 off" - "gr gr off" - "gr-pc gr-pc off" - "hu hu off" - "hu101 hu101 off" - "il il off" - "il-heb il-heb off" - "il-phonetic il-phonetic off" - "is-latin1 is-latin1 off" - "is-latin1-us is-latin1-us off" - "it it off" - "it-ibm it-ibm off" - "it2 it2 off" - "jp106 jp106 off" - "kazakh kazakh off" - "keypad keypad off" - "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" - "kyrgyz kyrgyz off" - "la-latin1 la-latin1 off" - "lt lt off" - "lt.baltic lt.baltic off" - "lt.l4 lt.l4 off" - "lv lv off" - "lv-tilde lv-tilde off" - "mac-be mac-be off" - "mac-de-latin1 mac-de-latin1 off" - "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" - "mac-de_CH mac-de_CH off" - "mac-dk-latin1 mac-dk-latin1 off" - "mac-dvorak mac-dvorak off" - "mac-es mac-es off" - "mac-euro mac-euro off" - "mac-euro2 mac-euro2 off" - "mac-fi-latin1 mac-fi-latin1 off" - "mac-fr mac-fr off" - "mac-fr_CH-latin1 mac-fr_CH-latin1 off" - "mac-it mac-it off" - "mac-pl mac-pl off" - "mac-pt-latin1 mac-pt-latin1 off" - "mac-se mac-se off" - "mac-template mac-template off" - "mac-uk mac-uk off" - "mac-us mac-us off" - "mk mk off" - "mk-cp1251 mk-cp1251 off" - "mk-utf mk-utf off" - "mk0 mk0 off" - "nl nl off" - "nl2 nl2 off" - "no no off" - "no-dvorak no-dvorak off" - "no-latin1 no-latin1 off" - "pc110 pc110 off" - "pl pl off" - "pl1 pl1 off" - "pl2 pl2 off" - "pl3 pl3 off" - "pl4 pl4 off" - "pt-latin1 pt-latin1 off" - "pt-latin9 pt-latin9 off" - "pt-olpc pt-olpc off" - "ro ro off" - "ro_std ro_std off" - "ro_win ro_win off" - "ru ru off" - "ru-cp1251 ru-cp1251 off" - "ru-ms ru-ms off" - "ru-yawerty ru-yawerty off" - "ru1 ru1 off" - "ru2 ru2 off" - "ru3 ru3 off" - "ru4 ru4 off" - "ru_win ru_win off" - "ruwin_alt-CP1251 ruwin_alt-CP1251 off" - "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" - "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" - "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" - "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" - "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" - "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" - "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" - "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" - "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" - "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" - "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" - "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" - "se-fi-ir209 se-fi-ir209 off" - "se-fi-lat6 se-fi-lat6 off" - "se-ir209 se-ir209 off" - "se-lat6 se-lat6 off" - "sg sg off" - "sg-latin1 sg-latin1 off" - "sg-latin1-lk450 sg-latin1-lk450 off" - "sk-prog-qwerty sk-prog-qwerty off" - "sk-prog-qwertz sk-prog-qwertz off" - "sk-qwerty sk-qwerty off" - "sk-qwertz sk-qwertz off" - "slovene slovene off" - "sr-cy sr-cy off" - "sun-pl sun-pl off" - "sun-pl-altgraph sun-pl-altgraph off" - "sundvorak sundvorak off" - "sunkeymap sunkeymap off" - "sunt4-es sunt4-es off" - "sunt4-fi-latin1 sunt4-fi-latin1 off" - "sunt4-no-latin1 sunt4-no-latin1 off" - "sunt5-cz-us sunt5-cz-us off" - "sunt5-de-latin1 sunt5-de-latin1 off" - "sunt5-es sunt5-es off" - "sunt5-fi-latin1 sunt5-fi-latin1 off" - "sunt5-fr-latin1 sunt5-fr-latin1 off" - "sunt5-ru sunt5-ru off" - "sunt5-uk sunt5-uk off" - "sunt5-us-cz sunt5-us-cz off" - "sunt6-uk sunt6-uk off" - "sv-latin1 sv-latin1 off" - "tj_alt-UTF8 tj_alt-UTF8 off" - "tr_f-latin5 tr_f-latin5 off" - "tr_q-latin5 tr_q-latin5 off" - "tralt tralt off" - "trf trf off" - "trf-fgGIod trf-fgGIod off" - "trq trq off" - "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" - "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" - "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" - "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" - "ua ua off" - "ua-cp1251 ua-cp1251 off" - "ua-utf ua-utf off" - "ua-utf-ws ua-utf-ws off" - "ua-ws ua-ws off" - "uk uk off" - "unicode unicode off" - "us us on" - "us-acentos us-acentos off" - "wangbe wangbe off" - "wangbe2 wangbe2 off" - "windowkeys windowkeys off" -) - -echo "KEYMAP=$(dialog --stdout --radiolist "Escolha a distribuição do teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf - -aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) -index=0 -for i in $aux; do - i=$(echo $i | sed -e 's/#/ /g') - locales+=("$i" "$i" off) - if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then - locales[$index]="$i" - locales[$((index+1))]="$i" - locales[$((index+2))]="on" - fi - index=$((index+3)) -done - -locale=$(dialog --stdout --checklist "Escolha as Localizações" 20 70 50 "${locales[@]}") -locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') - -for i in ${locale[@]}; do - i=$(echo $i | sed -e 's/#/ /g') - sed -i -e "s/#$i/$i/g" /etc/locale.gen -done - -locale-gen - -aux=$(locale -a) -index=0 -for i in $aux; do - langs+=("$i" "$i" on) - index=$((index+1)) -done - -echo "LANG=$(dialog --stdout --radiolist "Escolha a sua língua" 20 70 50 ${langs[@]})" > /etc/locale.conf - -mkinitcpio -p linux-libre - -hdd=$(cat /temporal | grep 'hdd=') -grub-install ${hdd#*=} -grub-mkconfig -o /boot/grub/grub.cfg - -password=$(dialog --stdout --passwordbox "Insira a senha para o root" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Repita a senha para o root" 8 40) -done - -usermod -p $(openssl passwd ${password}) root - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/userAccount.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/userAccount.sh deleted file mode 100755 index 408beba..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/language/pt/userAccount.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -user=$(cat /temporal | grep "userName") - -password=$(dialog --stdout --passwordbox "Insira a senha para o usuário ${user#*=}" 8 40) - -while [[ $password != $password2 ]]; do - password2=$(dialog --stdout --passwordbox "Repita a senha" 8 40) -done - -useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} - -exit diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/parabolaicon.png b/configs/lxde-openrc/root-image/root/.scriptsInstallation/parabolaicon.png deleted file mode 100644 index aed32d7..0000000 Binary files a/configs/lxde-openrc/root-image/root/.scriptsInstallation/parabolaicon.png and /dev/null differ diff --git a/configs/lxde-openrc/root-image/root/.scriptsInstallation/x11.sh b/configs/lxde-openrc/root-image/root/.scriptsInstallation/x11.sh deleted file mode 100755 index 47035c5..0000000 --- a/configs/lxde-openrc/root-image/root/.scriptsInstallation/x11.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -check_dbus() { - grep dbus /etc/$1 -} - -# Create the dbus user if it doesn't exist -[[ $(check_dbus group) = "" ]] && groupadd -g 81 dbus -[[ $(check_dbus passwd) = "" ]] && useradd -r -s /sbin/nologin -g 81 -u 81 dbus - -# Enable services with OpenRC -rc-update add NetworkManager default -rc-update add dbus default -rc-update add alsasound default diff --git a/configs/lxde-openrc/root-image/root/.themes/Parabola/index.theme b/configs/lxde-openrc/root-image/root/.themes/Parabola/index.theme deleted file mode 100644 index d6b2393..0000000 --- a/configs/lxde-openrc/root-image/root/.themes/Parabola/index.theme +++ /dev/null @@ -1,13 +0,0 @@ -[Desktop Entry] -Name=Parabola -Type=X-GNOME-Metatheme -Comment= - -[X-GNOME-Metatheme] -GtkTheme=Radiance-Purple -MetacityTheme=Radiance-Purple -IconTheme=RAVE-X-Dark-Purple -GtkColorScheme=base_color:#ffffff,fg_color:#4c4c4c,tooltip_fg_color:#ffffff,selected_bg_color:#7E5BC5,selected_fg_color:#FFFFFF,text_color:#3C3C3C,bg_color:#F6F6F6,tooltip_bg_color:#000000,link_color:#9D7EDA -CursorTheme=mate -CursorSize=18 -BackgroundImage=/etc/wallpaper.png diff --git a/configs/lxde-openrc/root-image/root/.xinitrc b/configs/lxde-openrc/root-image/root/.xinitrc deleted file mode 100644 index 09e419c..0000000 --- a/configs/lxde-openrc/root-image/root/.xinitrc +++ /dev/null @@ -1,7 +0,0 @@ -code=$(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2) -[ "$code" = "0" ] && code='us' -setxkbmap $code -service NetworkManager start -service dbus start -service alsasound start -exec startlxde diff --git a/configs/lxde-openrc/root-image/root/.zlogin b/configs/lxde-openrc/root-image/root/.zlogin deleted file mode 100644 index b24dba9..0000000 --- a/configs/lxde-openrc/root-image/root/.zlogin +++ /dev/null @@ -1,4 +0,0 @@ -~/.automated_script.sh -~/.language.sh -export $(cat /etc/locale.conf) -startx diff --git a/configs/lxde-openrc/root-image/root/Desktop/Parabola Installation CLI.desktop b/configs/lxde-openrc/root-image/root/Desktop/Parabola Installation CLI.desktop deleted file mode 100755 index 9a2d871..0000000 --- a/configs/lxde-openrc/root-image/root/Desktop/Parabola Installation CLI.desktop +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env xdg-open -[Desktop Entry] -Version=1.0 -Type=Application -Terminal=true -Name[es_ES]=Instalador CLI de Parabola -Name[gl_ES]=Instalador CLI de Parabola -Name[pt_BR]=Instalador CLI da Parabola -Exec=/root/.scriptsInstallation/install.sh -Name=Parabola Installation CLI -Comment=Parabola Installation Scripts -Icon=/root/.scriptsInstallation/parabolaicon.png diff --git a/configs/lxde-openrc/root-image/root/customize_root_image.sh b/configs/lxde-openrc/root-image/root/customize_root_image.sh deleted file mode 100755 index 26b7b19..0000000 --- a/configs/lxde-openrc/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -set -e -u - -check_dbus() { - grep dbus /etc/$1 -} - -sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen -sed -i 's/#\(es_ES\.UTF-8\)/\1/' /etc/locale.gen -sed -i 's/#\(gl_ES\.UTF-8\)/\1/' /etc/locale.gen -sed -i 's/#\(pt_BR\.UTF-8\)/\1/' /etc/locale.gen -sed -i 's/#\(pl_PL\.UTF-8\)/\1/' /etc/locale.gen -sed -i 's/#\(it_IT\.UTF-8\)/\1/' /etc/locale.gen -sed -i 's/#\(fr_FR\.UTF-8\)/\1/' /etc/locale.gen -sed -i 's/#\(eo\)/\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,disk,sys" -s /usr/bin/zsh parabola - -# Create the dbus user if it doesn't exist -[[ $(check_dbus group) = "" ]] && groupadd -g 81 dbus -[[ $(check_dbus passwd) = "" ]] && useradd -r -s /sbin/nologin -g 81 -u 81 dbus - -chmod 750 /etc/sudoers.d -chmod 440 /etc/sudoers.d/g_wheel - -sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist - -rc-update add NetworkManager default -rc-update add elogind default -rc-update add alsasound default -rc-update add dbus default -rc-update add haveged default -rc-update add pacman-init default - -sed -i "s/_DATE_/${iso_version}/" /etc/motd diff --git a/configs/profile-openrc/airootfs/etc/conf.d/agetty.tty1 b/configs/profile-openrc/airootfs/etc/conf.d/agetty.tty1 new file mode 100644 index 0000000..997909c --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/conf.d/agetty.tty1 @@ -0,0 +1,3 @@ +baud="38400" +term_type="linux" +agetty_options="--autologin root --noclear" diff --git a/configs/profile-openrc/airootfs/etc/conf.d/hostname b/configs/profile-openrc/airootfs/etc/conf.d/hostname new file mode 100644 index 0000000..5a912cd --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/conf.d/hostname @@ -0,0 +1 @@ +hostname="parabolaiso" diff --git a/configs/profile-openrc/airootfs/etc/fstab b/configs/profile-openrc/airootfs/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile-openrc/airootfs/etc/init.d/pacman-init b/configs/profile-openrc/airootfs/etc/init.d/pacman-init new file mode 100755 index 0000000..b646e52 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/init.d/pacman-init @@ -0,0 +1,30 @@ +#!/usr/bin/openrc-run +# Copyright (C) 2018 Parabola Project +# Copyright (C) Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Initializes Pacman keyring" + +depend() { + use haveged + after haveged +} + +start() { + # Check that there's no keyring, if there isn't, create one + if [ ! -d /etc/pacman.d/gnupg ]; then + ebegin "Initializing Pacman keyring" + pacman-key --init &> /dev/null && + pacman-key --populate ${KEYS} &> /dev/null + else + ebegin "Pacman keyring already started" + fi +} + +stop() { + # If there's a keyring, delete it + if [ -d /etc/pacman.d/gnupg ]; then + ebegin "Stoping Pacman keyring" + rm -rf /etc/pacman.d/gnupg + fi +} diff --git a/configs/profile-openrc/airootfs/etc/locale.conf b/configs/profile-openrc/airootfs/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/profile-openrc/airootfs/etc/motd b/configs/profile-openrc/airootfs/etc/motd new file mode 100644 index 0000000..6742f6f --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/motd @@ -0,0 +1,17 @@ + +=============================================================================== + + Parabola GNU/Linux-libre live media _DATE_ + + To install Parabola, the system must be connected to the internet. + For instructions, enter this command: + less install.txt + + Press the function keys while holding Alt to switch virtual terminals. + This allows entering commands without closing less. + + For installation itself, enter this command: + ./install.sh + +=============================================================================== + diff --git a/configs/profile-openrc/airootfs/etc/pam.d/su b/configs/profile-openrc/airootfs/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/profile-openrc/airootfs/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-openrc/airootfs/etc/sudoers.d/g_wheel b/configs/profile-openrc/airootfs/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/profile-openrc/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/profile-openrc/airootfs/root/.automated_script.sh b/configs/profile-openrc/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/profile-openrc/airootfs/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-openrc/airootfs/root/.zlogin b/configs/profile-openrc/airootfs/root/.zlogin new file mode 100644 index 0000000..f598e43 --- /dev/null +++ b/configs/profile-openrc/airootfs/root/.zlogin @@ -0,0 +1 @@ +~/.automated_script.sh diff --git a/configs/profile-openrc/airootfs/root/customize_airootfs.sh b/configs/profile-openrc/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..f52ac11 --- /dev/null +++ b/configs/profile-openrc/airootfs/root/customize_airootfs.sh @@ -0,0 +1,41 @@ +#!/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/ +chmod 700 /root + +sed -i 's/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist + +sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/elogind/logind.conf +sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/elogind/logind.conf +sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/elogind/logind.conf + +case $(uname -m) in + x86_64) echo 'KEYS="archlinux parabola"' > /etc/conf.d/pacman-init + ;; + i686) echo 'KEYS="archlinux archlinux32 parabola"' > /etc/conf.d/pacman-init + ;; +esac + +useradd -m -p "" -g users -G "adm,audio,floppy,log,network,scanner,storage,optical,power,wheel,disk,sys" -s /usr/bin/zsh parabola + +services=(NetworkManager + elogind + alsasound + dbus + haveged + pacman-init) + +for s in ${services[@]}; do + rc-update add $s default +done + +sed -i "s/_DATE_/$(date +%Y.%m.%d)/" /etc/motd diff --git a/configs/profile-openrc/airootfs/root/install.txt b/configs/profile-openrc/airootfs/root/install.txt new file mode 100644 index 0000000..a594b97 --- /dev/null +++ b/configs/profile-openrc/airootfs/root/install.txt @@ -0,0 +1,2 @@ +View this installation guide online at +https://wiki.parabola.nu/Installation_Guide diff --git a/configs/profile-openrc/aitab b/configs/profile-openrc/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/profile-openrc/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -root-image / i686 xz ext4 50% -root-image / x86_64 xz ext4 50% diff --git a/configs/profile-openrc/build.sh b/configs/profile-openrc/build.sh index 97fcc35..2f5721c 100755 --- a/configs/profile-openrc/build.sh +++ b/configs/profile-openrc/build.sh @@ -8,13 +8,19 @@ iso_version=$(date +%Y.%m.%d) install_dir=parabola work_dir=work out_dir=out -data_dir=/usr/share/parabolaiso/data +gpg_key= arch=$(uname -m) verbose="" -pacman_conf=${work_dir}/pacman.conf script_path=$(readlink -f ${0%/*}) -initcpio_dir=${script_path}/../../parabolaiso/initcpio + +# Init system. Options are: +# - openrc +# - runit +# - systemd +# +# Default is systemd +init=openrc _usage () { @@ -46,56 +52,76 @@ run_once() { fi } -# Setup custom pacman.conf with current cache directories. +# Setup custom pacman.conf with current cache directories and custom mirrorlist. 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} + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman.conf } -# Base installation, plus needed packages (root-image) +# Base installation, plus needed packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" -p "haveged memtest86+ mkinitcpio-nfs-utils nbd zsh" install } -# Additional packages (root-image) +# Additional packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install +} + +# Needed packages for x86_64 EFI boot +make_packages_efi() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install } -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) +# Copy mkinitcpio parabolaiso hooks and build initramfs (airootfs) make_setup_mkinitcpio() { local _hook + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/install for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do - cp ${initcpio_dir}/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp ${initcpio_dir}/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/install done - cp ${initcpio_dir}/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp ${initcpio_dir}/hooks/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 + sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" ${work_dir}/${arch}/airootfs/etc/initcpio/install/parabolaiso_shutdown + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/airootfs/etc/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/airootfs/etc/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/airootfs/etc/mkinitcpio-parabolaiso.conf + gnupg_fd= + if [[ ${gpg_key} ]]; then + gpg --export ${gpg_key} >${work_dir}/gpgkey + exec 17<>${work_dir}/gpgkey + fi + PARABOLAISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run + if [[ ${gpg_key} ]]; then + exec 17<&- + fi } -# Customize installation (root-image) -make_customize_root_image() { - cp -af ${script_path}/root-image ${work_dir}/${arch} +# Customize installation (airootfs) +make_customize_airootfs() { + cp -af ${script_path}/airootfs ${work_dir}/${arch} + + curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.parabola.nu/mirrorlist/?country=all&protocol=http&use_mirror_status=on' - iso_version="${iso_version}" 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 + lynx -dump -nolist 'https://wiki.parabola.nu/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt + + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run + rm ${work_dir}/${arch}/airootfs/root/customize_airootfs.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 + cp ${work_dir}/${arch}/airootfs/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/airootfs/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 + cp ${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest + cp ${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING } # Prepare /${install_dir}/boot/syslinux @@ -106,26 +132,29 @@ make_syslinux() { 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/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/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/*-gnu-*/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/lib/modules/*-gnu-*/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/bios/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ } # Prepare /EFI make_efi() { mkdir -p ${work_dir}/iso/EFI/boot + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/ + 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/ @@ -135,17 +164,17 @@ make_efi() { 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 ) - 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 ) - cp ${data_dir}/Shell_Full.efi ${work_dir}/iso/EFI/shellx64_v1.efi + # EFI Shell 2.0 for UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/master/ShellBinPkg/UefiShell/X64/Shell.efi + # EFI Shell 1.0 for non UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/master/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 38M ${work_dir}/iso/EFI/parabolaiso/efiboot.img - mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + truncate -s 64M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.fat -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 @@ -155,6 +184,8 @@ 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/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/ mkdir -p ${work_dir}/efiboot/loader/entries cp ${script_path}/efiboot/loader/loader.conf ${work_dir}/efiboot/loader/ @@ -168,27 +199,20 @@ make_efiboot() { 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 + umount -d ${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) +# Build airootfs filesystem image make_prepare() { - cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} + cp -a -l -f ${work_dir}/${arch}/airootfs ${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) + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare + rm -rf ${work_dir}/airootfs + # rm -rf ${work_dir}/${arch}/airootfs (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" } @@ -202,7 +226,7 @@ if [[ ${arch} != x86_64 ]]; then _usage 1 fi -while getopts 'N:V:L:D:w:o:vh' arg; do +while getopts 'N:V:L:D:w:o:g:vh' arg; do case "${arg}" in N) iso_name="${OPTARG}" ;; V) iso_version="${OPTARG}" ;; @@ -210,6 +234,7 @@ while getopts 'N:V:L:D:w:o:vh' arg; do D) install_dir="${OPTARG}" ;; w) work_dir="${OPTARG}" ;; o) out_dir="${OPTARG}" ;; + g) gpg_key="${OPTARG}" ;; v) verbose="-v" ;; h) _usage 0 ;; *) @@ -223,12 +248,17 @@ mkdir -p ${work_dir} run_once make_pacman_conf -# Do all stuff for each root-image +# Do all stuff for each airootfs for arch in i686 x86_64; do run_once make_basefs run_once make_packages +done + +run_once make_packages_efi + +for arch in i686 x86_64; do run_once make_setup_mkinitcpio - run_once make_customize_root_image + run_once make_customize_airootfs done for arch in i686 x86_64; do @@ -242,8 +272,6 @@ 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 diff --git a/configs/profile-openrc/mkinitcpio.conf b/configs/profile-openrc/mkinitcpio.conf index fc2572b..9448579 100644 --- a/configs/profile-openrc/mkinitcpio.conf +++ b/configs/profile-openrc/mkinitcpio.conf @@ -1,3 +1,3 @@ MODULES="loop" -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" +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-openrc/packages.both b/configs/profile-openrc/packages.both index 162cc14..b4686f6 100644 --- a/configs/profile-openrc/packages.both +++ b/configs/profile-openrc/packages.both @@ -56,3 +56,4 @@ wvdial xl2tpd zsh networkmanager-openrc +networkmanager-elogind diff --git a/configs/profile-openrc/root-image/etc/conf.d/agetty.tty1 b/configs/profile-openrc/root-image/etc/conf.d/agetty.tty1 deleted file mode 100644 index b7ff06d..0000000 --- a/configs/profile-openrc/root-image/etc/conf.d/agetty.tty1 +++ /dev/null @@ -1,11 +0,0 @@ -# Set the baud rate of the terminal line -baud="38400" - -# set the terminal type -term_type="linux" - -# extra options to pass to agetty for this port -agetty_options="--autologin root --noclear" - -# make agetty quiet -#quiet="no" diff --git a/configs/profile-openrc/root-image/etc/conf.d/hostname b/configs/profile-openrc/root-image/etc/conf.d/hostname deleted file mode 100644 index a701f0c..0000000 --- a/configs/profile-openrc/root-image/etc/conf.d/hostname +++ /dev/null @@ -1,2 +0,0 @@ -# Set to the hostname of this machine -hostname="parabolaiso" diff --git a/configs/profile-openrc/root-image/etc/fstab b/configs/profile-openrc/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/profile-openrc/root-image/etc/init.d/pacman-init b/configs/profile-openrc/root-image/etc/init.d/pacman-init deleted file mode 100755 index b610683..0000000 --- a/configs/profile-openrc/root-image/etc/init.d/pacman-init +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/openrc-run -# Copyright (C) 2017 Parabola Project -# Copyright (C) Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -description="Initializes Pacman keyring" - -depend() { - use haveged - after haveged -} - -start() { - # Check that there's no keyring, if there isn't, create one - # in the background for a faster boot - if [ ! -d /etc/pacman.d/gnupg ]; then - ebegin "Starting Pacman keyring" - pacman-key --init &> /dev/null && - pacman-key --populate archlinux parabola &> /dev/null - else - ebegin "Pacman keyring already started" - fi -} - -stop() { - # If there's a keyring, delete it - if [ -d /etc/pacman.d/gnupg ]; then - ebegin "Stoping Pacman keyring" - rm -rf /etc/pacman.d/gnupg - fi -} diff --git a/configs/profile-openrc/root-image/etc/locale.conf b/configs/profile-openrc/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/profile-openrc/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/profile-openrc/root-image/etc/motd b/configs/profile-openrc/root-image/etc/motd deleted file mode 100644 index a126999..0000000 --- a/configs/profile-openrc/root-image/etc/motd +++ /dev/null @@ -1,14 +0,0 @@ - -=============================================================================== - - 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 function keys while holding Alt to switch virtual terminals. - This allows entering commands without closing lynx. - -=============================================================================== - diff --git a/configs/profile-openrc/root-image/etc/pam.d/su b/configs/profile-openrc/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/profile-openrc/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/profile-openrc/root-image/etc/sudoers.d/g_wheel b/configs/profile-openrc/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/profile-openrc/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/profile-openrc/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/profile-openrc/root-image/etc/udev/rules.d/81-dhcpcd.rules deleted file mode 100644 index 970da69..0000000 --- a/configs/profile-openrc/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/profile-openrc/root-image/root/.automated_script.sh b/configs/profile-openrc/root-image/root/.automated_script.sh deleted file mode 100755 index fb106da..0000000 --- a/configs/profile-openrc/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/profile-openrc/root-image/root/.zlogin b/configs/profile-openrc/root-image/root/.zlogin deleted file mode 100644 index f598e43..0000000 --- a/configs/profile-openrc/root-image/root/.zlogin +++ /dev/null @@ -1 +0,0 @@ -~/.automated_script.sh diff --git a/configs/profile-openrc/root-image/root/customize_root_image.sh b/configs/profile-openrc/root-image/root/customize_root_image.sh deleted file mode 100755 index f0d3af7..0000000 --- a/configs/profile-openrc/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -set -e -u - -check_dbus() { - cat /etc/$1|grep dbus -} - -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 - -# Create the dbus user if it doesn't exist -if [[ $(check_dbus group) = "" ]]; then - echo "Creating dbus group" - groupadd -g 81 dbus -fi -if [[ $(check_dbus passwd) = "" ]]; then - echo "Creating dbus user" - useradd -r -s /sbin/nologin -g 81 -u 81 dbus -fi - -chmod 750 /etc/sudoers.d -chmod 440 /etc/sudoers.d/g_wheel - -sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist - -rc-update add NetworkManager default -rc-update add dbus default -rc-update add haveged default -rc-update add pacman-init default - -sed -i "s/_DATE_/${iso_version}/" /etc/motd diff --git a/configs/profile-openrc/root-image/root/network.html b/configs/profile-openrc/root-image/root/network.html deleted file mode 100644 index 057e680..0000000 --- a/configs/profile-openrc/root-image/root/network.html +++ /dev/null @@ -1,191 +0,0 @@ -Online version: https://wiki.parabolagnulinux.org/Start_installing -

Contents

- -
-

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

-
# loadkeys layout
-
-

...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
-# export LANG=de_DE.UTF-8
-
-

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

-

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

-

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

-
# 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
-    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 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
-          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 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_name
-
-

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

-

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

First, identify the name of your wireless interface. -

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

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

-
# ip link set wlp3s0 up
-
-

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

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

-
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
-
-

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

-
# dhcpcd wlp3s0
-
-

If that does not work, issue the following commands: -

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

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

- - - diff --git a/configs/profile/airootfs/etc/fstab b/configs/profile/airootfs/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/profile/airootfs/etc/hostname b/configs/profile/airootfs/etc/hostname new file mode 100644 index 0000000..8aaf41b --- /dev/null +++ b/configs/profile/airootfs/etc/hostname @@ -0,0 +1 @@ +parabolaiso diff --git a/configs/profile/airootfs/etc/locale.conf b/configs/profile/airootfs/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/profile/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/profile/airootfs/etc/motd b/configs/profile/airootfs/etc/motd new file mode 100644 index 0000000..e4c893c --- /dev/null +++ b/configs/profile/airootfs/etc/motd @@ -0,0 +1,14 @@ + +=============================================================================== + + Parabola GNU/Linux-libre live media _DATE_ + + To install Parabola, the system must be connected to the internet. + For instructions, enter this command: + less install.txt + + Press the function keys while holding Alt to switch virtual terminals. + This allows entering commands without closing less. + +=============================================================================== + diff --git a/configs/profile/airootfs/etc/pam.d/su b/configs/profile/airootfs/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/etc/sudoers.d/g_wheel b/configs/profile/airootfs/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/profile/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/profile/airootfs/etc/systemd/scripts/choose-mirror b/configs/profile/airootfs/etc/systemd/scripts/choose-mirror new file mode 100755 index 0000000..13c9f69 --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/etc/systemd/system/choose-mirror.service b/configs/profile/airootfs/etc/systemd/system/choose-mirror.service new file mode 100644 index 0000000..1e4d771 --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/profile/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 0000000..4eab551 --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/profile/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..d1d8474 --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/etc/systemd/system/pacman-init.service b/configs/profile/airootfs/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..3414ebc --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/etc/udev/rules.d/81-dhcpcd.rules b/configs/profile/airootfs/etc/udev/rules.d/81-dhcpcd.rules new file mode 100644 index 0000000..970da69 --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/root/.automated_script.sh b/configs/profile/airootfs/root/.automated_script.sh new file mode 100755 index 0000000..fb106da --- /dev/null +++ b/configs/profile/airootfs/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/airootfs/root/.zlogin b/configs/profile/airootfs/root/.zlogin new file mode 100644 index 0000000..f598e43 --- /dev/null +++ b/configs/profile/airootfs/root/.zlogin @@ -0,0 +1 @@ +~/.automated_script.sh diff --git a/configs/profile/airootfs/root/customize_airootfs.sh b/configs/profile/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..84084a9 --- /dev/null +++ b/configs/profile/airootfs/root/customize_airootfs.sh @@ -0,0 +1,29 @@ +#!/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/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist +sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf + +sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/systemd/logind.conf +sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf +sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf + +systemctl enable multi-user.target pacman-init.service choose-mirror.service +systemctl set-default multi-user.target + +sed -i "s/_DATE_/$(date +%Y.%m.%d)/" /etc/motd diff --git a/configs/profile/airootfs/root/install.txt b/configs/profile/airootfs/root/install.txt new file mode 100644 index 0000000..a594b97 --- /dev/null +++ b/configs/profile/airootfs/root/install.txt @@ -0,0 +1,2 @@ +View this installation guide online at +https://wiki.parabola.nu/Installation_Guide diff --git a/configs/profile/aitab b/configs/profile/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/profile/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -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 index 89203a8..89ac09a 100755 --- a/configs/profile/build.sh +++ b/configs/profile/build.sh @@ -8,13 +8,19 @@ iso_version=$(date +%Y.%m.%d) install_dir=parabola work_dir=work out_dir=out -data_dir=/usr/share/parabolaiso/data +gpg_key= arch=$(uname -m) verbose="" -pacman_conf=${work_dir}/pacman.conf script_path=$(readlink -f ${0%/*}) -initcpio_dir=${script_path}/../../parabolaiso/initcpio + +# Init system. Options are: +# - openrc +# - runit +# - systemd +# +# Default is systemd +init=systemd _usage () { @@ -46,56 +52,76 @@ run_once() { fi } -# Setup custom pacman.conf with current cache directories. +# Setup custom pacman.conf with current cache directories and custom mirrorlist. 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} + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman.conf } -# Base installation, plus needed packages (root-image) +# Base installation, plus needed packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" -p "haveged memtest86+ mkinitcpio-nfs-utils nbd zsh" install } -# Additional packages (root-image) +# Additional packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install +} + +# Needed packages for x86_64 EFI boot +make_packages_efi() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install } -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) +# Copy mkinitcpio parabolaiso hooks and build initramfs (airootfs) make_setup_mkinitcpio() { local _hook + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/install for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do - cp ${initcpio_dir}/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp ${initcpio_dir}/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/install done - cp ${initcpio_dir}/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp ${initcpio_dir}/hooks/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 + sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" ${work_dir}/${arch}/airootfs/etc/initcpio/install/parabolaiso_shutdown + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/airootfs/etc/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/airootfs/etc/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/airootfs/etc/mkinitcpio-parabolaiso.conf + gnupg_fd= + if [[ ${gpg_key} ]]; then + gpg --export ${gpg_key} >${work_dir}/gpgkey + exec 17<>${work_dir}/gpgkey + fi + PARABOLAISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run + if [[ ${gpg_key} ]]; then + exec 17<&- + fi } -# Customize installation (root-image) -make_customize_root_image() { - cp -af ${script_path}/root-image ${work_dir}/${arch} +# Customize installation (airootfs) +make_customize_airootfs() { + cp -af ${script_path}/airootfs ${work_dir}/${arch} + + curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.parabola.nu/mirrorlist/?country=all&protocol=http&use_mirror_status=on' - iso_version="${iso_version}" 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 + lynx -dump -nolist 'https://wiki.parabola.nu/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt + + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run + rm ${work_dir}/${arch}/airootfs/root/customize_airootfs.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 + cp ${work_dir}/${arch}/airootfs/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/airootfs/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 + cp ${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest + cp ${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING } # Prepare /${install_dir}/boot/syslinux @@ -106,27 +132,30 @@ make_syslinux() { 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/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/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/*-gnu-*/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/lib/modules/*-gnu-*/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/bios/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ } # Prepare /EFI make_efi() { mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/ + + cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.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/ @@ -137,17 +166,17 @@ make_efi() { 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 ) - 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 ) - cp ${data_dir}/Shell_Full.efi ${work_dir}/iso/EFI/shellx64_v1.efi + # EFI Shell 2.0 for UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/master/ShellBinPkg/UefiShell/X64/Shell.efi + # EFI Shell 1.0 for non UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/master/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 38M ${work_dir}/iso/EFI/parabolaiso/efiboot.img - mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + truncate -s 64M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.fat -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 @@ -157,7 +186,10 @@ 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/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/ + + cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.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/ @@ -171,27 +203,20 @@ make_efiboot() { 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 + umount -d ${work_dir}/efiboot } -# Build all filesystem images specified in aitab (.fs.sfs .sfs) +# Build airootfs filesystem image make_prepare() { - cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} + cp -a -l -f ${work_dir}/${arch}/airootfs ${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) + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare + rm -rf ${work_dir}/airootfs + # rm -rf ${work_dir}/${arch}/airootfs (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" } @@ -205,7 +230,7 @@ if [[ ${arch} != x86_64 ]]; then _usage 1 fi -while getopts 'N:V:L:D:w:o:vh' arg; do +while getopts 'N:V:L:D:w:o:g:vh' arg; do case "${arg}" in N) iso_name="${OPTARG}" ;; V) iso_version="${OPTARG}" ;; @@ -213,6 +238,7 @@ while getopts 'N:V:L:D:w:o:vh' arg; do D) install_dir="${OPTARG}" ;; w) work_dir="${OPTARG}" ;; o) out_dir="${OPTARG}" ;; + g) gpg_key="${OPTARG}" ;; v) verbose="-v" ;; h) _usage 0 ;; *) @@ -226,12 +252,17 @@ mkdir -p ${work_dir} run_once make_pacman_conf -# Do all stuff for each root-image +# Do all stuff for each airootfs for arch in i686 x86_64; do run_once make_basefs run_once make_packages +done + +run_once make_packages_efi + +for arch in i686 x86_64; do run_once make_setup_mkinitcpio - run_once make_customize_root_image + run_once make_customize_airootfs done for arch in i686 x86_64; do @@ -245,8 +276,6 @@ 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 diff --git a/configs/profile/mkinitcpio.conf b/configs/profile/mkinitcpio.conf index 1006d1d..f7a52b8 100644 --- a/configs/profile/mkinitcpio.conf +++ b/configs/profile/mkinitcpio.conf @@ -1,2 +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" +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/root-image/etc/fstab b/configs/profile/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/profile/root-image/etc/hostname b/configs/profile/root-image/etc/hostname deleted file mode 100644 index 8aaf41b..0000000 --- a/configs/profile/root-image/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -parabolaiso diff --git a/configs/profile/root-image/etc/locale.conf b/configs/profile/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/profile/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/profile/root-image/etc/motd b/configs/profile/root-image/etc/motd deleted file mode 100644 index a126999..0000000 --- a/configs/profile/root-image/etc/motd +++ /dev/null @@ -1,14 +0,0 @@ - -=============================================================================== - - 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 function keys while holding Alt to switch virtual terminals. - This allows entering commands without closing lynx. - -=============================================================================== - diff --git a/configs/profile/root-image/etc/pam.d/su b/configs/profile/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/profile/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/profile/root-image/etc/sudoers.d/g_wheel b/configs/profile/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/profile/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%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 deleted file mode 100755 index 13c9f69..0000000 --- a/configs/profile/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/profile/root-image/etc/systemd/system/choose-mirror.service b/configs/profile/root-image/etc/systemd/system/choose-mirror.service deleted file mode 100644 index 1e4d771..0000000 --- a/configs/profile/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/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/profile/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount deleted file mode 100644 index 4eab551..0000000 --- a/configs/profile/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/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 deleted file mode 100644 index d1d8474..0000000 --- a/configs/profile/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/profile/root-image/etc/systemd/system/pacman-init.service b/configs/profile/root-image/etc/systemd/system/pacman-init.service deleted file mode 100644 index 3414ebc..0000000 --- a/configs/profile/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/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/profile/root-image/etc/udev/rules.d/81-dhcpcd.rules deleted file mode 100644 index 970da69..0000000 --- a/configs/profile/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/profile/root-image/root/.automated_script.sh b/configs/profile/root-image/root/.automated_script.sh deleted file mode 100755 index fb106da..0000000 --- a/configs/profile/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/profile/root-image/root/.zlogin b/configs/profile/root-image/root/.zlogin deleted file mode 100644 index f598e43..0000000 --- a/configs/profile/root-image/root/.zlogin +++ /dev/null @@ -1 +0,0 @@ -~/.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 deleted file mode 100755 index 9c980f1..0000000 --- a/configs/profile/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,22 +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 - -sed -i "s/_DATE_/${iso_version}/" /etc/motd diff --git a/configs/profile/root-image/root/network.html b/configs/profile/root-image/root/network.html deleted file mode 100644 index 057e680..0000000 --- a/configs/profile/root-image/root/network.html +++ /dev/null @@ -1,191 +0,0 @@ -Online version: https://wiki.parabolagnulinux.org/Start_installing -

Contents

- -
-

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

-
# loadkeys layout
-
-

...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
-# export LANG=de_DE.UTF-8
-
-

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

-

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

-

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

-
# 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
-    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 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
-          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 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_name
-
-

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

-

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

First, identify the name of your wireless interface. -

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

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

-
# ip link set wlp3s0 up
-
-

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

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

-
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
-
-

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

-
# dhcpcd wlp3s0
-
-

If that does not work, issue the following commands: -

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

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

- - - diff --git a/configs/talkingparabola-X11/aitab b/configs/talkingparabola-X11/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/talkingparabola-X11/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -root-image / i686 xz ext4 50% -root-image / x86_64 xz ext4 50% diff --git a/configs/talkingparabola-X11/build.sh b/configs/talkingparabola-X11/build.sh deleted file mode 100755 index b7242a7..0000000 --- a/configs/talkingparabola-X11/build.sh +++ /dev/null @@ -1,254 +0,0 @@ -#!/bin/bash - -set -e -u - -iso_name=talkingparabola -iso_label="PARA_$(date +%Y%m)" -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="" -pacman_conf=${work_dir}/pacman.conf -script_path=$(readlink -f ${0%/*}) -initcpio_dir=${script_path}/../../parabolaiso/initcpio - -_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 ${initcpio_dir}/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp ${initcpio_dir}/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - done - cp ${initcpio_dir}/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp ${initcpio_dir}/hooks/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} - - iso_version="${iso_version}" 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/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/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/*-gnu-*/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/bios/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ -} - -# Prepare /EFI -make_efi() { - mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/systemd/boot/efi/systemd-bootx64.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 ) - 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 ) - cp ${data_dir}/Shell_Full.efi ${work_dir}/iso/EFI/shellx64_v1.efi -} - -# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode -make_efiboot() { - mkdir -p ${work_dir}/iso/EFI/parabolaiso - truncate -s 64M ${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/systemd/boot/efi/systemd-bootx64.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/talkingparabola-X11/efiboot/loader/entries/parabolaiso-x86_64-cd.conf b/configs/talkingparabola-X11/efiboot/loader/entries/parabolaiso-x86_64-cd.conf deleted file mode 100644 index 057e14f..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/efiboot/loader/entries/parabolaiso-x86_64-usb.conf b/configs/talkingparabola-X11/efiboot/loader/entries/parabolaiso-x86_64-usb.conf deleted file mode 100644 index 3863799..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/efiboot/loader/entries/uefi-shell-v1-x86_64.conf b/configs/talkingparabola-X11/efiboot/loader/entries/uefi-shell-v1-x86_64.conf deleted file mode 100644 index 9597ff2..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/efiboot/loader/entries/uefi-shell-v2-x86_64.conf b/configs/talkingparabola-X11/efiboot/loader/entries/uefi-shell-v2-x86_64.conf deleted file mode 100644 index 0dde77a..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/efiboot/loader/loader.conf b/configs/talkingparabola-X11/efiboot/loader/loader.conf deleted file mode 100644 index ba02c50..0000000 --- a/configs/talkingparabola-X11/efiboot/loader/loader.conf +++ /dev/null @@ -1,2 +0,0 @@ -timeout 3 -default parabolaiso-x86_64 diff --git a/configs/talkingparabola-X11/isolinux/isolinux.cfg b/configs/talkingparabola-X11/isolinux/isolinux.cfg deleted file mode 100644 index 10472fb..0000000 --- a/configs/talkingparabola-X11/isolinux/isolinux.cfg +++ /dev/null @@ -1,6 +0,0 @@ -PATH /%INSTALL_DIR%/boot/syslinux/ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG /%INSTALL_DIR%/boot/syslinux/parabolaiso.cfg - APPEND /%INSTALL_DIR%/ diff --git a/configs/talkingparabola-X11/mkinitcpio.conf b/configs/talkingparabola-X11/mkinitcpio.conf deleted file mode 100644 index fc2572b..0000000 --- a/configs/talkingparabola-X11/mkinitcpio.conf +++ /dev/null @@ -1,3 +0,0 @@ -MODULES="loop" -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/talkingparabola-X11/packages.both b/configs/talkingparabola-X11/packages.both deleted file mode 100644 index c1f46d2..0000000 --- a/configs/talkingparabola-X11/packages.both +++ /dev/null @@ -1,97 +0,0 @@ -alsa-utils -arch-install-scripts -bluez -bluez-libs -brltty -btrfs-progs -crda -darkhttpd -ddrescue -dhclient -dialog -dmraid -dnsmasq -dnsutils -dosfstools -elinks -espeakup -ethtool -f2fs-tools -fsarchiver -gnu-netcat -gpm -gptfdisk -grml-zsh-config -grub -haveged -hdparm -irssi -lftp -linux-atm -lynx -mc -mtools -nfs-utils -nilfs-utils -nmap -ntfs-3g -ntp -openconnect -openssh -openvpn -partclone -parted -partimage -pptpclient -ppp -rfkill -rp-pppoe -rsync -smartmontools -sudo -tcpdump -testdisk -usb_modeswitch -vpnc -wget -wireless_tools -wpa_actiond -wpa_supplicant -zile -wvdial -xl2tpd -zsh - -#X11 -xorg-server -xf86-video-amdgpu -xf86-video-ati -xf86-video-dummy -xf86-video-fbdev -xf86-video-intel -xf86-video-nouveau -xf86-video-openchrome -xf86-video-sisusb -xf86-video-vesa -xf86-video-vmware -xf86-video-voodoo -xf86-video-qxl -xorg-xinit - -#Plugins -gst-plugins-good -gst-libav - -#Window Manager -gnome -zenity - -#Programs -iceweasel -icedove -pidgin -gparted -supertux -smplayer -abiword -gnumeric diff --git a/configs/talkingparabola-X11/packages.i686 b/configs/talkingparabola-X11/packages.i686 deleted file mode 100644 index e69de29..0000000 diff --git a/configs/talkingparabola-X11/packages.x86_64 b/configs/talkingparabola-X11/packages.x86_64 deleted file mode 100644 index 804cc93..0000000 --- a/configs/talkingparabola-X11/packages.x86_64 +++ /dev/null @@ -1 +0,0 @@ -refind-efi diff --git a/configs/talkingparabola-X11/pacman.conf b/configs/talkingparabola-X11/pacman.conf deleted file mode 100644 index 03f449f..0000000 --- a/configs/talkingparabola-X11/pacman.conf +++ /dev/null @@ -1,104 +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/ -#HookDir = /etc/pacman.d/hooks/ -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 Arch/Parabola packagers -# with `pacman-key --populate archlinux` and `pacman-key --populate parabola`. - -# -# 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-testing] -#Include = /etc/pacman.d/mirrorlist - -[libre] -Include = /etc/pacman.d/mirrorlist - -#[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 - -#[pcr-testing] -#Include = /etc/pacman.d/mirrorlist - -[pcr] -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/talkingparabola-X11/root-image/etc/fstab b/configs/talkingparabola-X11/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/talkingparabola-X11/root-image/etc/hostname b/configs/talkingparabola-X11/root-image/etc/hostname deleted file mode 100644 index 8aaf41b..0000000 --- a/configs/talkingparabola-X11/root-image/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -parabolaiso diff --git a/configs/talkingparabola-X11/root-image/etc/locale.conf b/configs/talkingparabola-X11/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/talkingparabola-X11/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/talkingparabola-X11/root-image/etc/motd b/configs/talkingparabola-X11/root-image/etc/motd deleted file mode 100644 index a126999..0000000 --- a/configs/talkingparabola-X11/root-image/etc/motd +++ /dev/null @@ -1,14 +0,0 @@ - -=============================================================================== - - 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 function keys while holding Alt to switch virtual terminals. - This allows entering commands without closing lynx. - -=============================================================================== - diff --git a/configs/talkingparabola-X11/root-image/etc/pam.d/su b/configs/talkingparabola-X11/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/root-image/etc/skel/.config/autostart/orca.desktop b/configs/talkingparabola-X11/root-image/etc/skel/.config/autostart/orca.desktop deleted file mode 100644 index da6c6ee..0000000 --- a/configs/talkingparabola-X11/root-image/etc/skel/.config/autostart/orca.desktop +++ /dev/null @@ -1,5 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Orca Screen Reader -Exec=orca -X-GNOME-Autostart-enabled=true diff --git a/configs/talkingparabola-X11/root-image/etc/skel/.xinitrc b/configs/talkingparabola-X11/root-image/etc/skel/.xinitrc deleted file mode 100755 index 8861ecd..0000000 --- a/configs/talkingparabola-X11/root-image/etc/skel/.xinitrc +++ /dev/null @@ -1 +0,0 @@ -exec gnome-session diff --git a/configs/talkingparabola-X11/root-image/etc/sudoers.d/g_wheel b/configs/talkingparabola-X11/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/talkingparabola-X11/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/talkingparabola-X11/root-image/etc/systemd/scripts/choose-mirror b/configs/talkingparabola-X11/root-image/etc/systemd/scripts/choose-mirror deleted file mode 100755 index 13c9f69..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/root-image/etc/systemd/system/choose-mirror.service b/configs/talkingparabola-X11/root-image/etc/systemd/system/choose-mirror.service deleted file mode 100644 index 1e4d771..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/talkingparabola-X11/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount deleted file mode 100644 index 4eab551..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/talkingparabola-X11/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf deleted file mode 100644 index d1d8474..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/root-image/etc/systemd/system/livecd-alsa-unmuter.service b/configs/talkingparabola-X11/root-image/etc/systemd/system/livecd-alsa-unmuter.service deleted file mode 100644 index e3b9073..0000000 --- a/configs/talkingparabola-X11/root-image/etc/systemd/system/livecd-alsa-unmuter.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Unmute All Sound Card Controls For Use With The Live TalkingParabola Environment -# This needs to run after the audio device becomes available. -Wants=systemd-udev-settle.service -After=systemd-udev-settle.service sound.target -DefaultDependencies=no -Before=shutdown.target - -[Service] -Type=oneshot -ExecStart=/usr/bin/livecd-alsa-unmuter -StandardOutput=syslog - -[Install] -WantedBy=sound.target diff --git a/configs/talkingparabola-X11/root-image/etc/systemd/system/pacman-init.service b/configs/talkingparabola-X11/root-image/etc/systemd/system/pacman-init.service deleted file mode 100644 index 3414ebc..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/talkingparabola-X11/root-image/etc/udev/rules.d/81-dhcpcd.rules deleted file mode 100644 index 970da69..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/root-image/root/customize_root_image.sh b/configs/talkingparabola-X11/root-image/root/customize_root_image.sh deleted file mode 100755 index 4ff8528..0000000 --- a/configs/talkingparabola-X11/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,22 +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 livecd-alsa-unmuter.service brltty.service - -sed -i "s/_DATE_/${iso_version}/" /etc/motd diff --git a/configs/talkingparabola-X11/root-image/root/network.html b/configs/talkingparabola-X11/root-image/root/network.html deleted file mode 100644 index 057e680..0000000 --- a/configs/talkingparabola-X11/root-image/root/network.html +++ /dev/null @@ -1,191 +0,0 @@ -Online version: https://wiki.parabolagnulinux.org/Start_installing -

Contents

- -
-

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

-
# loadkeys layout
-
-

...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
-# export LANG=de_DE.UTF-8
-
-

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

-

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

-

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

-
# 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
-    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 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
-          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 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_name
-
-

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

-

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

First, identify the name of your wireless interface. -

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

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

-
# ip link set wlp3s0 up
-
-

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

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

-
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
-
-

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

-
# dhcpcd wlp3s0
-
-

If that does not work, issue the following commands: -

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

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

- - - diff --git a/configs/talkingparabola-X11/root-image/usr/bin/livecd-alsa-unmuter b/configs/talkingparabola-X11/root-image/usr/bin/livecd-alsa-unmuter deleted file mode 100755 index 6de05a0..0000000 --- a/configs/talkingparabola-X11/root-image/usr/bin/livecd-alsa-unmuter +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# Properly initialize the sound card so that we have audio at boot. -# This script is released under the GNU General Public License. -source /usr/share/livecd-sound/functions - -preinit_levels all -sanify_levels all diff --git a/configs/talkingparabola-X11/root-image/usr/bin/pick-a-card b/configs/talkingparabola-X11/root-image/usr/bin/pick-a-card deleted file mode 100755 index 7f469e8..0000000 --- a/configs/talkingparabola-X11/root-image/usr/bin/pick-a-card +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -# If there are multiple usable sound cards, prompt the user to choose one, -# using auditory feedback. -# This script is released under the GNU General Public License. - -source /usr/share/livecd-sound/functions - -nwords() { - echo $# -} - -is_numeric() { - local str=$1 - expr match "$str" '[[:digit:]]\+$' > /dev/null 2>&1 -} - -set_default_card() { - local card=$1 - sed -e "s/%card%/$card/g" < /usr/share/livecd-sound/asound.conf.in \ - > /etc/asound.conf -} - -play_on_card() { - local card=$1 file=$2 - aplay "-Dplughw:$card,0" "$file" -} - -set -f -usable_cards="$(list_non_pcsp_cards)" -num_usable_cards=$(nwords $usable_cards) - -if [ "$num_usable_cards" -eq 1 ]; then - exit 0 -fi - -for card in $usable_cards; do - if ! is_numeric "$card"; then - continue - fi - play_on_card "$card" /usr/share/livecd-sound/sounds/pick-a-card.wav& -done -wait -sleep 1 -for card in $usable_cards; do - if ! is_numeric "$card"; then - continue - fi - play_on_card "$card" /usr/share/livecd-sound/sounds/beep.wav - if read -t 10; then - set_default_card "$card" - break - fi -done diff --git a/configs/talkingparabola-X11/root-image/usr/bin/talk-to-me b/configs/talkingparabola-X11/root-image/usr/bin/talk-to-me deleted file mode 100755 index 73998d8..0000000 --- a/configs/talkingparabola-X11/root-image/usr/bin/talk-to-me +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -started_flag=/run/speech-is-running -if [ -f $started_flag ]; then - exit 0 -fi -systemctl stop espeakup -sleep 5 -pick-a-card -systemctl start espeakup -touch $started_flag diff --git a/configs/talkingparabola-X11/root-image/usr/share/livecd-sound/asound.conf.in b/configs/talkingparabola-X11/root-image/usr/share/livecd-sound/asound.conf.in deleted file mode 100644 index 851f829..0000000 --- a/configs/talkingparabola-X11/root-image/usr/share/livecd-sound/asound.conf.in +++ /dev/null @@ -1,12 +0,0 @@ -pcm.!default { - type plug - slave.pcm { - type hw - card %card% - } -} - -ctl.!default { - type hw - card %card% -} diff --git a/configs/talkingparabola-X11/root-image/usr/share/livecd-sound/functions b/configs/talkingparabola-X11/root-image/usr/share/livecd-sound/functions deleted file mode 100644 index e517795..0000000 --- a/configs/talkingparabola-X11/root-image/usr/share/livecd-sound/functions +++ /dev/null @@ -1,199 +0,0 @@ -# Functions for setting up sound on the live CD. -# This library is released under the GNU General Public License, -# and it incorporates code from the /etc/init.d/alsa-utils included with -# Ubuntu 8.04. Proper credit also goes to Debian. - -# Start code copied from Debian / Ubuntu: - -bugout () { - printf "/etc/rc.d/livecdsound: programming error" - stat_fail -} - -echo_card_indices() -{ - if [ -f /proc/asound/cards ] ; then - sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards - fi -} - -filter_amixer_output() -{ - sed \ - -e '/Unable to find simple control/d' \ - -e '/Unknown playback setup/d' \ - -e '/^$/d' -} - -# The following functions try to set many controls. -# No card has all the controls and so some of the attempts are bound to fail. -# Because of this, the functions can't return useful status values. - -# $1 -# $2 -# $CARDOPT -unmute_and_set_level() -{ - { [ "$2" ] && [ "$CARDOPT" ] ; } || bugout - amixer $CARDOPT -q set "$1" "$2" unmute 2>&1 | filter_amixer_output || : - return 0 -} - -# $1 -# $CARDOPT -mute_and_zero_level() -{ - { [ "$1" ] && [ "$CARDOPT" ] ; } || bugout - amixer $CARDOPT -q set "$1" "0%" mute 2>&1 | filter_amixer_output || : - return 0 -} - -# $1 -# $2 "on" | "off" -# $CARDOPT -switch_control() -{ - { [ "$2" ] && [ "$CARDOPT" ] ; } || bugout - amixer $CARDOPT -q set "$1" "$2" 2>&1 | filter_amixer_output || : - return 0 -} - -# $1 -sanify_levels_on_card() -{ - CARDOPT="-c $1" - - unmute_and_set_level "Front" "80%" - unmute_and_set_level "Master" "80%" - unmute_and_set_level "Master Mono" "80%" - unmute_and_set_level "Master Digital" "80%" # E.g., cs4237B - unmute_and_set_level "Playback" "80%" - unmute_and_set_level "Headphone" "100%" - unmute_and_set_level "PCM" "80%" - unmute_and_set_level "PCM,1" "80%" # E.g., ess1969 - unmute_and_set_level "DAC" "80%" # E.g., envy24, cs46xx - unmute_and_set_level "DAC,0" "80%" # E.g., envy24 - unmute_and_set_level "DAC,1" "80%" # E.g., envy24 - unmute_and_set_level "Synth" "80%" - unmute_and_set_level "CD" "80%" - unmute_and_set_level "PC Speaker" "100%" - - mute_and_zero_level "Mic" - mute_and_zero_level "IEC958" # Ubuntu #19648 - - # Intel P4P800-MX - switch_control "Master Playback Switch" on - switch_control "Master Surround" on - - # Trident/YMFPCI/emu10k1: - unmute_and_set_level "Wave" "80%" - unmute_and_set_level "Music" "80%" - unmute_and_set_level "AC97" "80%" - - # DRC: - unmute_and_set_level "Dynamic Range Compression" "80%" - - # Required for HDA Intel (hda-intel): - unmute_and_set_level "Front" "80%" - - # Required for SB Live 7.1/24-bit (ca0106): - unmute_and_set_level "Analog Front" "80%" - - # Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard - switch_control "IEC958 Capture Monitor" off - - # Required for hardware allowing toggles for AC97 through IEC958, - # valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1. - unmute_and_set_level "IEC958 Playback AC97-SPSA" "0" - - # Required for newer Via hardware - unmute_and_set_level "VIA DXS,0" "80%" - unmute_and_set_level "VIA DXS,1" "80%" - unmute_and_set_level "VIA DXS,2" "80%" - unmute_and_set_level "VIA DXS,3" "80%" - - # Required on some notebooks with ICH4: - switch_control "Headphone Jack Sense" off - switch_control "Line Jack Sense" off - - # Some machines need one or more of these to be on; - # others need one or more of these to be off: - # - # switch_control "External Amplifier" on - switch_control "Audigy Analog/Digital Output Jack" on - switch_control "SB Live Analog/Digital Output Jack" on - - # D1984 -- Thinkpad T61/X61 - switch_control "Speaker" on - switch_control "Headphone" on - - # HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823) - unmute_and_set_level "Digital" "80%" - - return 0 -} - -# $1 | "all" -sanify_levels() -{ - TTSDML_RETURNSTATUS=0 - case "$1" in - all) - for CARD in $(echo_card_indices) ; do - sanify_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 - done - ;; - *) - sanify_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 - ;; - esac - return $TTSDML_RETURNSTATUS -} - -# $1 -preinit_levels_on_card() -{ - CARDOPT="-c $1" - - # Silly dance to activate internal speakers by default on PowerMac - # Snapper and Tumbler - id=`cat /proc/asound/card$1/id 2>/dev/null` - if [ "$id" = "Snapper" -o "$id" = "Tumbler" ]; then - switch_control "Auto Mute" off - switch_control "PC Speaker" off - switch_control "Auto Mute" on - fi -} - -# $1 | "all" -preinit_levels() -{ - TTSDML_RETURNSTATUS=0 - case "$1" in - all) - for CARD in $(echo_card_indices) ; do - preinit_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 - done - ;; - *) - preinit_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 - ;; - esac - return $TTSDML_RETURNSTATUS -} - -# End copied code. - -# List all cards that *should* be usable for PCM audio. In my experience, -# the console speaker (handled by the pcsp driver) isn't a suitable playback -# device, so we'll exclude it. -list_non_pcsp_cards() -{ - for card in $(echo_card_indices); do - local cardfile="/proc/asound/card${card}/id" - if [ -r "$cardfile" -a -f "$cardfile" ] && \ - [ "$(cat "$cardfile")" != pcsp ]; then - echo "$card" - fi - done -} diff --git a/configs/talkingparabola-X11/syslinux/parabolaiso.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso.cfg deleted file mode 100644 index 473e245..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_head.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_head.cfg deleted file mode 100644 index a245309..0000000 --- a/configs/talkingparabola-X11/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 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 diff --git a/configs/talkingparabola-X11/syslinux/parabolaiso_pxe32.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_pxe32.cfg deleted file mode 100644 index 9df86b7..0000000 --- a/configs/talkingparabola-X11/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} -SYSAPPEND 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 -SYSAPPEND 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}/ -SYSAPPEND 3 diff --git a/configs/talkingparabola-X11/syslinux/parabolaiso_pxe64.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_pxe64.cfg deleted file mode 100644 index be3e3de..0000000 --- a/configs/talkingparabola-X11/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} -SYSAPPEND 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 -SYSAPPEND 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}/ -SYSAPPEND 3 diff --git a/configs/talkingparabola-X11/syslinux/parabolaiso_pxe_32_inc.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_pxe_32_inc.cfg deleted file mode 100644 index ba514cb..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_pxe_both_inc.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_pxe_both_inc.cfg deleted file mode 100644 index 9396d9b..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_pxe_choose.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_pxe_choose.cfg deleted file mode 100644 index a3a768f..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_sys32.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_sys32.cfg deleted file mode 100644 index 4abdf7a..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_sys64.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_sys64.cfg deleted file mode 100644 index b154459..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_sys_32_inc.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_sys_32_inc.cfg deleted file mode 100644 index c641201..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_sys_both_inc.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_sys_both_inc.cfg deleted file mode 100644 index 9dfb87f..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_sys_choose.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_sys_choose.cfg deleted file mode 100644 index d436062..0000000 --- a/configs/talkingparabola-X11/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/talkingparabola-X11/syslinux/parabolaiso_tail.cfg b/configs/talkingparabola-X11/syslinux/parabolaiso_tail.cfg deleted file mode 100644 index e85d8e1..0000000 --- a/configs/talkingparabola-X11/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 -COM32 boot/syslinux/poweroff.c32 diff --git a/configs/talkingparabola-X11/syslinux/splash.png b/configs/talkingparabola-X11/syslinux/splash.png deleted file mode 100644 index eb20a51..0000000 Binary files a/configs/talkingparabola-X11/syslinux/splash.png and /dev/null differ diff --git a/configs/talkingparabola-X11/syslinux/splash.svg b/configs/talkingparabola-X11/syslinux/splash.svg deleted file mode 100644 index e44cace..0000000 --- a/configs/talkingparabola-X11/syslinux/splash.svg +++ /dev/null @@ -1,258 +0,0 @@ - - - TalkingParabola GNU/Linux-libre - - - - image/svg+xml - - TalkingParabola GNU/Linux-libre - - 2015/02/28 - - - Jorge Araya Navarro + José Miguel Silva Lara - - - - - Márcio Alexandre Silva Delgado - - - - - CC BY-SA - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/configs/talkingparabola-X11/syslinux/syslinux.cfg b/configs/talkingparabola-X11/syslinux/syslinux.cfg deleted file mode 100644 index 0869ed2..0000000 --- a/configs/talkingparabola-X11/syslinux/syslinux.cfg +++ /dev/null @@ -1,5 +0,0 @@ -DEFAULT loadconfig - -LABEL loadconfig - CONFIG parabolaiso.cfg - APPEND ../../ diff --git a/configs/talkingparabola/airootfs/etc/fstab b/configs/talkingparabola/airootfs/etc/fstab new file mode 100644 index 0000000..e69de29 diff --git a/configs/talkingparabola/airootfs/etc/hostname b/configs/talkingparabola/airootfs/etc/hostname new file mode 100644 index 0000000..8aaf41b --- /dev/null +++ b/configs/talkingparabola/airootfs/etc/hostname @@ -0,0 +1 @@ +parabolaiso diff --git a/configs/talkingparabola/airootfs/etc/locale.conf b/configs/talkingparabola/airootfs/etc/locale.conf new file mode 100644 index 0000000..01ec548 --- /dev/null +++ b/configs/talkingparabola/airootfs/etc/locale.conf @@ -0,0 +1 @@ +LANG=en_US.UTF-8 diff --git a/configs/talkingparabola/airootfs/etc/motd b/configs/talkingparabola/airootfs/etc/motd new file mode 100644 index 0000000..e4c893c --- /dev/null +++ b/configs/talkingparabola/airootfs/etc/motd @@ -0,0 +1,14 @@ + +=============================================================================== + + Parabola GNU/Linux-libre live media _DATE_ + + To install Parabola, the system must be connected to the internet. + For instructions, enter this command: + less install.txt + + Press the function keys while holding Alt to switch virtual terminals. + This allows entering commands without closing less. + +=============================================================================== + diff --git a/configs/talkingparabola/airootfs/etc/pam.d/su b/configs/talkingparabola/airootfs/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/configs/talkingparabola/airootfs/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/talkingparabola/airootfs/etc/sudoers.d/g_wheel b/configs/talkingparabola/airootfs/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/configs/talkingparabola/airootfs/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/talkingparabola/airootfs/etc/systemd/scripts/choose-mirror b/configs/talkingparabola/airootfs/etc/systemd/scripts/choose-mirror new file mode 100755 index 0000000..13c9f69 --- /dev/null +++ b/configs/talkingparabola/airootfs/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/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service b/configs/talkingparabola/airootfs/etc/systemd/system/choose-mirror.service new file mode 100644 index 0000000..1e4d771 --- /dev/null +++ b/configs/talkingparabola/airootfs/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/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/talkingparabola/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount new file mode 100644 index 0000000..4eab551 --- /dev/null +++ b/configs/talkingparabola/airootfs/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/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/talkingparabola/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 0000000..d1d8474 --- /dev/null +++ b/configs/talkingparabola/airootfs/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/talkingparabola/airootfs/etc/systemd/system/livecd-alsa-unmuter.service b/configs/talkingparabola/airootfs/etc/systemd/system/livecd-alsa-unmuter.service new file mode 100644 index 0000000..e3b9073 --- /dev/null +++ b/configs/talkingparabola/airootfs/etc/systemd/system/livecd-alsa-unmuter.service @@ -0,0 +1,15 @@ +[Unit] +Description=Unmute All Sound Card Controls For Use With The Live TalkingParabola Environment +# This needs to run after the audio device becomes available. +Wants=systemd-udev-settle.service +After=systemd-udev-settle.service sound.target +DefaultDependencies=no +Before=shutdown.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/livecd-alsa-unmuter +StandardOutput=syslog + +[Install] +WantedBy=sound.target diff --git a/configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service b/configs/talkingparabola/airootfs/etc/systemd/system/pacman-init.service new file mode 100644 index 0000000..3414ebc --- /dev/null +++ b/configs/talkingparabola/airootfs/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/talkingparabola/airootfs/etc/udev/rules.d/81-dhcpcd.rules b/configs/talkingparabola/airootfs/etc/udev/rules.d/81-dhcpcd.rules new file mode 100644 index 0000000..970da69 --- /dev/null +++ b/configs/talkingparabola/airootfs/etc/udev/rules.d/81-dhcpcd.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", ENV{SYSTEMD_WANTS}="dhcpcd@$name.service" diff --git a/configs/talkingparabola/airootfs/root/customize_airootfs.sh b/configs/talkingparabola/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..8767d11 --- /dev/null +++ b/configs/talkingparabola/airootfs/root/customize_airootfs.sh @@ -0,0 +1,29 @@ +#!/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/#\(PermitRootLogin \).\+/\1yes/' /etc/ssh/sshd_config +sed -i "s/#Server/Server/g" /etc/pacman.d/mirrorlist +sed -i 's/#\(Storage=\)auto/\1volatile/' /etc/systemd/journald.conf + +sed -i 's/#\(HandleSuspendKey=\)suspend/\1ignore/' /etc/systemd/logind.conf +sed -i 's/#\(HandleHibernateKey=\)hibernate/\1ignore/' /etc/systemd/logind.conf +sed -i 's/#\(HandleLidSwitch=\)suspend/\1ignore/' /etc/systemd/logind.conf + +systemctl enable multi-user.target pacman-init.service choose-mirror.service livecd-alsa-unmuter.service brltty.service +systemctl set-default multi-user.target + +sed -i "s/_DATE_/$(date +%Y.%m.%d)/" /etc/motd diff --git a/configs/talkingparabola/airootfs/root/install.txt b/configs/talkingparabola/airootfs/root/install.txt new file mode 100644 index 0000000..a594b97 --- /dev/null +++ b/configs/talkingparabola/airootfs/root/install.txt @@ -0,0 +1,2 @@ +View this installation guide online at +https://wiki.parabola.nu/Installation_Guide diff --git a/configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter b/configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter new file mode 100755 index 0000000..6de05a0 --- /dev/null +++ b/configs/talkingparabola/airootfs/usr/bin/livecd-alsa-unmuter @@ -0,0 +1,8 @@ +#!/bin/bash + +# Properly initialize the sound card so that we have audio at boot. +# This script is released under the GNU General Public License. +source /usr/share/livecd-sound/functions + +preinit_levels all +sanify_levels all diff --git a/configs/talkingparabola/airootfs/usr/bin/pick-a-card b/configs/talkingparabola/airootfs/usr/bin/pick-a-card new file mode 100755 index 0000000..7f469e8 --- /dev/null +++ b/configs/talkingparabola/airootfs/usr/bin/pick-a-card @@ -0,0 +1,54 @@ +#!/bin/bash + +# If there are multiple usable sound cards, prompt the user to choose one, +# using auditory feedback. +# This script is released under the GNU General Public License. + +source /usr/share/livecd-sound/functions + +nwords() { + echo $# +} + +is_numeric() { + local str=$1 + expr match "$str" '[[:digit:]]\+$' > /dev/null 2>&1 +} + +set_default_card() { + local card=$1 + sed -e "s/%card%/$card/g" < /usr/share/livecd-sound/asound.conf.in \ + > /etc/asound.conf +} + +play_on_card() { + local card=$1 file=$2 + aplay "-Dplughw:$card,0" "$file" +} + +set -f +usable_cards="$(list_non_pcsp_cards)" +num_usable_cards=$(nwords $usable_cards) + +if [ "$num_usable_cards" -eq 1 ]; then + exit 0 +fi + +for card in $usable_cards; do + if ! is_numeric "$card"; then + continue + fi + play_on_card "$card" /usr/share/livecd-sound/sounds/pick-a-card.wav& +done +wait +sleep 1 +for card in $usable_cards; do + if ! is_numeric "$card"; then + continue + fi + play_on_card "$card" /usr/share/livecd-sound/sounds/beep.wav + if read -t 10; then + set_default_card "$card" + break + fi +done diff --git a/configs/talkingparabola/airootfs/usr/bin/talk-to-me b/configs/talkingparabola/airootfs/usr/bin/talk-to-me new file mode 100755 index 0000000..73998d8 --- /dev/null +++ b/configs/talkingparabola/airootfs/usr/bin/talk-to-me @@ -0,0 +1,10 @@ +#!/bin/sh +started_flag=/run/speech-is-running +if [ -f $started_flag ]; then + exit 0 +fi +systemctl stop espeakup +sleep 5 +pick-a-card +systemctl start espeakup +touch $started_flag diff --git a/configs/talkingparabola/airootfs/usr/share/livecd-sound/asound.conf.in b/configs/talkingparabola/airootfs/usr/share/livecd-sound/asound.conf.in new file mode 100644 index 0000000..851f829 --- /dev/null +++ b/configs/talkingparabola/airootfs/usr/share/livecd-sound/asound.conf.in @@ -0,0 +1,12 @@ +pcm.!default { + type plug + slave.pcm { + type hw + card %card% + } +} + +ctl.!default { + type hw + card %card% +} diff --git a/configs/talkingparabola/airootfs/usr/share/livecd-sound/functions b/configs/talkingparabola/airootfs/usr/share/livecd-sound/functions new file mode 100644 index 0000000..e517795 --- /dev/null +++ b/configs/talkingparabola/airootfs/usr/share/livecd-sound/functions @@ -0,0 +1,199 @@ +# Functions for setting up sound on the live CD. +# This library is released under the GNU General Public License, +# and it incorporates code from the /etc/init.d/alsa-utils included with +# Ubuntu 8.04. Proper credit also goes to Debian. + +# Start code copied from Debian / Ubuntu: + +bugout () { + printf "/etc/rc.d/livecdsound: programming error" + stat_fail +} + +echo_card_indices() +{ + if [ -f /proc/asound/cards ] ; then + sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards + fi +} + +filter_amixer_output() +{ + sed \ + -e '/Unable to find simple control/d' \ + -e '/Unknown playback setup/d' \ + -e '/^$/d' +} + +# The following functions try to set many controls. +# No card has all the controls and so some of the attempts are bound to fail. +# Because of this, the functions can't return useful status values. + +# $1 +# $2 +# $CARDOPT +unmute_and_set_level() +{ + { [ "$2" ] && [ "$CARDOPT" ] ; } || bugout + amixer $CARDOPT -q set "$1" "$2" unmute 2>&1 | filter_amixer_output || : + return 0 +} + +# $1 +# $CARDOPT +mute_and_zero_level() +{ + { [ "$1" ] && [ "$CARDOPT" ] ; } || bugout + amixer $CARDOPT -q set "$1" "0%" mute 2>&1 | filter_amixer_output || : + return 0 +} + +# $1 +# $2 "on" | "off" +# $CARDOPT +switch_control() +{ + { [ "$2" ] && [ "$CARDOPT" ] ; } || bugout + amixer $CARDOPT -q set "$1" "$2" 2>&1 | filter_amixer_output || : + return 0 +} + +# $1 +sanify_levels_on_card() +{ + CARDOPT="-c $1" + + unmute_and_set_level "Front" "80%" + unmute_and_set_level "Master" "80%" + unmute_and_set_level "Master Mono" "80%" + unmute_and_set_level "Master Digital" "80%" # E.g., cs4237B + unmute_and_set_level "Playback" "80%" + unmute_and_set_level "Headphone" "100%" + unmute_and_set_level "PCM" "80%" + unmute_and_set_level "PCM,1" "80%" # E.g., ess1969 + unmute_and_set_level "DAC" "80%" # E.g., envy24, cs46xx + unmute_and_set_level "DAC,0" "80%" # E.g., envy24 + unmute_and_set_level "DAC,1" "80%" # E.g., envy24 + unmute_and_set_level "Synth" "80%" + unmute_and_set_level "CD" "80%" + unmute_and_set_level "PC Speaker" "100%" + + mute_and_zero_level "Mic" + mute_and_zero_level "IEC958" # Ubuntu #19648 + + # Intel P4P800-MX + switch_control "Master Playback Switch" on + switch_control "Master Surround" on + + # Trident/YMFPCI/emu10k1: + unmute_and_set_level "Wave" "80%" + unmute_and_set_level "Music" "80%" + unmute_and_set_level "AC97" "80%" + + # DRC: + unmute_and_set_level "Dynamic Range Compression" "80%" + + # Required for HDA Intel (hda-intel): + unmute_and_set_level "Front" "80%" + + # Required for SB Live 7.1/24-bit (ca0106): + unmute_and_set_level "Analog Front" "80%" + + # Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard + switch_control "IEC958 Capture Monitor" off + + # Required for hardware allowing toggles for AC97 through IEC958, + # valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1. + unmute_and_set_level "IEC958 Playback AC97-SPSA" "0" + + # Required for newer Via hardware + unmute_and_set_level "VIA DXS,0" "80%" + unmute_and_set_level "VIA DXS,1" "80%" + unmute_and_set_level "VIA DXS,2" "80%" + unmute_and_set_level "VIA DXS,3" "80%" + + # Required on some notebooks with ICH4: + switch_control "Headphone Jack Sense" off + switch_control "Line Jack Sense" off + + # Some machines need one or more of these to be on; + # others need one or more of these to be off: + # + # switch_control "External Amplifier" on + switch_control "Audigy Analog/Digital Output Jack" on + switch_control "SB Live Analog/Digital Output Jack" on + + # D1984 -- Thinkpad T61/X61 + switch_control "Speaker" on + switch_control "Headphone" on + + # HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823) + unmute_and_set_level "Digital" "80%" + + return 0 +} + +# $1 | "all" +sanify_levels() +{ + TTSDML_RETURNSTATUS=0 + case "$1" in + all) + for CARD in $(echo_card_indices) ; do + sanify_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 + done + ;; + *) + sanify_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 + ;; + esac + return $TTSDML_RETURNSTATUS +} + +# $1 +preinit_levels_on_card() +{ + CARDOPT="-c $1" + + # Silly dance to activate internal speakers by default on PowerMac + # Snapper and Tumbler + id=`cat /proc/asound/card$1/id 2>/dev/null` + if [ "$id" = "Snapper" -o "$id" = "Tumbler" ]; then + switch_control "Auto Mute" off + switch_control "PC Speaker" off + switch_control "Auto Mute" on + fi +} + +# $1 | "all" +preinit_levels() +{ + TTSDML_RETURNSTATUS=0 + case "$1" in + all) + for CARD in $(echo_card_indices) ; do + preinit_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 + done + ;; + *) + preinit_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 + ;; + esac + return $TTSDML_RETURNSTATUS +} + +# End copied code. + +# List all cards that *should* be usable for PCM audio. In my experience, +# the console speaker (handled by the pcsp driver) isn't a suitable playback +# device, so we'll exclude it. +list_non_pcsp_cards() +{ + for card in $(echo_card_indices); do + local cardfile="/proc/asound/card${card}/id" + if [ -r "$cardfile" -a -f "$cardfile" ] && \ + [ "$(cat "$cardfile")" != pcsp ]; then + echo "$card" + fi + done +} diff --git a/configs/talkingparabola/aitab b/configs/talkingparabola/aitab deleted file mode 100644 index b7e9a17..0000000 --- a/configs/talkingparabola/aitab +++ /dev/null @@ -1,3 +0,0 @@ -# -root-image / i686 xz ext4 50% -root-image / x86_64 xz ext4 50% diff --git a/configs/talkingparabola/build.sh b/configs/talkingparabola/build.sh index 80caa2c..7432e6e 100755 --- a/configs/talkingparabola/build.sh +++ b/configs/talkingparabola/build.sh @@ -8,13 +8,19 @@ iso_version=$(date +%Y.%m.%d) install_dir=parabola work_dir=work out_dir=out -data_dir=/usr/share/parabolaiso/data +gpg_key= arch=$(uname -m) verbose="" -pacman_conf=${work_dir}/pacman.conf script_path=$(readlink -f ${0%/*}) -initcpio_dir=${script_path}/../../parabolaiso/initcpio + +# Init system. Options are: +# - openrc +# - runit +# - systemd +# +# Default is systemd +init=systemd _usage () { @@ -46,56 +52,76 @@ run_once() { fi } -# Setup custom pacman.conf with current cache directories. +# Setup custom pacman.conf with current cache directories and custom mirrorlist. 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} + sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${_cache_dirs[@]})|g" ${script_path}/pacman.conf > ${work_dir}/pacman.conf } -# Base installation, plus needed packages (root-image) +# Base installation, plus needed packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" init + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -i "${init}" -p "haveged memtest86+ mkinitcpio-nfs-utils nbd zsh" install } -# Additional packages (root-image) +# Additional packages (airootfs) 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 + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "$(grep -h -v ^# ${script_path}/packages.{both,${arch}})" install +} + +# Needed packages for x86_64 EFI boot +make_packages_efi() { + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -p "efitools" install } -# Copy mkinitcpio parabolaiso hooks and build initramfs (root-image) +# Copy mkinitcpio parabolaiso hooks and build initramfs (airootfs) make_setup_mkinitcpio() { local _hook + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + mkdir -p ${work_dir}/${arch}/airootfs/etc/initcpio/install for _hook in parabolaiso parabolaiso_shutdown parabolaiso_pxe_common parabolaiso_pxe_nbd parabolaiso_pxe_http parabolaiso_pxe_nfs parabolaiso_loop_mnt; do - cp ${initcpio_dir}/hooks/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/hooks - cp ${initcpio_dir}/install/${_hook} ${work_dir}/${arch}/root-image/usr/lib/initcpio/install + cp /usr/lib/initcpio/hooks/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/hooks + cp /usr/lib/initcpio/install/${_hook} ${work_dir}/${arch}/airootfs/etc/initcpio/install done - cp ${initcpio_dir}/install/parabolaiso_kms ${work_dir}/${arch}/root-image/usr/lib/initcpio/install - cp ${initcpio_dir}/hooks/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 + sed -i "s|/usr/lib/initcpio/|/etc/initcpio/|g" ${work_dir}/${arch}/airootfs/etc/initcpio/install/parabolaiso_shutdown + cp /usr/lib/initcpio/install/parabolaiso_kms ${work_dir}/${arch}/airootfs/etc/initcpio/install + cp /usr/lib/initcpio/parabolaiso_shutdown ${work_dir}/${arch}/airootfs/etc/initcpio + cp ${script_path}/mkinitcpio.conf ${work_dir}/${arch}/airootfs/etc/mkinitcpio-parabolaiso.conf + gnupg_fd= + if [[ ${gpg_key} ]]; then + gpg --export ${gpg_key} >${work_dir}/gpgkey + exec 17<>${work_dir}/gpgkey + fi + PARABOLAISO_GNUPG_FD=${gpg_key:+17} setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r 'mkinitcpio -c /etc/mkinitcpio-parabolaiso.conf -k /boot/vmlinuz-linux-libre -g /boot/parabolaiso.img' run + if [[ ${gpg_key} ]]; then + exec 17<&- + fi } -# Customize installation (root-image) -make_customize_root_image() { - cp -af ${script_path}/root-image ${work_dir}/${arch} +# Customize installation (airootfs) +make_customize_airootfs() { + cp -af ${script_path}/airootfs ${work_dir}/${arch} + + curl -o ${work_dir}/${arch}/airootfs/etc/pacman.d/mirrorlist 'https://www.parabola.nu/mirrorlist/?country=all&protocol=http&use_mirror_status=on' - iso_version="${iso_version}" 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 + lynx -dump -nolist 'https://wiki.parabola.nu/index.php/Installation_Guide?action=render' >> ${work_dir}/${arch}/airootfs/root/install.txt + + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}/${arch}" -C "${work_dir}/pacman.conf" -D "${install_dir}" -r '/root/customize_airootfs.sh' run + rm ${work_dir}/${arch}/airootfs/root/customize_airootfs.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 + cp ${work_dir}/${arch}/airootfs/boot/parabolaiso.img ${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img + cp ${work_dir}/${arch}/airootfs/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 + cp ${work_dir}/${arch}/airootfs/boot/memtest86+/memtest.bin ${work_dir}/iso/${install_dir}/boot/memtest + cp ${work_dir}/${arch}/airootfs/usr/share/licenses/common/GPL2/license.txt ${work_dir}/iso/${install_dir}/boot/memtest.COPYING } # Prepare /${install_dir}/boot/syslinux @@ -106,27 +132,30 @@ make_syslinux() { 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/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/memdisk ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/*.c32 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/lpxelinux.0 ${work_dir}/iso/${install_dir}/boot/syslinux + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/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/*-gnu-*/modules.alias > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/modalias.gz + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/share/hwdata/pci.ids > ${work_dir}/iso/${install_dir}/boot/syslinux/hdt/pciids.gz + gzip -c -9 ${work_dir}/${arch}/airootfs/usr/lib/modules/*-gnu-*/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/bios/isolinux.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ - cp ${work_dir}/${arch}/root-image/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isolinux.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin ${work_dir}/iso/isolinux/ + cp ${work_dir}/${arch}/airootfs/usr/lib/syslinux/bios/ldlinux.c32 ${work_dir}/iso/isolinux/ } # Prepare /EFI make_efi() { mkdir -p ${work_dir}/iso/EFI/boot - cp ${work_dir}/x86_64/root-image/usr/lib/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/iso/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/iso/EFI/boot/ + + cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.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/ @@ -137,17 +166,17 @@ make_efi() { 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 ) - 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 ) - cp ${data_dir}/Shell_Full.efi ${work_dir}/iso/EFI/shellx64_v1.efi + # EFI Shell 2.0 for UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v2.efi https://raw.githubusercontent.com/tianocore/edk2/master/ShellBinPkg/UefiShell/X64/Shell.efi + # EFI Shell 1.0 for non UEFI 2.3+ + curl -o ${work_dir}/iso/EFI/shellx64_v1.efi https://raw.githubusercontent.com/tianocore/edk2/master/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 38M ${work_dir}/iso/EFI/parabolaiso/efiboot.img - mkfs.vfat -n PARABOLAISO_EFI ${work_dir}/iso/EFI/parabolaiso/efiboot.img + truncate -s 64M ${work_dir}/iso/EFI/parabolaiso/efiboot.img + mkfs.fat -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 @@ -157,7 +186,10 @@ 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/systemd/boot/efi/systemd-bootx64.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/PreLoader.efi ${work_dir}/efiboot/EFI/boot/bootx64.efi + cp ${work_dir}/x86_64/airootfs/usr/share/efitools/efi/HashTool.efi ${work_dir}/efiboot/EFI/boot/ + + cp ${work_dir}/x86_64/airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.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/ @@ -171,27 +203,20 @@ make_efiboot() { 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 + umount -d ${work_dir}/efiboot } -# Build all filesystem images specified in aitab (.fs.sfs .sfs) +# Build airootfs filesystem image make_prepare() { - cp -a -l -f ${work_dir}/${arch}/root-image ${work_dir} + cp -a -l -f ${work_dir}/${arch}/airootfs ${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) + setarch ${arch} mkparabolaiso ${verbose} -w "${work_dir}" -D "${install_dir}" ${gpg_key:+-g ${gpg_key}} prepare + rm -rf ${work_dir}/airootfs + # rm -rf ${work_dir}/${arch}/airootfs (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" } @@ -205,7 +230,7 @@ if [[ ${arch} != x86_64 ]]; then _usage 1 fi -while getopts 'N:V:L:D:w:o:vh' arg; do +while getopts 'N:V:L:D:w:o:g:vh' arg; do case "${arg}" in N) iso_name="${OPTARG}" ;; V) iso_version="${OPTARG}" ;; @@ -213,6 +238,7 @@ while getopts 'N:V:L:D:w:o:vh' arg; do D) install_dir="${OPTARG}" ;; w) work_dir="${OPTARG}" ;; o) out_dir="${OPTARG}" ;; + g) gpg_key="${OPTARG}" ;; v) verbose="-v" ;; h) _usage 0 ;; *) @@ -226,12 +252,17 @@ mkdir -p ${work_dir} run_once make_pacman_conf -# Do all stuff for each root-image +# Do all stuff for each airootfs for arch in i686 x86_64; do run_once make_basefs run_once make_packages +done + +run_once make_packages_efi + +for arch in i686 x86_64; do run_once make_setup_mkinitcpio - run_once make_customize_root_image + run_once make_customize_airootfs done for arch in i686 x86_64; do @@ -245,8 +276,6 @@ 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 diff --git a/configs/talkingparabola/mkinitcpio.conf b/configs/talkingparabola/mkinitcpio.conf index 1006d1d..9448579 100644 --- a/configs/talkingparabola/mkinitcpio.conf +++ b/configs/talkingparabola/mkinitcpio.conf @@ -1,2 +1,3 @@ -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" +MODULES="loop" +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/talkingparabola/root-image/etc/fstab b/configs/talkingparabola/root-image/etc/fstab deleted file mode 100644 index e69de29..0000000 diff --git a/configs/talkingparabola/root-image/etc/hostname b/configs/talkingparabola/root-image/etc/hostname deleted file mode 100644 index 8aaf41b..0000000 --- a/configs/talkingparabola/root-image/etc/hostname +++ /dev/null @@ -1 +0,0 @@ -parabolaiso diff --git a/configs/talkingparabola/root-image/etc/locale.conf b/configs/talkingparabola/root-image/etc/locale.conf deleted file mode 100644 index 01ec548..0000000 --- a/configs/talkingparabola/root-image/etc/locale.conf +++ /dev/null @@ -1 +0,0 @@ -LANG=en_US.UTF-8 diff --git a/configs/talkingparabola/root-image/etc/motd b/configs/talkingparabola/root-image/etc/motd deleted file mode 100644 index a126999..0000000 --- a/configs/talkingparabola/root-image/etc/motd +++ /dev/null @@ -1,14 +0,0 @@ - -=============================================================================== - - 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 function keys while holding Alt to switch virtual terminals. - This allows entering commands without closing lynx. - -=============================================================================== - diff --git a/configs/talkingparabola/root-image/etc/pam.d/su b/configs/talkingparabola/root-image/etc/pam.d/su deleted file mode 100644 index a291042..0000000 --- a/configs/talkingparabola/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/talkingparabola/root-image/etc/sudoers.d/g_wheel b/configs/talkingparabola/root-image/etc/sudoers.d/g_wheel deleted file mode 100644 index 8c45359..0000000 --- a/configs/talkingparabola/root-image/etc/sudoers.d/g_wheel +++ /dev/null @@ -1 +0,0 @@ -%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/configs/talkingparabola/root-image/etc/systemd/scripts/choose-mirror b/configs/talkingparabola/root-image/etc/systemd/scripts/choose-mirror deleted file mode 100755 index 13c9f69..0000000 --- a/configs/talkingparabola/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/talkingparabola/root-image/etc/systemd/system/choose-mirror.service b/configs/talkingparabola/root-image/etc/systemd/system/choose-mirror.service deleted file mode 100644 index 1e4d771..0000000 --- a/configs/talkingparabola/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/talkingparabola/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount b/configs/talkingparabola/root-image/etc/systemd/system/etc-pacman.d-gnupg.mount deleted file mode 100644 index 4eab551..0000000 --- a/configs/talkingparabola/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/talkingparabola/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf b/configs/talkingparabola/root-image/etc/systemd/system/getty@tty1.service.d/autologin.conf deleted file mode 100644 index d1d8474..0000000 --- a/configs/talkingparabola/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/talkingparabola/root-image/etc/systemd/system/livecd-alsa-unmuter.service b/configs/talkingparabola/root-image/etc/systemd/system/livecd-alsa-unmuter.service deleted file mode 100644 index e3b9073..0000000 --- a/configs/talkingparabola/root-image/etc/systemd/system/livecd-alsa-unmuter.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Unmute All Sound Card Controls For Use With The Live TalkingParabola Environment -# This needs to run after the audio device becomes available. -Wants=systemd-udev-settle.service -After=systemd-udev-settle.service sound.target -DefaultDependencies=no -Before=shutdown.target - -[Service] -Type=oneshot -ExecStart=/usr/bin/livecd-alsa-unmuter -StandardOutput=syslog - -[Install] -WantedBy=sound.target diff --git a/configs/talkingparabola/root-image/etc/systemd/system/pacman-init.service b/configs/talkingparabola/root-image/etc/systemd/system/pacman-init.service deleted file mode 100644 index 3414ebc..0000000 --- a/configs/talkingparabola/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/talkingparabola/root-image/etc/udev/rules.d/81-dhcpcd.rules b/configs/talkingparabola/root-image/etc/udev/rules.d/81-dhcpcd.rules deleted file mode 100644 index 970da69..0000000 --- a/configs/talkingparabola/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/talkingparabola/root-image/root/customize_root_image.sh b/configs/talkingparabola/root-image/root/customize_root_image.sh deleted file mode 100755 index 4ff8528..0000000 --- a/configs/talkingparabola/root-image/root/customize_root_image.sh +++ /dev/null @@ -1,22 +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 livecd-alsa-unmuter.service brltty.service - -sed -i "s/_DATE_/${iso_version}/" /etc/motd diff --git a/configs/talkingparabola/root-image/root/network.html b/configs/talkingparabola/root-image/root/network.html deleted file mode 100644 index 057e680..0000000 --- a/configs/talkingparabola/root-image/root/network.html +++ /dev/null @@ -1,191 +0,0 @@ -Online version: https://wiki.parabolagnulinux.org/Start_installing -

Contents

- -
-

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

-
# loadkeys layout
-
-

...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
-# export LANG=de_DE.UTF-8
-
-

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

-

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

-

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

-
# 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
-    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 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
-          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 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_name
-
-

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

-

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

First, identify the name of your wireless interface. -

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

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

-
# ip link set wlp3s0 up
-
-

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

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

-
# wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "ssid" "psk")
-
-

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

-
# dhcpcd wlp3s0
-
-

If that does not work, issue the following commands: -

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

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

- - - diff --git a/configs/talkingparabola/root-image/usr/bin/livecd-alsa-unmuter b/configs/talkingparabola/root-image/usr/bin/livecd-alsa-unmuter deleted file mode 100755 index 6de05a0..0000000 --- a/configs/talkingparabola/root-image/usr/bin/livecd-alsa-unmuter +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# Properly initialize the sound card so that we have audio at boot. -# This script is released under the GNU General Public License. -source /usr/share/livecd-sound/functions - -preinit_levels all -sanify_levels all diff --git a/configs/talkingparabola/root-image/usr/bin/pick-a-card b/configs/talkingparabola/root-image/usr/bin/pick-a-card deleted file mode 100755 index 7f469e8..0000000 --- a/configs/talkingparabola/root-image/usr/bin/pick-a-card +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -# If there are multiple usable sound cards, prompt the user to choose one, -# using auditory feedback. -# This script is released under the GNU General Public License. - -source /usr/share/livecd-sound/functions - -nwords() { - echo $# -} - -is_numeric() { - local str=$1 - expr match "$str" '[[:digit:]]\+$' > /dev/null 2>&1 -} - -set_default_card() { - local card=$1 - sed -e "s/%card%/$card/g" < /usr/share/livecd-sound/asound.conf.in \ - > /etc/asound.conf -} - -play_on_card() { - local card=$1 file=$2 - aplay "-Dplughw:$card,0" "$file" -} - -set -f -usable_cards="$(list_non_pcsp_cards)" -num_usable_cards=$(nwords $usable_cards) - -if [ "$num_usable_cards" -eq 1 ]; then - exit 0 -fi - -for card in $usable_cards; do - if ! is_numeric "$card"; then - continue - fi - play_on_card "$card" /usr/share/livecd-sound/sounds/pick-a-card.wav& -done -wait -sleep 1 -for card in $usable_cards; do - if ! is_numeric "$card"; then - continue - fi - play_on_card "$card" /usr/share/livecd-sound/sounds/beep.wav - if read -t 10; then - set_default_card "$card" - break - fi -done diff --git a/configs/talkingparabola/root-image/usr/bin/talk-to-me b/configs/talkingparabola/root-image/usr/bin/talk-to-me deleted file mode 100755 index 73998d8..0000000 --- a/configs/talkingparabola/root-image/usr/bin/talk-to-me +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -started_flag=/run/speech-is-running -if [ -f $started_flag ]; then - exit 0 -fi -systemctl stop espeakup -sleep 5 -pick-a-card -systemctl start espeakup -touch $started_flag diff --git a/configs/talkingparabola/root-image/usr/share/livecd-sound/asound.conf.in b/configs/talkingparabola/root-image/usr/share/livecd-sound/asound.conf.in deleted file mode 100644 index 851f829..0000000 --- a/configs/talkingparabola/root-image/usr/share/livecd-sound/asound.conf.in +++ /dev/null @@ -1,12 +0,0 @@ -pcm.!default { - type plug - slave.pcm { - type hw - card %card% - } -} - -ctl.!default { - type hw - card %card% -} diff --git a/configs/talkingparabola/root-image/usr/share/livecd-sound/functions b/configs/talkingparabola/root-image/usr/share/livecd-sound/functions deleted file mode 100644 index e517795..0000000 --- a/configs/talkingparabola/root-image/usr/share/livecd-sound/functions +++ /dev/null @@ -1,199 +0,0 @@ -# Functions for setting up sound on the live CD. -# This library is released under the GNU General Public License, -# and it incorporates code from the /etc/init.d/alsa-utils included with -# Ubuntu 8.04. Proper credit also goes to Debian. - -# Start code copied from Debian / Ubuntu: - -bugout () { - printf "/etc/rc.d/livecdsound: programming error" - stat_fail -} - -echo_card_indices() -{ - if [ -f /proc/asound/cards ] ; then - sed -n -e's/^[[:space:]]*\([0-7]\)[[:space:]].*/\1/p' /proc/asound/cards - fi -} - -filter_amixer_output() -{ - sed \ - -e '/Unable to find simple control/d' \ - -e '/Unknown playback setup/d' \ - -e '/^$/d' -} - -# The following functions try to set many controls. -# No card has all the controls and so some of the attempts are bound to fail. -# Because of this, the functions can't return useful status values. - -# $1 -# $2 -# $CARDOPT -unmute_and_set_level() -{ - { [ "$2" ] && [ "$CARDOPT" ] ; } || bugout - amixer $CARDOPT -q set "$1" "$2" unmute 2>&1 | filter_amixer_output || : - return 0 -} - -# $1 -# $CARDOPT -mute_and_zero_level() -{ - { [ "$1" ] && [ "$CARDOPT" ] ; } || bugout - amixer $CARDOPT -q set "$1" "0%" mute 2>&1 | filter_amixer_output || : - return 0 -} - -# $1 -# $2 "on" | "off" -# $CARDOPT -switch_control() -{ - { [ "$2" ] && [ "$CARDOPT" ] ; } || bugout - amixer $CARDOPT -q set "$1" "$2" 2>&1 | filter_amixer_output || : - return 0 -} - -# $1 -sanify_levels_on_card() -{ - CARDOPT="-c $1" - - unmute_and_set_level "Front" "80%" - unmute_and_set_level "Master" "80%" - unmute_and_set_level "Master Mono" "80%" - unmute_and_set_level "Master Digital" "80%" # E.g., cs4237B - unmute_and_set_level "Playback" "80%" - unmute_and_set_level "Headphone" "100%" - unmute_and_set_level "PCM" "80%" - unmute_and_set_level "PCM,1" "80%" # E.g., ess1969 - unmute_and_set_level "DAC" "80%" # E.g., envy24, cs46xx - unmute_and_set_level "DAC,0" "80%" # E.g., envy24 - unmute_and_set_level "DAC,1" "80%" # E.g., envy24 - unmute_and_set_level "Synth" "80%" - unmute_and_set_level "CD" "80%" - unmute_and_set_level "PC Speaker" "100%" - - mute_and_zero_level "Mic" - mute_and_zero_level "IEC958" # Ubuntu #19648 - - # Intel P4P800-MX - switch_control "Master Playback Switch" on - switch_control "Master Surround" on - - # Trident/YMFPCI/emu10k1: - unmute_and_set_level "Wave" "80%" - unmute_and_set_level "Music" "80%" - unmute_and_set_level "AC97" "80%" - - # DRC: - unmute_and_set_level "Dynamic Range Compression" "80%" - - # Required for HDA Intel (hda-intel): - unmute_and_set_level "Front" "80%" - - # Required for SB Live 7.1/24-bit (ca0106): - unmute_and_set_level "Analog Front" "80%" - - # Required at least for Via 823x hardware on DFI K8M800-MLVF Motherboard - switch_control "IEC958 Capture Monitor" off - - # Required for hardware allowing toggles for AC97 through IEC958, - # valid values are 0, 1, 2, 3. Needs to be set to 0 for PCM1. - unmute_and_set_level "IEC958 Playback AC97-SPSA" "0" - - # Required for newer Via hardware - unmute_and_set_level "VIA DXS,0" "80%" - unmute_and_set_level "VIA DXS,1" "80%" - unmute_and_set_level "VIA DXS,2" "80%" - unmute_and_set_level "VIA DXS,3" "80%" - - # Required on some notebooks with ICH4: - switch_control "Headphone Jack Sense" off - switch_control "Line Jack Sense" off - - # Some machines need one or more of these to be on; - # others need one or more of these to be off: - # - # switch_control "External Amplifier" on - switch_control "Audigy Analog/Digital Output Jack" on - switch_control "SB Live Analog/Digital Output Jack" on - - # D1984 -- Thinkpad T61/X61 - switch_control "Speaker" on - switch_control "Headphone" on - - # HDA-Intel w/ "Digital" capture mixer (See Ubuntu #193823) - unmute_and_set_level "Digital" "80%" - - return 0 -} - -# $1 | "all" -sanify_levels() -{ - TTSDML_RETURNSTATUS=0 - case "$1" in - all) - for CARD in $(echo_card_indices) ; do - sanify_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 - done - ;; - *) - sanify_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 - ;; - esac - return $TTSDML_RETURNSTATUS -} - -# $1 -preinit_levels_on_card() -{ - CARDOPT="-c $1" - - # Silly dance to activate internal speakers by default on PowerMac - # Snapper and Tumbler - id=`cat /proc/asound/card$1/id 2>/dev/null` - if [ "$id" = "Snapper" -o "$id" = "Tumbler" ]; then - switch_control "Auto Mute" off - switch_control "PC Speaker" off - switch_control "Auto Mute" on - fi -} - -# $1 | "all" -preinit_levels() -{ - TTSDML_RETURNSTATUS=0 - case "$1" in - all) - for CARD in $(echo_card_indices) ; do - preinit_levels_on_card "$CARD" || TTSDML_RETURNSTATUS=1 - done - ;; - *) - preinit_levels_on_card "$1" || TTSDML_RETURNSTATUS=1 - ;; - esac - return $TTSDML_RETURNSTATUS -} - -# End copied code. - -# List all cards that *should* be usable for PCM audio. In my experience, -# the console speaker (handled by the pcsp driver) isn't a suitable playback -# device, so we'll exclude it. -list_non_pcsp_cards() -{ - for card in $(echo_card_indices); do - local cardfile="/proc/asound/card${card}/id" - if [ -r "$cardfile" -a -f "$cardfile" ] && \ - [ "$(cat "$cardfile")" != pcsp ]; then - echo "$card" - fi - done -} -- cgit v1.2.2