From 3a6288aaf80c172c2559e7623bb314a7e5d96db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Wed, 18 May 2011 17:15:13 -0300 Subject: This is the one (I hope...) --- Makefile | 7 ++-- boot-files/syslinux/syslinux.cfg | 5 --- download-repo.sh | 2 +- instructions | 19 +++++----- mkinitcpio.conf | 2 +- overlay/etc/archiso/functions | 14 +++++-- overlay/etc/archiso/getshell | 9 ----- overlay/etc/fstab | 7 +--- overlay/etc/rc.conf | 33 ++++++++++------ overlay/etc/rc.d/archiso | 81 +++++++++++----------------------------- packages.x86_64 | 1 + 11 files changed, 72 insertions(+), 108 deletions(-) delete mode 100644 overlay/etc/archiso/getshell diff --git a/Makefile b/Makefile index 2bec1f8..383da58 100644 --- a/Makefile +++ b/Makefile @@ -7,8 +7,8 @@ APPLICATION="Parabola Live Medium" PACCONFIG="overlay/etc/pacman.conf" WORKDIR=work -INSTALL_DIR=arch -COMPRESS=gzip +INSTALL_DIR=libre +COMPRESS=xz ARCH?=$(shell uname -m) @@ -82,7 +82,8 @@ $(WORKDIR)/iso/$(INSTALL_DIR)/isomounts: isomounts root-image # Rule for make the [core] repo packages core-pkgs: - ./download-repo.sh core $(WORKDIR)/core-pkgs/src/core/pkg + mv core-pkgs $(WORKDIR)/ +# ./download-repo.sh core $(WORKDIR)/core-pkgs/src/core/pkg # Clean-up all work diff --git a/boot-files/syslinux/syslinux.cfg b/boot-files/syslinux/syslinux.cfg index 37929c2..0437e87 100644 --- a/boot-files/syslinux/syslinux.cfg +++ b/boot-files/syslinux/syslinux.cfg @@ -4,11 +4,6 @@ MENU TITLE Parabola GNU/Linux-libre MENU BACKGROUND /%INSTALL_DIR%/boot/splash.png TIMEOUT 3000 -# TODO: Replace these crappy messages with something useful -F1 boot.txt -F2 options.txt -F3 help.txt - MENU WIDTH 78 MENU MARGIN 4 MENU ROWS 5 diff --git a/download-repo.sh b/download-repo.sh index 0c06685..cd4fd88 100755 --- a/download-repo.sh +++ b/download-repo.sh @@ -58,7 +58,7 @@ if [ -n "$PKGS" ]; then fi done if [ "$REPO_CHANGED" = "y" ]; then - wget -nv "$baseurl/$REPO.db.tar.gz" -O "$DEST/$REPO.db.tar.gz" + wget -nv "$baseurl/$REPO.db" -O "$DEST/$REPO.db" fi else echo "No packages to download... what'd you break?" diff --git a/instructions b/instructions index 5998788..b549144 100644 --- a/instructions +++ b/instructions @@ -1,4 +1,4 @@ - Arch Linux + Parabola GNU/Linux-Libre Installation and Live-CDs ---------------------------- @@ -9,7 +9,7 @@ All iso files can also be written to hard disks/usbkeys. Flavors: -------- -Netinstall images are the preferred install media for Arch Linux. +Netinstall images are the preferred install media for Parabola. You can always get up to date packages using these media. Core images contain a snapshot of the core repository, which makes them ideal for offline installations when no Internet access is available @@ -21,16 +21,15 @@ an architecture at boot. How to obtain and use these installation images: ------------------------------------- Torrents are preferred (they are webseed enabled), but you can also just get the images -from an Arch mirror. +from a Parabola mirror. -The Official Arch Linux Install Guide gives you more info: - http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide +The Official Parabola Install Guide gives you more info: +http://wiki.parabolagnulinux.org/installation_guide More info / getting in touch: ---------------------------- -http://bugs.archlinux.org/ -http://mailman.archlinux.org/mailman/listinfo/arch-releng +http://bugs.parabolagnulinux.org/ +http://list.parabolagnulinux.org/listinfo.cgi/dev-parabolagnulinux.org +irc://irc.freenode.net/#parabola -Happy installing! -Happy ARCHing! -- Arch Linux Release Engineering team +Happy hacking! diff --git a/mkinitcpio.conf b/mkinitcpio.conf index f5f8c79..aea436d 100644 --- a/mkinitcpio.conf +++ b/mkinitcpio.conf @@ -3,4 +3,4 @@ MODULES="" BINARIES="" FILES="" HOOKS="base udev memdisk archiso archiso_pxe_nbd archiso_loop_mnt pata scsi sata usb fw pcmcia filesystems usbinput" -COMPRESSION="lzma" +COMPRESSION="xz" diff --git a/overlay/etc/archiso/functions b/overlay/etc/archiso/functions index fdd48f4..9fffdcb 100644 --- a/overlay/etc/archiso/functions +++ b/overlay/etc/archiso/functions @@ -1,12 +1,20 @@ # vim: set ft=sh: -cmdline_param () +# kernel_cmdline +# Looks for a parameter on the kernel's boot-time command line. +# +# returns: 0 if param was found. Also prints its value if it was a K=V param. +# 1 if it was not. Also prints value passed as +# +kernel_cmdline () { - for param in ${CMDLINE}; do + for param in $(/bin/cat /proc/cmdline); do case "${param}" in - $1=*) echo "${param##*=}"; return ;; + $1=*) echo "${param##*=}"; return 0 ;; + $1) return 0 ;; *) continue ;; esac done [ -n "${2}" ] && echo "${2}" + return 1 } diff --git a/overlay/etc/archiso/getshell b/overlay/etc/archiso/getshell deleted file mode 100644 index a6f8775..0000000 --- a/overlay/etc/archiso/getshell +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -. /etc/archiso/functions - -shell="$(cmdline_param shell)" -[ -n "${shell}" ] && shell="/bin/bash" -[ ! -e "${shell}" ] && shell="/bin/sh" - -exec ${shell} diff --git a/overlay/etc/fstab b/overlay/etc/fstab index 3c43a5e..dd7d9bb 100644 --- a/overlay/etc/fstab +++ b/overlay/etc/fstab @@ -1,7 +1,4 @@ # /etc/fstab: static file system information +# # -aufs / aufs noauto 0 0 -none /dev/pts devpts defaults 0 0 -none /dev/shm tmpfs defaults 0 0 - -### Auto generated entries get added here: +union / auto noauto 0 0 diff --git a/overlay/etc/rc.conf b/overlay/etc/rc.conf index 3893268..f6fc65e 100644 --- a/overlay/etc/rc.conf +++ b/overlay/etc/rc.conf @@ -4,22 +4,33 @@ . /etc/archiso/functions LOCALE_DEFAULT="en_US.UTF-8" -CLOCK_DEFAULT="" -TIMEZONE_DEFAULT="" +DAEMON_LOCALE_DEFAULT="no" +CLOCK_DEFAULT="UTC" +TIMEZONE_DEFAULT="Canada/Pacific" KEYMAP_DEFAULT="us" +CONSOLEFONT_DEFAULT= +CONSOLEMAP_DEFAULT= +USECOLOR_DEFAULT="yes" +VERBOSE_DEFAULT="3" -LOCALE="$(cmdline_param locale ${LOCALE_DEFAULT})" -HARDWARECLOCK="$(cmdline_param clock ${CLOCK_DEFAULT})" -TIMEZONE="$(cmdline_param timezone ${TIMEZONE_DEFAULT})" -KEYMAP="$(cmdline_param keymap ${KEYMAP_DEFAULT})" -CONSOLEFONT="$(cmdline_param consolefont)" -CONSOLEMAP="$(cmdline_param consolemap)" -USECOLOR="yes" +LOCALE="$(kernel_cmdline locale ${LOCALE_DEFAULT})" +DAEMON_LOCALE="$(kernel_cmdline daemon_locale ${DAEMON_LOCALE_DEFAULT})" +HARDWARECLOCK="$(kernel_cmdline clock ${CLOCK_DEFAULT})" +TIMEZONE="$(kernel_cmdline timezone ${TIMEZONE_DEFAULT})" +KEYMAP="$(kernel_cmdline keymap ${KEYMAP_DEFAULT})" +CONSOLEFONT="$(kernel_cmdline consolefont ${CONSOLEFONT_DEFAULT})" +CONSOLEMAP="$(kernel_cmdline consolemap ${CONSOLEMAP_DEFAULT})" +USECOLOR="$(kernel_cmdline usecolor ${USECOLOR_DEFAULT})" +VERBOSE="$(kernel_cmdline verbose ${VERBOSE_DEFAULT})" MOD_AUTOLOAD="yes" +MODULES=() + +UDEV_TIMEOUT=30 +USEDMRAID="no" +USEBTRFS="no" +USELVM="no" HOSTNAME="libreiso" -#TODO add more auto-daemons here, especially the live-cd specific stuff -DAEMONS=(syslog-ng network archiso) #TODO: auto-network find-disks find-user-home diff --git a/overlay/etc/rc.d/archiso b/overlay/etc/rc.d/archiso index 3355737..1d4443c 100755 --- a/overlay/etc/rc.d/archiso +++ b/overlay/etc/rc.d/archiso @@ -1,66 +1,6 @@ # vim: set ft=sh: . /etc/rc.conf . /etc/rc.d/functions -. /etc/archiso/functions - - -scan_network () -{ - netparam () { echo ${2} | sed "s|.*${1}\([^ ]*\).*|\1|gi"; } - # - netdevs=$(cat /proc/net/dev | grep ':' | cut -d':' -f1) - for net in ${netdev}; do - stats=$(ifconfig ${net} | tr -s "\n" " ") - done -} - -scan_mount_pts () -{ - #iterate over all block devices - stat_busy "Scanning local block devices" - for dev in $(echo /sys/block/*/dev /sys/block/*/*/dev); do - - devname="/dev/$(echo ${dev} | cut -d'/' -f3,4 | cut -d'/' -f1)" - mountpt="/mnt/$(basename '${devname}')" - mkdir -p "${mountpt}" 2>/dev/null - mount ${options} "${devname}" "${mountpt}" >/dev/null 2>&1 - - fstype=$(awk '{ if ($1=="${devname}") { print $3" "$4;q }}' /proc/mounts) - fstype="${fstype%%,*}" - case "${fstype%% *}" in - *fat*|ntfs|*dos) options="user,exec,uid=0,gid=100,umask=00070" ;; - *) options="users,defaults,exec" ;; - #TODO handle 'sync' on usb devices... - esac - - echo "${devname} ${mountpt} ${fstype} ${options} 0 0 #configured by archiso" >>/etc/fstab - done - stat_done -} - -scan_swap () -{ - #Archie finds a pagefile.sys for windows/dos machines... may add later - stat_busy "Finding existing swap partitions" - swapdev="$(fdisk -l 2>/dev/null | grep swap | cut -d' ' -f1)" - if [ -e "${swapdev}" ]; then - swapon ${swapdev} - echo "${swapdev} swap swap defaults 0 0 #configured by archiso" >>/etc/fstab - fi - stat_done -} - -do_homedir () -{ - stat_busy "Scanning for existing HOME directory" - user="$(cmdline_param homeuser)" - for hdir in $(find /mnt -name "home/${user}" 2>/dev/null); do - mkdir -p "/home/libre/" - # break after the first success... - mount --bind "${hdir}" "/home/libre/" && break - done - stat_done -} do_makeuser () { @@ -86,11 +26,32 @@ do_fix_perms () stat_done } +# If an alternate console was specified on the kernel command line, +# start agetty on it too. +do_special_console() +{ + cmdline_console="$(kernel_cmdline console)" + [ $? -ne 0 ] && return + + dev="${cmdline_console%%,*}" + args="${cmdline_console##*,}" + baud="${args%%[neo]*}" && baud="${baud:-"9600"}" + [ "x${args}" != "x${args%%r}" ] && rts="-h" + + + stat_busy "Starting agetty on console: ${cmdline_console}" + echo "${dev}" >> /etc/securetty + echo "z0:2345:respawn:/sbin/agetty ${rts} ${baud} ${dev} linux" >> /etc/inittab + /sbin/telinit q + stat_done +} + case "$1" in start) do_locale_gen do_makeuser do_fix_perms + do_special_console ;; esac exit 0 diff --git a/packages.x86_64 b/packages.x86_64 index f34f532..0a79879 100644 --- a/packages.x86_64 +++ b/packages.x86_64 @@ -5,6 +5,7 @@ btrfs-progs-unstable crda curl ddrescue +dhclient dialog dmraid dnsutils -- cgit v1.2.3