builds successfully. however, still working through some bugs with iPXE.
This commit is contained in:
@@ -58,8 +58,9 @@ ver =
|
||||
dev = r00t^2
|
||||
|
||||
; Your email address.
|
||||
; This is only used for the commit message if you enable
|
||||
; sync:git.
|
||||
; This is only used for commit messages (sync:git),
|
||||
; or GPG-signing the releases (see the associated build
|
||||
; section items).
|
||||
email = bts@square-r00t.net
|
||||
|
||||
; What this distribution/project is used for.
|
||||
@@ -196,6 +197,13 @@ gpgkey = 7F2D434B9741E8AC
|
||||
; 1.) The default is probably fine.
|
||||
gpgkeyserver = pgp.mit.edu
|
||||
|
||||
; Should we sign our release files? (See the GPG section)
|
||||
; 0.) Only accepts (case-insensitive):
|
||||
; yes|no
|
||||
; true|false
|
||||
; 1|0
|
||||
gpg = yes
|
||||
|
||||
; Where should we save the bootstrap tarballs?
|
||||
; 0.) No whitespace
|
||||
; 1.) Will be created if it doesn't exist
|
||||
@@ -263,7 +271,7 @@ multiarch = yes
|
||||
; true|false
|
||||
; 1|0
|
||||
; If it is undefined, it is assumed to be no.
|
||||
ipxe = yes
|
||||
ipxe =
|
||||
|
||||
; This option should only be enabled if you are on a fairly
|
||||
; powerful, multicore system with plenty of RAM. It will
|
||||
@@ -278,6 +286,30 @@ ipxe = yes
|
||||
i_am_a_racecar = yes
|
||||
|
||||
|
||||
#---------------------------------------------------------#
|
||||
# This section controls settings for signing our release
|
||||
# files. This is only used if build:gpg is
|
||||
# yes/true/etc.
|
||||
#---------------------------------------------------------#
|
||||
[gpg]
|
||||
|
||||
; What is a valid key ID that we should use to
|
||||
; *sign* our release files?
|
||||
; 0.) You will be prompted for a passphrase if your
|
||||
; key has one/you don't have an open gpg-agent
|
||||
; session.
|
||||
; 1.) If you leave this blank we will use the key
|
||||
; we generate automatically earlier in the build
|
||||
; process.
|
||||
; 2.) We will generate one if this is blank and you
|
||||
; have selected sign as yes.
|
||||
mygpgkey =
|
||||
|
||||
; What directory should we use for the above GPG key?
|
||||
; Make sure it contains your private key.
|
||||
mygpghome =
|
||||
|
||||
|
||||
#---------------------------------------------------------#
|
||||
# This section controls what we should do with the
|
||||
# resulting build and how to handle uploads, if we
|
||||
@@ -466,11 +498,11 @@ ssl_key = ${ssldir}/main.key
|
||||
[rsync]
|
||||
|
||||
; This is the rsync destination host.
|
||||
host = bdisk.square-r00t.net
|
||||
host =
|
||||
|
||||
; This is the remote user we should use when performing the
|
||||
; rsync push.
|
||||
user = root
|
||||
user =
|
||||
|
||||
; This is the remote destination path we should use for
|
||||
; pushing via rsync.
|
||||
@@ -479,4 +511,12 @@ user = root
|
||||
; 2.) The path MUST be writable by rsync:user
|
||||
; RECOMMENDED: you'll probably want to set http:(user|group)
|
||||
; to what it'll need to be on the destination.
|
||||
path = /srv/http/${bdisk:uxname}_ipxe
|
||||
path =
|
||||
|
||||
; Should we rsync over the ISO files too, or just the boot
|
||||
; files?
|
||||
; 0.) Only accepts (case-insensitive):
|
||||
; yes|no
|
||||
; true|false
|
||||
; 1|0
|
||||
iso = yes
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# Server list generated by rankmirrors on 2016-07-09
|
||||
Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
|
||||
Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch
|
||||
Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
|
||||
Server = http://mirrors.rutgers.edu/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
|
||||
Server = http://arch.mirrors.ionfish.org/$repo/os/$arch
|
||||
Server = http://mirror.metrocast.net/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch
|
||||
Server = http://arch.mirrors.pair.com/$repo/os/$arch
|
||||
Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch
|
||||
|
||||
@@ -15,7 +15,7 @@ BINARIES="/usr/bin/memdiskfind"
|
||||
# FILES
|
||||
# This setting is similar to BINARIES above, however, files are added
|
||||
# as-is and are not parsed in any way. This is useful for config files.
|
||||
FILES=""
|
||||
FILES="/usr/bin/pkill"
|
||||
|
||||
# HOOKS
|
||||
# This is the most important setting in this file. The HOOKS control the
|
||||
@@ -50,7 +50,9 @@ FILES=""
|
||||
# usr, fsck and shutdown hooks.
|
||||
#HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
|
||||
#HOOKS="base udev memdisk archiso_shutdown archiso modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
||||
HOOKS="base udev memdisk archiso_shutdown archiso-custom modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_http_custom archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
||||
#HOOKS="base udev memdisk archiso_shutdown archiso-custom modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_http_custom archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
||||
HOOKS="base udev memdisk archiso_shutdown archiso modconf net ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
||||
#HOOKS="base memdisk systemd archiso_shutdown archiso modconf ssh archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block pcmcia filesystems keyboard livecd"
|
||||
|
||||
# COMPRESSION
|
||||
# Use this to compress the initramfs image. By default, gzip compression
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch
|
||||
Server = http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
|
||||
Server = http://arch.mirrors.ionfish.org/$repo/os/$arch
|
||||
Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.metrocast.net/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.metrocast.net/archlinux/$repo/os/$arch
|
||||
Server = http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch
|
||||
Server = http://arch.mirrors.pair.com/$repo/os/$arch
|
||||
Server = http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
for i in pacman apacman;
|
||||
do
|
||||
if [ -f /usr/local/${i}.db.tar.xz ];
|
||||
if [ -f /usr/local/${i}/${i}.db.tar.xz ];
|
||||
then
|
||||
/usr/bin/tar -Jxf /usr/local/${i}.db.tar.xz -C /var/lib/${i}/
|
||||
/usr/bin/tar -Jxf /usr/local/${i}/${i}.db.tar.xz -C /var/lib/${i}/
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#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
|
||||
@@ -34,11 +35,11 @@ Color
|
||||
TotalDownload
|
||||
CheckSpace
|
||||
VerbosePkgLists
|
||||
#ILoveCandy
|
||||
|
||||
# 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 #RE-ENABLE ME WHEN A NEW SNAPSHOT IS RELEASED WITH FIXED GPG
|
||||
SigLevel = Never
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
@@ -89,7 +90,3 @@ Include = /etc/pacman.d/mirrorlist
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
||||
|
||||
#[archlinuxfr]
|
||||
#SigLevel = Never
|
||||
#Server = http://repo.archlinux.fr/$arch
|
||||
|
||||
@@ -45,6 +45,9 @@ pacman -Syy
|
||||
cleanPacorigs
|
||||
# Install some prereqs
|
||||
pacman -S --noconfirm --needed sed
|
||||
sed -i.bak -e 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf
|
||||
pacman -S --noconfirm --needed filesystem
|
||||
mv /etc/pacman.conf.bak /etc/pacman.conf
|
||||
pacman -S --noconfirm --needed base syslinux wget rsync unzip jshon sudo abs xmlto bc docbook-xsl git
|
||||
locale-gen
|
||||
# And get rid of files it wants to replace
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
# args: source, newroot, mountpoint
|
||||
_mnt_fs() {
|
||||
local img="${1}"
|
||||
local newroot="${2}"
|
||||
local mnt="${3}"
|
||||
local img_fullname="${img##*/}";
|
||||
local img_name="${img_fullname%%.*}"
|
||||
local dm_snap_name="${dm_snap_prefix}_${img_name}"
|
||||
local ro_dev ro_dev_size rw_dev
|
||||
|
||||
ro_dev=$(losetup --find --show --read-only "${img}")
|
||||
echo ${ro_dev} >> /run/archiso/used_block_devices
|
||||
ro_dev_size=$(blockdev --getsz ${ro_dev})
|
||||
|
||||
if [[ "${cow_persistent}" == "P" ]]; then
|
||||
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
|
||||
msg ":: Found '/run/archiso/cowspace/${cow_directory}/${img_name}.cow', using as persistent."
|
||||
else
|
||||
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as persistent."
|
||||
truncate -s "${cowfile_size}" "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
|
||||
fi
|
||||
else
|
||||
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
|
||||
msg ":: Found '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' but non-persistent requested, removing."
|
||||
rm -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
|
||||
fi
|
||||
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as non-persistent."
|
||||
truncate -s "${cowfile_size}" "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
|
||||
fi
|
||||
|
||||
rw_dev=$(losetup --find --show "/run/archiso/cowspace/${cow_directory}/${img_name}.cow")
|
||||
echo ${rw_dev} >> /run/archiso/used_block_devices
|
||||
|
||||
dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} 8"
|
||||
|
||||
_mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w"
|
||||
echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/archiso/used_block_devices
|
||||
}
|
||||
|
||||
# args: /path/to/image_file, mountpoint
|
||||
_mnt_sfs() {
|
||||
local img="${1}"
|
||||
local mnt="${2}"
|
||||
local img_fullname="${img##*/}"
|
||||
local sfs_dev
|
||||
|
||||
if [[ "${copytoram}" == "y" ]]; then
|
||||
msg -n ":: Copying squashfs image to RAM..."
|
||||
#if ! cp "${img}" "/run/archiso/copytoram/${img_fullname}" ; then
|
||||
if ! pv -pterabT "${img}" > "/run/archiso/copytoram/${img_fullname}" ; then
|
||||
echo "ERROR: while copy '${img}' to '/run/archiso/copytoram/${img_fullname}'"
|
||||
launch_interactive_shell
|
||||
fi
|
||||
img="/run/archiso/copytoram/${img_fullname}"
|
||||
msg "done."
|
||||
fi
|
||||
sfs_dev=$(losetup --find --show --read-only "${img}")
|
||||
echo ${sfs_dev} >> /run/archiso/used_block_devices
|
||||
_mnt_dev "${sfs_dev}" "${mnt}" "-r"
|
||||
}
|
||||
|
||||
# args: device, mountpoint, flags
|
||||
_mnt_dev() {
|
||||
local dev="${1}"
|
||||
local mnt="${2}"
|
||||
local flg="${3}"
|
||||
|
||||
mkdir -p "${mnt}"
|
||||
|
||||
msg ":: Mounting '${dev}' to '${mnt}'"
|
||||
|
||||
while ! poll_device "${dev}" 30; do
|
||||
echo "ERROR: '${dev}' device did not show up after 30 seconds..."
|
||||
echo " Falling back to interactive prompt"
|
||||
echo " You can try to fix the problem manually, log out when you are finished"
|
||||
launch_interactive_shell
|
||||
done
|
||||
|
||||
if mount "${flg}" "${dev}" "${mnt}"; then
|
||||
msg ":: Device '${dev}' mounted successfully."
|
||||
else
|
||||
echo "ERROR; Failed to mount '${dev}'"
|
||||
echo " Falling back to interactive prompt"
|
||||
echo " You can try to fix the problem manually, log out when you are finished"
|
||||
launch_interactive_shell
|
||||
fi
|
||||
}
|
||||
|
||||
_verify_checksum() {
|
||||
local _status
|
||||
cd "/run/archiso/bootmnt/${archisobasedir}/${arch}"
|
||||
md5sum -c airootfs.md5 > /tmp/checksum.log 2>&1
|
||||
_status=$?
|
||||
cd "${OLDPWD}"
|
||||
return ${_status}
|
||||
}
|
||||
|
||||
run_hook() {
|
||||
[[ -z "${arch}" ]] && arch="$(uname -m)"
|
||||
[[ -z "${cowspace_size}" ]] && cowspace_size="75%"
|
||||
[[ -z "${copytoram_size}" ]] && copytoram_size="75%"
|
||||
[[ -z "${archisobasedir}" ]] && archisobasedir="arch"
|
||||
[[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch"
|
||||
[[ -z "${archisodevice}" ]] && archisodevice="/dev/disk/by-label/${archisolabel}"
|
||||
if [[ -z "${cowfile_size}" ]]; then
|
||||
cowfile_size="256M"
|
||||
fi
|
||||
|
||||
if [[ -n "${cow_label}" ]]; then
|
||||
cow_device="/dev/disk/by-label/${cow_label}"
|
||||
[[ -z "${cow_persistent}" ]] && cow_persistent="P"
|
||||
elif [[ -n "${cow_device}" ]]; then
|
||||
[[ -z "${cow_persistent}" ]] && cow_persistent="P"
|
||||
else
|
||||
cow_persistent="N"
|
||||
fi
|
||||
|
||||
[[ -z "${cow_directory}" ]] && cow_directory="persistent_${archisolabel}/${arch}"
|
||||
|
||||
# set mount handler for archiso
|
||||
mount_handler="archiso_mount_handler"
|
||||
}
|
||||
|
||||
# This function is called normally from init script, but it can be called
|
||||
# as chain from other mount handlers.
|
||||
# args: /path/to/newroot
|
||||
archiso_mount_handler() {
|
||||
local newroot="${1}"
|
||||
|
||||
if ! mountpoint -q "/run/archiso/bootmnt"; then
|
||||
_mnt_dev "${archisodevice}" "/run/archiso/bootmnt" "-r"
|
||||
if [[ "${copytoram}" != "y" ]]; then
|
||||
echo $(readlink -f ${archisodevice}) >> /run/archiso/used_block_devices
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${checksum}" == "y" ]]; then
|
||||
if [[ -f "/run/archiso/bootmnt/${archisobasedir}/${arch}/airootfs.md5" ]]; then
|
||||
msg -n ":: Self-test requested, please wait..."
|
||||
if _verify_checksum; then
|
||||
msg "done. Checksum is OK, continue booting."
|
||||
else
|
||||
echo "ERROR: one or more files are corrupted"
|
||||
echo "see /tmp/checksum.log for details"
|
||||
launch_interactive_shell
|
||||
fi
|
||||
else
|
||||
echo "ERROR: checksum=y option specified but ${archisobasedir}/${arch}/airootfs.md5 not found"
|
||||
launch_interactive_shell
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${copytoram}" == "y" ]]; then
|
||||
msg ":: Mounting /run/archiso/copytoram (tmpfs) filesystem, size=${copytoram_size}"
|
||||
mkdir -p /run/archiso/copytoram
|
||||
mount -t tmpfs -o "size=${copytoram_size}",mode=0755 copytoram /run/archiso/copytoram
|
||||
fi
|
||||
|
||||
if [[ -n "${cow_device}" ]]; then
|
||||
_mnt_dev "${cow_device}" "/run/archiso/cowspace" "-r"
|
||||
echo $(readlink -f ${cow_device}) >> /run/archiso/used_block_devices
|
||||
mount -o remount,rw "/run/archiso/cowspace"
|
||||
else
|
||||
msg ":: Mounting /run/archiso/cowspace (tmpfs) filesystem, size=${cowspace_size}..."
|
||||
mkdir -p /run/archiso/cowspace
|
||||
mount -t tmpfs -o "size=${cowspace_size}",mode=0755 cowspace /run/archiso/cowspace
|
||||
fi
|
||||
mkdir -p "/run/archiso/cowspace/${cow_directory}"
|
||||
|
||||
_mnt_sfs "/run/archiso/bootmnt/${archisobasedir}/${arch}/airootfs.sfs" "/run/archiso/sfs/airootfs"
|
||||
#_mnt_fs "/run/archiso/sfs/airootfs/airootfs.img" "${newroot}" "/"
|
||||
mount --bind "/run/archiso/sfs/airootfs" "/new_root"
|
||||
|
||||
if [[ "${copytoram}" == "y" ]]; then
|
||||
umount /run/archiso/bootmnt
|
||||
fi
|
||||
}
|
||||
|
||||
# vim:ft=sh:ts=4:sw=4:et:
|
||||
@@ -1,49 +0,0 @@
|
||||
# vim: set ft=sh:
|
||||
|
||||
run_hook() {
|
||||
if [[ -n "${ip}" && -n "${archiso_http_srv}" ]]; then
|
||||
|
||||
archiso_http_srv=$(eval echo ${archiso_http_srv})
|
||||
[[ -z "${archiso_http_spc}" ]] && archiso_http_spc="75%"
|
||||
|
||||
mount_handler="archiso_pxe_http_mount_handler"
|
||||
fi
|
||||
}
|
||||
|
||||
# Fetch a file with CURL
|
||||
#
|
||||
# $1 URL
|
||||
# $2 Destination directory inside httpspace/${archisobasedir}
|
||||
_curl_get() {
|
||||
local _url="${1}"
|
||||
local _dst="${2}"
|
||||
|
||||
msg ":: Downloading image"
|
||||
if ! curl -L -f -o "/run/archiso/httpspace/${archisobasedir}${_dst}/${_url##*/}" --create-dirs "${_url}"; then
|
||||
echo "ERROR: Downloading failed."
|
||||
#echo " Falling back to interactive prompt"
|
||||
#echo " You can try to fix the problem manually, log out when you are finished"
|
||||
#launch_interactive_shell
|
||||
sleep 4
|
||||
reboot -f
|
||||
fi
|
||||
}
|
||||
|
||||
archiso_pxe_http_mount_handler () {
|
||||
newroot="${1}"
|
||||
|
||||
msg ":: Mounting /run/archiso/httpspace (tmpfs) filesystem, size='${archiso_http_spc}'"
|
||||
mkdir -p "/run/archiso/httpspace"
|
||||
mount -t tmpfs -o size="${archiso_http_spc}",mode=0755 httpspace "/run/archiso/httpspace"
|
||||
|
||||
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.sfs" "/${arch}"
|
||||
|
||||
if [[ "${checksum}" == "y" ]]; then
|
||||
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.md5" "/${arch}"
|
||||
fi
|
||||
|
||||
mkdir -p "/run/archiso/bootmnt"
|
||||
mount -o bind /run/archiso/httpspace /run/archiso/bootmnt
|
||||
|
||||
archiso_mount_handler ${newroot}
|
||||
}
|
||||
@@ -1,18 +1,7 @@
|
||||
# vim: set ft=sh:
|
||||
|
||||
run_cleanuphook () {
|
||||
msg ":: Mounting OverlayFS on / with tmpfs=rw, ${root}=ro ..."
|
||||
modprobe overlay
|
||||
msg ":: Adding SSL and SSH support..."
|
||||
|
||||
echo "Now attempting overlay mount..."
|
||||
|
||||
#mkdir /new_root.hw
|
||||
mkdir -p /run/archiso/cowspace/upperdir /run/archiso/cowspace/workdir
|
||||
#mount --move /new_root /new_root.hw
|
||||
#mkdir /dev/shm
|
||||
#mount -t tmpfs none /dev/shm
|
||||
#mount -t overlay overlay -olowerdir=/new_root.hw,upperdir=/new_root,workdir=/dev/shm -o noatime
|
||||
umount -l /new_root > /dev/null 2>&1
|
||||
mount -t overlay -o lowerdir=/run/archiso/sfs/airootfs,upperdir=/run/archiso/cowspace/upperdir,workdir=/run/archiso/cowspace/workdir airootfs /new_root
|
||||
pkill -9 dropbear #kill SSH (in preparation for the live system starting ssh on port 22
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
build() {
|
||||
add_module "cdrom"
|
||||
add_module "loop"
|
||||
add_module "dm-snapshot"
|
||||
|
||||
add_runscript
|
||||
|
||||
add_binary /usr/lib/udev/cdrom_id
|
||||
add_binary blockdev
|
||||
add_binary dmsetup
|
||||
add_binary losetup
|
||||
add_binary mountpoint
|
||||
add_binary truncate
|
||||
add_binary pv
|
||||
|
||||
add_file /usr/lib/udev/rules.d/60-cdrom_id.rules
|
||||
add_file /usr/lib/udev/rules.d/10-dm.rules
|
||||
add_file /usr/lib/udev/rules.d/95-dm-notify.rules
|
||||
add_file /usr/lib/initcpio/udev/11-dm-initramfs.rules /usr/lib/udev/rules.d/11-dm-initramfs.rules
|
||||
}
|
||||
|
||||
# vim: set ft=sh ts=4 sw=4 et:
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
build() {
|
||||
add_runscript
|
||||
|
||||
add_binary curl
|
||||
|
||||
add_full_dir /etc/ssl
|
||||
add_full_dir /etc/ca-certificates
|
||||
}
|
||||
|
||||
help() {
|
||||
cat<<HELPEOF
|
||||
This hook loads the necessary modules for boot via PXE and HTTP.
|
||||
HELPEOF
|
||||
}
|
||||
|
||||
# vim: set ft=sh ts=4 sw=4 et:
|
||||
@@ -6,8 +6,11 @@ build()
|
||||
add_module 'loop'
|
||||
add_module 'overlay'
|
||||
|
||||
add_binary "sed"
|
||||
add_binary "pkill"
|
||||
add_binary "/usr/bin/sed"
|
||||
add_binary "/usr/bin/pkill"
|
||||
add_binary "/usr/bin/curl"
|
||||
add_full_dir /etc/ssl
|
||||
add_full_dir /etc/ca-certificates
|
||||
|
||||
add_runscript
|
||||
|
||||
@@ -16,6 +19,6 @@ build()
|
||||
help()
|
||||
{
|
||||
cat <<HELPEOF
|
||||
Mount a squashed flat-file directory with OverlayFS on /
|
||||
Mount a squashed flat-file directory with OverlayFS on /, add SSL support
|
||||
HELPEOF
|
||||
}
|
||||
|
||||
@@ -68,9 +68,10 @@ build ()
|
||||
[ -e "${TMPDIR}/passwd" ] && ( grep -q -e '^root:' "${TMPDIR}/passwd" ) || make_etc_passwd
|
||||
|
||||
add_checked_modules "/drivers/net/"
|
||||
add_binary "rm"
|
||||
add_binary "dropbear"
|
||||
add_binary "killall"
|
||||
add_binary "/usr/bin/rm"
|
||||
add_binary "/usr/bin/dropbear"
|
||||
add_binary "/usr/bin/killall"
|
||||
add_binary "/usr/bin/pkill"
|
||||
|
||||
echo '/bin/ash' > "${TMPDIR}"/shells
|
||||
add_file "${TMPDIR}/shells" "/etc/shells"
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#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
|
||||
@@ -34,11 +35,11 @@ Color
|
||||
TotalDownload
|
||||
CheckSpace
|
||||
VerbosePkgLists
|
||||
ILoveCandy
|
||||
|
||||
# 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 #RE-ENABLE ME WHEN A NEW SNAPSHOT IS RELEASED WITH FIXED GPG
|
||||
SigLevel = Never
|
||||
SigLevel = Required DatabaseOptional
|
||||
LocalFileSigLevel = Optional
|
||||
#RemoteFileSigLevel = Required
|
||||
|
||||
@@ -98,7 +99,3 @@ Include = /etc/pacman.d/mirrorlist
|
||||
#[custom]
|
||||
#SigLevel = Optional TrustAll
|
||||
#Server = file:///home/custompkgs
|
||||
|
||||
#[archlinuxfr]
|
||||
#SigLevel = Never
|
||||
#Server = http://repo.archlinux.fr/$arch
|
||||
|
||||
Reference in New Issue
Block a user