summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolás Reynolds <apoyosis@correo.inta.gob.ar>2011-07-20 16:01:16 -0300
committerNicolás Reynolds <apoyosis@correo.inta.gob.ar>2011-07-20 16:01:16 -0300
commit1a87fac19da7cf748c7f42d1ec183cff00998016 (patch)
treee1754bf58be446c0612a0460abae9cf879f29fa2
parentfea6291aff50468dd0f1e40c85d6d9ee7ca972a2 (diff)
parent27e472451e39bcec4b785101d2964e6d5f8a91d5 (diff)
Merge branch 'master' of https://projects.archlinux.org/git/archiso
Conflicts: README configs/baseline/build.sh configs/releng/build.sh configs/releng/packages.i686 configs/releng/packages.x86_64 configs/releng/root-image/etc/rc.d/archiso
-rw-r--r--README218
-rw-r--r--archiso/Makefile6
-rw-r--r--archiso/hooks/archiso16
-rw-r--r--archiso/hooks/archiso_pxe_nbd8
-rw-r--r--archiso/install/archiso2
-rw-r--r--archiso/install/archiso_loop_mnt2
-rw-r--r--archiso/install/archiso_pxe_nbd2
-rwxr-xr-xarchiso/mkarchiso10
-rwxr-xr-xconfigs/baseline/build.sh23
-rwxr-xr-xconfigs/releng/build.sh37
-rw-r--r--configs/releng/packages.i6865
-rw-r--r--configs/releng/packages.x86_645
-rw-r--r--configs/releng/root-image/etc/locale.gen455
-rw-r--r--configs/releng/root-image/etc/rc.conf2
-rwxr-xr-xconfigs/releng/root-image/etc/rc.d/archiso19
-rw-r--r--configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client8
-rw-r--r--configs/releng/root-image/etc/resolv.conf8
17 files changed, 712 insertions, 114 deletions
diff --git a/README b/README
index 3fd8c3b..2763380 100644
--- a/README
+++ b/README
@@ -3,6 +3,13 @@ INDEX
This is a rebranded fork of the original Archiso for Parabola GNU/Linux-libre.
+* Boot parameters (initramfs stage)
+ * hooks/archiso
+ * hooks/archiso_pxe_nbd
+ * hooks/archiso_loop_mnt
+* Boot parameters (only for configs/releng)
+ * etc/rc.conf
+* Build requirements
* Image types generated by mkarchiso.
* File format for aitab.
* Why the /isolinux and /libre/boot/syslinux directories?
@@ -11,6 +18,99 @@ This is a rebranded fork of the original Archiso for Parabola GNU/Linux-libre.
+*** Boot parameters (initramfs stage)
+
+** hooks/archiso
+
+* archisolabel= Set the filesystem label where archiso files reside.
+ Default: (unset)
+* archisodevice= Set the device node where archiso medium is located.
+ Default: "/dev/disk/by-label/${archisolabel}"
+* archisobasedir= Set the base directory where all files reside.
+ Default: "arch"
+* aitab= Set the path for "aitab" file.
+ Default: ${archisobasedir}/aitab
+* copytoram= If set to "y" or just "copytoram" without arguments,
+ all SquashFS are copied to "RAM".
+ Default: (unset)
+* cowspace_size= Set the size of tmpfs /cowspace. This space is used for
+ Copy-On-Write files of dm-snapshot.
+ (directory not visible outside initramfs)
+ Size is in bytes (suffix with "k", "m" and "g") or
+ in percentage of available RAM.
+ Default: "75%"
+* copytoram_size= Set the size of tmpfs /cowpytoram. This space is used for
+ copy of all SquashFS images used, if copytoram=y.
+ (directory not visible outside initramfs)
+ Size is in bytes (suffix with "k", "m" and "g") or
+ in percentage of available RAM.
+ Default: "75%"
+* arch= Force an architecture type (i686 | x86_64).
+ Do not set it for normal operations.
+ Useful for running a 64 bit kernel / 32 bit userspace.
+ Default: (architecture of running kernel)
+
+
+** hooks/archiso_pxe_nbd
+
+* ip= This parameter is setup automatically by PXELINUX
+ when option "IPAPPEND" is set to 1 or 2 in config.
+ ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask>
+ Default: (set via PXE server)
+* BOOTIF= This parameter is setup automatically by PXELINUX
+ when option "IPAPPEND" is set to 2 or 3 in config.
+ BOOTIF=<hardware-address-of-boot-interface>
+ Default: (set via PXELINUX)
+* archiso_nbd_name= Set NBD export name used by the server.
+ Default: archiso
+
+
+** hooks/archiso_loop_mnt
+
+* img_dev= Device where archiso-image.iso reside.
+ Default: (unset)
+* img_loop= Full path where archiso-image.iso is located on ${img_dev}
+ Default: (unset)
+
+
+
+*** Boot parameters (only for configs/releng)
+
+** /etc/rc.conf
+
+By default these parameters are set by default to these values
+if nothing is specified on command line.
+
+* locale= "en_US.UTF-8"
+* daemon_locale= "no"
+* hardwareclock= "UTC"
+* timezone= "Canada/Pacific"
+* keymap= "us"
+* consolefont= (unset)
+* consolemap= (unset)
+* usecolor= "yes"
+
+
+
+*** Build requirements
+
+** For mkarchiso script needs these packages (build host):
+ + devtools for mkarchroot
+ + squashfs-tools for mksquashfs
+ + syslinux for isohybrid
+ + cdrkit for mkisofs
+
+** For these hooks needs these packages (on target root-image)
+* archiso
+ + (none)
+* archiso_loop_mnt
+ + (none)
+* archiso_pxe_nbd
+ + mkinitcpio-nfs-utils for ipconfig
+ + nbd for nbd-client
+
+
+
*** Image types generated by mkarchiso.
* image-name.sfs SquashFS image with all files directly on it.
@@ -62,35 +162,34 @@ When make your custom boot-pendrive, you need to copy /libre directory to it.
*** Building the most basic Parabola live media. (configs/baseline)
-* First install devtools if needed, mkarchroot needs it.
- [host] # pacman -S devtools
+* Install devtools if needed, mkarchroot needs it
+ [host] # pacman -S devtools --needed
-* Create a chroot to work on it.
+* Create a base chroot to work on it.
(prefix with linux32 if you want to build a 32 bits enviroment under 64 bits)
[host] # mkarchroot /tmp/chroot base
-* Enter it. (prefix with linux32 if needed).
+* Install archiso on chroot (needs git and make)
+ [host] # pacman -S git make --needed
+ [host] # git clone git://projects.archlinux.org/archiso.git
+ [host] # make -C archiso/archiso DESTDIR=/tmp/chroot install
+
+* Enter to chroot (prefix with linux32 if needed).
[host] # mkarchroot -r bash /tmp/chroot
* Create a loopback device.
- (mkarchiso does not create it, use other number if not available)
+ (mkarchroot does not create it, use other number if not available)
[chroot] # mknod /dev/loop0 b 7 0
* Setup a mirror.
[chroot] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
* Install aditional packages needed for mkarchiso.
- (git is only needed to get a copy of archiso.git)
- [chroot] # pacman -S git squashfs-tools syslinux devtools cdrkit make
-
-* Install archiso.
- [chroot] # cd /tmp
- [chroot] # git clone git://projects.archlinux.org/archiso.git
- [chroot] # cd archiso/archiso
- [chroot] # make install-program
+ [chroot] # pacman -S devtools squashfs-tools syslinux cdrkit
* Build a basic iso.
- [chroot] # cd /tmp/archiso/configs/baseline
+ [chroot] # cp -r /usr/share/archiso/configs/baseline /tmp
+ [chroot] # cd /tmp/baseline
[chroot] # ./build.sh
* Exit from chroot.
@@ -107,52 +206,51 @@ Note: These steps should be done with 64 bits support.
* Prepare a 32 bit chroot enviroment.
-linux32 mkarchroot /tmp/chroot32 base
-linux32 mkarchroot -r bash /tmp/chroot32
-echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
-pacman -S squashfs-tools syslinux devtools cdrkit make mkinitcpio-nfs-utils nbd --noconfirm --needed
-exit
+ [host64] # linux32 mkarchroot /tmp/chroot32 base
+ [host64] # linux32 mkarchroot -r bash /tmp/chroot32
+ [chroot32] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
+ [chroot32] # pacman -S devtools squashfs-tools syslinux cdrkit
+ [chroot32] # exit
* Prepare a 64 bits chroot enviroment.
-mkarchroot /tmp/chroot64 base
-mkarchroot -r bash /tmp/chroot64
-echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
-pacman -S squashfs-tools syslinux devtools cdrkit make mkinitcpio-nfs-utils nbd --noconfirm --needed
-exit
-
-* Create a shared directory which archiso can access from both chroot enviroments.
-
-mkdir /tmp/shared
-cd /tmp/shared
-git clone http://projects.parabolagnulinux.org/archiso.git
-cd
-mount --bind /tmp/shared /tmp/chroot32/tmp
-mount --bind /tmp/shared /tmp/chroot64/tmp
-
-* Enter 32 bits chroot enviroment, install mkarchiso,
- then build core and netinstall single images.
-
-linux32 mkarchroot -r bash /tmp/chroot32
-mknod /dev/loop1032 b 7 1032
-cd /tmp/archiso/archiso
-make install-program
-cd ../configs/releng/
-./build.sh all_iso_single
-
-* Enter 64 bits chroot enviroment, install mkarchiso,
- then build core and netinstall single images.
-
-mkarchroot -r bash /tmp/chroot64
-mknod /dev/loop1064 b 7 1064
-cd /tmp/archiso/archiso
-make install-program
-cd ../configs/releng/
-./build.sh all_iso_single
-
-* Finally build core and netinstall dual images
- from any of the chroot enviroments. (The final result is the same).
-
-mkarchroot -r bash /tmp/chroot64
-cd /tmp/archiso/configs/releng/
-./build.sh all_iso_dual
+ [host64] # mkarchroot /tmp/chroot64 base
+ [host64] # mkarchroot -r bash /tmp/chroot64
+ [chroot64] # echo 'Server = http://repo.parabolagnulinux.org/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
+ [chroot64] # pacman -S devtools squashfs-tools syslinux cdrkit
+ [chroot64] # exit
+
+* Install archiso on both chroots.
+
+ [host64] # git clone https://projects.parabolagnulinux.org/archiso.git
+ [host64] # make -C archiso/archiso DESTDIR=/tmp/chroot32 install
+ [host64] # make -C archiso/archiso DESTDIR=/tmp/chroot64 install
+
+* Create a shared /tmp directory between two chroots for working.
+
+ [host64] # mkdir /tmp/shared
+ [host64] # chmod 1777 /tmp/shared
+ [host64] # mount --bind /tmp/shared /tmp/chroot32/tmp
+ [host64] # mount --bind /tmp/shared /tmp/chroot64/tmp
+
+* Enter 32 bits chroot enviroment then build core and netinstall single images.
+
+ [chroot32] # linux32 mkarchroot -r bash /tmp/chroot32
+ [chroot32] # mknod /dev/loop1032 b 7 1032 #assumed loop.max_part=0 (by default)
+ [chroot32] # cp -r /usr/share/archiso/configs/releng /tmp
+ [chroot32] # cd /tmp/releng
+ [chroot32] # ./build.sh all_iso_single
+
+* Enter 64 bits chroot enviroment then build core and netinstall single images.
+
+ [chroot64] # mkarchroot -r bash /tmp/chroot64
+ [chroot64] # mknod /dev/loop1064 b 7 1064 #assumed loop.max_part=0 (by default)
+ [chroot64] # cp -r /usr/share/archiso/configs/releng /tmp
+ [chroot64] # cd /tmp/releng
+ [chroot64] # ./build.sh all_iso_single
+
+* Build core and netinstall dual images from any of the chroot enviroments.
+
+ [host64] mkarchroot -r bash /tmp/chroot64
+ [chroot64] # cd /tmp/releng
+ [chroot64] # ./build.sh all_iso_dual
diff --git a/archiso/Makefile b/archiso/Makefile
index 74f9ff2..78dd534 100644
--- a/archiso/Makefile
+++ b/archiso/Makefile
@@ -1,12 +1,14 @@
all:
-install: install-program install-examples install-doc
+install: install-program install-hooks install-examples install-doc
install-program:
# install to sbin since script only usable by root
install -D -m 755 mkarchiso $(DESTDIR)/usr/sbin/mkarchiso
# testiso can be used by anyone
install -D -m 755 testiso $(DESTDIR)/usr/bin/testiso
+
+install-hooks:
# hooks/install are needed by mkinitcpio
install -D -m 644 hooks/archiso $(DESTDIR)/lib/initcpio/hooks/archiso
install -D -m 644 install/archiso $(DESTDIR)/lib/initcpio/install/archiso
@@ -33,4 +35,4 @@ uninstall:
rm -f $(DESTDIR)/lib/initcpio/install/archiso_pxe_nbd
rm -rf $(DESTDIR)/usr/share/archiso/
-.PHONY: install install-program install-examples install-doc uninstall
+.PHONY: install install-program install-hooks install-examples install-doc uninstall
diff --git a/archiso/hooks/archiso b/archiso/hooks/archiso
index b81bbf7..7e2997a 100644
--- a/archiso/hooks/archiso
+++ b/archiso/hooks/archiso
@@ -1,22 +1,26 @@
# Initialize loopback device logic (we using on-demand mode)
# args: none
_init_loop_dev() {
- loop_dev_cnt=99
+ modprobe loop
+ loop_dev_count=99
+ loop_dev_range=$(cat /sys/block/loop0/range)
+ loop_dev_minor=$((loop_dev_count*loop_dev_range))
}
# Call this function before _make_loop_dev() each time.
# args: none
_next_loop_dev() {
- loop_dev_cnt=$((loop_dev_cnt+1))
+ loop_dev_count=$((loop_dev_count+1))
+ loop_dev_minor=$((loop_dev_count*loop_dev_range))
}
-# Setup a loopback device for image passed as arguemnt and echo the path to loopback device used.
+# Setup a loopback device for image passed as argument and echo the path to loopback device used.
# args: /path/to/image_file
_make_loop_dev() {
local img="${1}"
- mknod /dev/loop${loop_dev_cnt} b 7 ${loop_dev_cnt} &> /dev/null
- losetup /dev/loop${loop_dev_cnt} "${img}" &> /dev/null
- echo /dev/loop${loop_dev_cnt}
+ mknod /dev/loop${loop_dev_count} b 7 ${loop_dev_minor} &> /dev/null
+ losetup /dev/loop${loop_dev_count} "${img}" &> /dev/null
+ echo /dev/loop${loop_dev_count}
}
# args: source, mountpoint
diff --git a/archiso/hooks/archiso_pxe_nbd b/archiso/hooks/archiso_pxe_nbd
index f18fd4c..588e033 100644
--- a/archiso/hooks/archiso_pxe_nbd
+++ b/archiso/hooks/archiso_pxe_nbd
@@ -55,6 +55,8 @@ run_hook () {
nbdserver=${rootserver}
+ [[ -z "${archiso_nbd_name}" ]] && archiso_nbd_name="archiso"
+
mount_handler="archiso_pxe_nbd_mount_handler"
fi
}
@@ -74,9 +76,9 @@ archiso_pxe_nbd_mount_handler () {
msg "::: Setup NBD from ${nbdserver} at /dev/nbd0"
if [ "${copytoram}" = "y" ]; then
- nbd-client ${nbdserver} -N archiso /dev/nbd0
+ nbd-client ${nbdserver} -N ${archiso_nbd_name} /dev/nbd0
else
- nbd-client ${nbdserver} -N archiso /dev/nbd0 -persist
+ nbd-client ${nbdserver} -N ${archiso_nbd_name} /dev/nbd0 -persist
fi
archisodevice=/dev/nbd0
@@ -86,5 +88,7 @@ archiso_pxe_nbd_mount_handler () {
if [ "${copytoram}" = "y" ]; then
msg "::: Disconnect NBD from ${nbdserver} at /dev/nbd0"
nbd-client -d /dev/nbd0
+ else
+ pidof nbd-client > /run/nbd_client.pid
fi
}
diff --git a/archiso/install/archiso b/archiso/install/archiso
index 3ac6246..514c011 100644
--- a/archiso/install/archiso
+++ b/archiso/install/archiso
@@ -1,4 +1,4 @@
-install ()
+build ()
{
MODULES="cdrom ide-cd_mod ide-core ide-generic loop dm-mod dm-snapshot squashfs isofs $(all_modules '/kernel/fs' | grep -v "nls")"
MODULES="${MODULES} $(checked_modules "/usb/host" | grep -ve "_cs" -e "sl811_hcd" -e "isp116x_hcd")"
diff --git a/archiso/install/archiso_loop_mnt b/archiso/install/archiso_loop_mnt
index c0d21a6..2c8d6f2 100644
--- a/archiso/install/archiso_loop_mnt
+++ b/archiso/install/archiso_loop_mnt
@@ -1,6 +1,6 @@
# vim: set ft=sh:
-install ()
+build ()
{
MODULES=""
diff --git a/archiso/install/archiso_pxe_nbd b/archiso/install/archiso_pxe_nbd
index 189a7b1..c8ba1a4 100644
--- a/archiso/install/archiso_pxe_nbd
+++ b/archiso/install/archiso_pxe_nbd
@@ -1,6 +1,6 @@
# vim: set ft=sh:
-install ()
+build ()
{
MODULES="nbd"
MODULES="${MODULES} $(comm -2 -3 <(checked_modules "/drivers/net/" | sort) \
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index 6c88474..e09ad54 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -147,7 +147,7 @@ _show_config () {
# Install desired packages to root-image
_pacman ()
{
- _msg_info "Installing packages to '${work_dir}/root-image/'"
+ _msg_info "Installing packages to '${work_dir}/root-image/'..."
if [[ "${quiet}" = "y" ]]; then
mkarchroot -n -C "${pacman_conf}" -f "${work_dir}/root-image" $* &> /dev/null
@@ -157,6 +157,7 @@ _pacman ()
# Cleanup
find "${work_dir}" -name "*.pacnew" -name "*.pacsave" -name "*.pacorig" -delete
+ _msg_info "Packages installed successfully!"
}
# Cleanup root-image
@@ -190,6 +191,10 @@ _cleanup () {
if [[ -d "${work_dir}/root-image/tmp" ]]; then
find "${work_dir}/root-image/tmp" -mindepth 1 -delete
fi
+ # Delete etc/mtab if not is a symlink.
+ if [[ ! -L "${work_dir}/root-image/etc/mtab" ]]; then
+ rm -f "${work_dir}/root-image/etc/mtab"
+ fi
}
# Makes a SquashFS filesystem image of file/directory passes as argument with desired compression.
@@ -249,6 +254,7 @@ _mkfs () {
fi
_msg_info "Creating ${_fs_type} image of ${_fs_size} MiB"
+ rm -f "${_fs_img}"
dd of="${_fs_img}" count=0 bs=1M seek=${_fs_size} &> /dev/null
local _qflag=""
if [[ ${quiet} == "y" ]]; then
@@ -374,8 +380,8 @@ command_create () {
_msg_info "These packages are already installed, skipping."
else
mkdir -p "${work_dir}/root-image/"
- : > "${work_dir}/create.${_pkg_list_hash}"
_pacman "${pkg_list}"
+ : > "${work_dir}/create.${_pkg_list_hash}"
fi
}
diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh
index 3561ec0..64664fc 100755
--- a/configs/baseline/build.sh
+++ b/configs/baseline/build.sh
@@ -10,13 +10,6 @@ arch=$(uname -m)
work_dir=work
verbose="n"
-# This function can be called after make_basefs()
-get_linux_ver() {
- local ALL_kver
- eval $(grep ^ALL_kver ${work_dir}/root-image/etc/mkinitcpio.d/kernel26.kver)
- echo ${ALL_kver}
-}
-
# Base installation (root-image)
make_basefs() {
mkarchiso ${verbose} -D "${install_dir}" -p "base" create "${work_dir}"
@@ -31,12 +24,25 @@ make_customize_root_image() {
fi
}
+# Copy mkinitcpio archiso hooks (root-image)
+make_setup_mkinitcpio() {
+ if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
+ cp /lib/initcpio/hooks/archiso ${work_dir}/root-image/lib/initcpio/hooks
+ cp /lib/initcpio/install/archiso ${work_dir}/root-image/lib/initcpio/install
+ : > ${work_dir}/build.${FUNCNAME}
+ fi
+}
+
# Prepare ${install_dir}/boot/
make_boot() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
mkdir -p ${work_dir}/iso/${install_dir}/boot/${arch}
+ mkinitcpio \
+ -c ./mkinitcpio.conf \
+ -b ${work_dir}/root-image \
+ -k /boot/vmlinuz26 \
+ -g ${work_dir}/iso/${install_dir}/boot/${arch}/libreiso.img
cp ${work_dir}/root-image/boot/vmlinuz26 ${work_dir}/iso/${install_dir}/boot/${arch}
- mkinitcpio -c ./mkinitcpio.conf -b ${work_dir}/root-image -k $(get_linux_ver) -g ${work_dir}/iso/${install_dir}/boot/${arch}/libreiso.img
: > ${work_dir}/build.${FUNCNAME}
fi
}
@@ -89,6 +95,7 @@ fi
make_basefs
make_customize_root_image
+make_setup_mkinitcpio
make_boot
make_syslinux
make_isolinux
diff --git a/configs/releng/build.sh b/configs/releng/build.sh
index deaf9e2..9abb3ac 100755
--- a/configs/releng/build.sh
+++ b/configs/releng/build.sh
@@ -10,17 +10,10 @@ arch=$(uname -m)
work_dir=work
verbose="n"
-# This function can be called after make_basefs()
-get_linux_ver() {
- local ALL_kver
- eval $(grep ^ALL_kver ${work_dir}/root-image/etc/mkinitcpio.d/kernel26.kver)
- echo ${ALL_kver}
-}
-
# Base installation (root-image)
make_basefs() {
mkarchiso ${verbose} -D "${install_dir}" -p "base" create "${work_dir}"
- mkarchiso ${verbose} -D "${install_dir}" -p "memtest86+ syslinux" create "${work_dir}"
+ mkarchiso ${verbose} -D "${install_dir}" -p "memtest86+ syslinux mkinitcpio-nfs-utils nbd" create "${work_dir}"
}
# Additional packages (root-image)
@@ -34,25 +27,40 @@ make_customize_root_image() {
cp -af root-image ${work_dir}
chmod 750 ${work_dir}/root-image/etc/sudoers.d
chmod 440 ${work_dir}/root-image/etc/sudoers.d/g_wheel
- if [[ ! -L ${work_dir}/root-image/etc/mtab ]]; then
- rm -f ${work_dir}/root-image/etc/mtab
- fi
mkdir -p ${work_dir}/root-image/etc/pacman.d
echo "Server = http://repo.parabolagnulinux.org/\$repo/os/\$arch" > \
${work_dir}/root-image/etc/pacman.d/mirrorlist
sed -i "s/#Server/Server/g" ${work_dir}/root-image/etc/pacman.d/mirrorlist
+ chroot ${work_dir}/root-image /usr/sbin/locale-gen
+ chroot ${work_dir}/root-image /usr/sbin/useradd -m -p "" -g users -G "audio,disk,optical,wheel" arch
: > ${work_dir}/build.${FUNCNAME}
fi
}
+# Copy mkinitcpio archiso hooks (root-image)
+make_setup_mkinitcpio() {
+ if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
+ local _hook
+ for _hook in archiso archiso_pxe_nbd archiso_loop_mnt; do
+ cp /lib/initcpio/hooks/${_hook} ${work_dir}/root-image/lib/initcpio/hooks
+ cp /lib/initcpio/install/${_hook} ${work_dir}/root-image/lib/initcpio/install
+ done
+ : > ${work_dir}/build.${FUNCNAME}
+ fi
+}
+
# Prepare ${install_dir}/boot/
make_boot() {
if [[ ! -e ${work_dir}/build.${FUNCNAME} ]]; then
local _src=${work_dir}/root-image
local _dst_boot=${work_dir}/iso/${install_dir}/boot
mkdir -p ${_dst_boot}/${arch}
- cp ${_src}/boot/vmlinuz26 ${_dst_boot}/${arch}
- mkinitcpio -c ./mkinitcpio.conf -b ${_src} -k $(get_linux_ver) -g ${_dst_boot}/${arch}/libreiso.img
+ mkinitcpio \
+ -c ./mkinitcpio.conf \
+ -b ${_src} \
+ -k /boot/vmlinuz26 \
+ -g ${_dst_boot}/${arch}/libreiso.img
+ mv ${_src}/boot/vmlinuz26 ${_dst_boot}/${arch}
cp ${_src}/boot/memtest86+/memtest.bin ${_dst_boot}/memtest
cp ${_src}/usr/share/licenses/common/GPL2/license.txt ${_dst_boot}/memtest.COPYING
: > ${work_dir}/build.${FUNCNAME}
@@ -75,7 +83,7 @@ make_syslinux() {
cp ${_src_syslinux}/memdisk ${_dst_syslinux}
mkdir -p ${_dst_syslinux}/hdt
wget -O - http://pciids.sourceforge.net/v2.2/pci.ids | gzip -9 > ${_dst_syslinux}/hdt/pciids.gz
- cat ${work_dir}/root-image/lib/modules/$(get_linux_ver)/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz
+ cat ${work_dir}/root-image/lib/modules/*-LIBRE/modules.alias | gzip -9 > ${_dst_syslinux}/hdt/modalias.gz
: > ${work_dir}/build.${FUNCNAME}
fi
}
@@ -237,6 +245,7 @@ make_common_single() {
make_basefs
make_packages
make_customize_root_image
+ make_setup_mkinitcpio
make_boot
make_syslinux
make_isolinux
diff --git a/configs/releng/packages.i686 b/configs/releng/packages.i686
index e154093..2d0ac96 100644
--- a/configs/releng/packages.i686
+++ b/configs/releng/packages.i686
@@ -6,6 +6,7 @@ ddrescue
dhclient
dialog
dmraid
+dnsmasq
dnsutils
dosfstools
elinks
@@ -14,7 +15,6 @@ hdparm
inetutils
lftp
lilo
-nbd
netcfg
nfs-utils
nilfs-utils
@@ -22,11 +22,14 @@ nmap
ntfs-3g
ntfsprogs
ntp
+openconnect
openssh
openvpn
parted
pptpclient
+rp-pppoe
rsync
tcpdump
+vpnc
wireless_tools
wpa_actiond
diff --git a/configs/releng/packages.x86_64 b/configs/releng/packages.x86_64
index e154093..2d0ac96 100644
--- a/configs/releng/packages.x86_64
+++ b/configs/releng/packages.x86_64
@@ -6,6 +6,7 @@ ddrescue
dhclient
dialog
dmraid
+dnsmasq
dnsutils
dosfstools
elinks
@@ -14,7 +15,6 @@ hdparm
inetutils
lftp
lilo
-nbd
netcfg
nfs-utils
nilfs-utils
@@ -22,11 +22,14 @@ nmap
ntfs-3g
ntfsprogs
ntp
+openconnect
openssh
openvpn
parted
pptpclient
+rp-pppoe
rsync
tcpdump
+vpnc
wireless_tools
wpa_actiond
diff --git a/configs/releng/root-image/etc/locale.gen b/configs/releng/root-image/etc/locale.gen
new file mode 100644
index 0000000..7e4e293
--- /dev/null
+++ b/configs/releng/root-image/etc/locale.gen
@@ -0,0 +1,455 @@
+## Configuration file for locale-gen
+##
+## lists of locales that are to be generated by the locale-gen command.
+##
+## Each line is of the form:
+##
+## <locale> <charset>
+##
+## where <locale> is one of the locales given in /usr/share/i18n/locales
+## and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
+##
+## Examples:
+## en_US ISO-8859-1
+## en_US.UTF-8 UTF-8
+## de_DE ISO-8859-1
+## de_DE@euro ISO-8859-15
+##
+## The locale-gen command will generate all the locales,
+## placing them in /usr/lib/locale.
+##
+## A list of supported locales is included in this file.
+## Uncomment the ones you need.
+##
+## This file names the currently supported and somewhat tested locales.
+## If you have any additions please file a glibc bug report.
+#
+#aa_DJ.UTF-8 UTF-8
+#aa_DJ ISO-8859-1
+#aa_ER UTF-8
+#aa_ER@saaho UTF-8
+#aa_ET UTF-8
+#af_ZA.UTF-8 UTF-8
+#af_ZA ISO-8859-1
+#am_ET UTF-8
+#an_ES.UTF-8 UTF-8
+#an_ES ISO-8859-15
+#ar_AE.UTF-8 UTF-8
+#ar_AE ISO-8859-6
+#ar_BH.UTF-8 UTF-8
+#ar_BH ISO-8859-6
+#ar_DZ.UTF-8 UTF-8
+#ar_DZ ISO-8859-6
+#ar_EG.UTF-8 UTF-8
+#ar_EG ISO-8859-6
+#ar_IN UTF-8
+#ar_IQ.UTF-8 UTF-8
+#ar_IQ ISO-8859-6
+#ar_JO.UTF-8 UTF-8
+#ar_JO ISO-8859-6
+#ar_KW.UTF-8 UTF-8
+#ar_KW ISO-8859-6
+#ar_LB.UTF-8 UTF-8
+#ar_LB ISO-8859-6
+#ar_LY.UTF-8 UTF-8
+#ar_LY ISO-8859-6
+#ar_MA.UTF-8 UTF-8
+#ar_MA ISO-8859-6
+#ar_OM.UTF-8 UTF-8
+#ar_OM ISO-8859-6
+#ar_QA.UTF-8 UTF-8
+#ar_QA ISO-8859-6
+#ar_SA.UTF-8 UTF-8
+#ar_SA ISO-8859-6
+#ar_SD.UTF-8 UTF-8
+#ar_SD ISO-8859-6
+#ar_SY.UTF-8 UTF-8
+#ar_SY ISO-8859-6
+#ar_TN.UTF-8 UTF-8
+#ar_TN ISO-8859-6
+#ar_YE.UTF-8 UTF-8
+#ar_YE ISO-8859-6
+#az_AZ UTF-8
+#as_IN UTF-8
+#ast_ES.UTF-8 UTF-8
+#ast_ES ISO-8859-15
+#be_BY.UTF-8 UTF-8
+#be_BY CP1251
+#be_BY@latin UTF-8
+#bem_ZM UTF-8
+#ber_DZ UTF-8
+#ber_MA UTF-8
+#bg_BG.UTF-8 UTF-8
+#bg_BG CP1251
+#bn_BD UTF-8
+#bn_IN UTF-8
+#bo_CN UTF-8
+#bo_IN UTF-8
+#br_FR.UTF-8 UTF-8
+#br_FR ISO-8859-1
+#br_FR@euro ISO-8859-15
+#bs_BA.UTF-8 UTF-8
+#bs_BA ISO-8859-2
+#byn_ER UTF-8
+#ca_AD.UTF-8 UTF-8
+#ca_AD ISO-8859-15
+#ca_ES.UTF-8 UTF-8
+#ca_ES ISO-8859-1
+#ca_ES@euro ISO-8859-15
+#ca_FR.UTF-8 UTF-8
+#ca_FR ISO-8859-15
+#ca_IT.UTF-8 UTF-8
+#ca_IT ISO-8859-15
+#crh_UA UTF-8
+#cs_CZ.UTF-8 UTF-8
+#cs_CZ ISO-8859-2
+#csb_PL UTF-8
+#cv_RU UTF-8
+#cy_GB.UTF-8 UTF-8
+#cy_GB ISO-8859-14
+#da_DK.UTF-8 UTF-8
+#da_DK ISO-8859-1
+#de_AT.UTF-8 UTF-8
+#de_AT ISO-8859-1
+#de_AT@euro ISO-8859-15
+#de_BE.UTF-8 UTF-8
+#de_BE ISO-8859-1
+#de_BE@euro ISO-8859-15
+#de_CH.UTF-8 UTF-8
+#de_CH ISO-8859-1
+#de_DE.UTF-8 UTF-8
+#de_DE ISO-8859-1
+#de_DE@euro ISO-8859-15
+#de_LU.UTF-8 UTF-8
+#de_LU ISO-8859-1
+#de_LU@euro ISO-8859-15
+#dv_MV UTF-8
+#dz_BT UTF-8
+#el_GR.UTF-8 UTF-8
+#el_GR ISO-8859-7
+#el_CY.UTF-8 UTF-8
+#el_CY ISO-8859-7
+#en_AG UTF-8
+#en_AU.UTF-8 UTF-8
+#en_AU ISO-8859-1
+#en_BW.UTF-8 UTF-8
+#en_BW ISO-8859-1
+#en_CA.UTF-8 UTF-8
+#en_CA ISO-8859-1
+#en_DK.UTF-8 UTF-8
+#en_DK ISO-8859-1
+#en_GB.UTF-8 UTF-8
+#en_GB ISO-8859-1
+#en_HK.UTF-8 UTF-8
+#en_HK ISO-8859-1
+#en_IE.UTF-8 UTF-8
+#en_IE ISO-8859-1
+#en_IE@euro ISO-8859-15
+#en_IN UTF-8
+#en_NG UTF-8
+#en_NZ.UTF-8 UTF-8
+#en_NZ ISO-8859-1
+#en_PH.UTF-8 UTF-8
+#en_PH ISO-8859-1
+#en_SG.UTF-8 UTF-8
+#en_SG ISO-8859-1
+en_US.UTF-8 UTF-8
+#en_US ISO-8859-1
+#en_ZA.UTF-8 UTF-8
+#en_ZA ISO-8859-1
+#en_ZM UTF-8
+#en_ZW.UTF-8 UTF-8
+#en_ZW ISO-8859-1
+#es_AR.UTF-8 UTF-8
+#es_AR ISO-8859-1
+#es_BO.UTF-8 UTF-8
+#es_BO ISO-8859-1
+#es_CL.UTF-8 UTF-8
+#es_CL ISO-8859-1
+#es_CO.UTF-8 UTF-8
+#es_CO ISO-8859-1
+#es_CR.UTF-8 UTF-8
+#es_CR ISO-8859-1
+#es_DO.UTF-8 UTF-8
+#es_DO ISO-8859-1
+#es_EC.UTF-8 UTF-8
+#es_EC ISO-8859-1
+#es_ES.UTF-8 UTF-8
+#es_ES ISO-8859-1
+#es_ES@euro ISO-8859-15
+#es_GT.UTF-8 UTF-8
+#es_GT ISO-8859-1
+#es_HN.UTF-8 UTF-8
+#es_HN ISO-8859-1
+#es_MX.UTF-8 UTF-8
+#es_MX ISO-8859-1
+#es_NI.UTF-8 UTF-8
+#es_NI ISO-8859-1
+#es_PA.UTF-8 UTF-8
+#es_PA ISO-8859-1
+#es_PE.UTF-8 UTF-8
+#es_PE ISO-8859-1
+#es_PR.UTF-8 UTF-8
+#es_PR ISO-8859-1
+#es_PY.UTF-8 UTF-8
+#es_PY ISO-8859-1
+#es_SV.UTF-8 UTF-8
+#es_SV ISO-8859-1
+#es_US.UTF-8 UTF-8
+#es_US ISO-8859-1
+#es_UY.UTF-8 UTF-8
+#es_UY ISO-8859-1
+#es_VE.UTF-8 UTF-8
+#es_VE ISO-8859-1
+#et_EE.UTF-8 UTF-8
+#et_EE ISO-8859-1
+#et_EE.ISO-8859-15 ISO-8859-15
+#eu_ES.UTF-8 UTF-8
+#eu_ES ISO-8859-1
+#eu_ES@euro ISO-8859-15
+#fa_IR UTF-8
+#ff_SN UTF-8
+#fi_FI.UTF-8 UTF-8
+#fi_FI ISO-8859-1
+#fi_FI@euro ISO-8859-15
+#fil_PH UTF-8
+#fo_FO.UTF-8 UTF-8
+#fo_FO ISO-8859-1
+#fr_BE.UTF-8 UTF-8
+#fr_BE ISO-8859-1
+#fr_BE@euro ISO-8859-15
+#fr_CA.UTF-8 UTF-8
+#fr_CA ISO-8859-1
+#fr_CH.UTF-8 UTF-8
+#fr_CH ISO-8859-1
+#fr_FR.UTF-8 UTF-8
+#fr_FR ISO-8859-1
+#fr_FR@euro ISO-8859-15
+#fr_LU.UTF-8 UTF-8
+#fr_LU ISO-8859-1
+#fr_LU@euro ISO-8859-15
+#fur_IT UTF-8
+#fy_NL UTF-8
+#fy_DE UTF-8
+#ga_IE.UTF-8 UTF-8
+#ga_IE ISO-8859-1
+#ga_IE@euro ISO-8859-15
+#gd_GB.UTF-8 UTF-8
+#gd_GB ISO-8859-15
+#gez_ER UTF-8
+#gez_ER@abegede UTF-8
+#gez_ET UTF-8
+#gez_ET@abegede UTF-8
+#gl_ES.UTF-8 UTF-8
+#gl_ES ISO-8859-1
+#gl_ES@euro ISO-8859-15
+#gu_IN UTF-8
+#gv_GB.UTF-8 UTF-8
+#gv_GB ISO-8859-1
+#ha_NG UTF-8
+#he_IL.UTF-8 UTF-8
+#he_IL ISO-8859-8
+#hi_IN UTF-8
+#hne_IN UTF-8
+#hr_HR.UTF-8 UTF-8
+#hr_HR ISO-8859-2
+#hsb_DE ISO-8859-2
+#hsb_DE.UTF-8 UTF-8
+#ht_HT UTF-8
+#hu_HU.UTF-8 UTF-8
+#hu_HU ISO-8859-2
+#hy_AM UTF-8
+#hy_AM.ARMSCII-8 ARMSCII-8
+#id_ID.UTF-8 UTF-8
+#id_ID ISO-8859-1
+#ig_NG UTF-8
+#ik_CA UTF-8
+#is_IS.UTF-8 UTF-8
+#is_IS ISO-8859-1
+#it_CH.UTF-8 UTF-8
+#it_CH ISO-8859-1
+#it_IT.UTF-8 UTF-8
+#it_IT ISO-8859-1
+#it_IT@euro ISO-8859-15
+#iu_CA UTF-8
+#iw_IL.UTF-8 UTF-8
+#iw_IL ISO-8859-8
+#ja_JP.EUC-JP EUC-JP
+#ja_JP.UTF-8 UTF-8
+#ka_GE.UTF-8 UTF-8
+#ka_GE GEORGIAN-PS
+#kk_KZ.UTF-8 UTF-8
+#kk_KZ PT154
+#kl_GL.UTF-8 UTF-8
+#kl_GL ISO-8859-1
+#km_KH UTF-8
+#kn_IN UTF-8
+#ko_KR.EUC-KR EUC-KR
+#ko_KR.UTF-8 UTF-8
+#kok_IN UTF-8
+#ks_IN UTF-8
+#ks_IN@devanagari UTF-8
+#ku_TR.UTF-8 UTF-8
+#ku_TR ISO-8859-9
+#kw_GB.UTF-8 UTF-8
+#kw_GB ISO-8859-1
+#ky_KG UTF-8
+#lb_LU UTF-8
+#lg_UG.UTF-8 UTF-8
+#lg_UG ISO-8859-10
+#li_BE UTF-8
+#li_NL UTF-8
+#lij_IT UTF-8
+#lo_LA UTF-8
+#lt_LT.UTF-8 UTF-8
+#lt_LT ISO-8859-13
+#lv_LV.UTF-8 UTF-8
+#lv_LV ISO-8859-13
+#mai_IN UTF-8
+#mg_MG.UTF-8 UTF-8
+#mg_MG ISO-8859-15
+#mhr_RU UTF-8
+#mi_NZ.UTF-8 UTF-8
+#mi_NZ ISO-8859-13
+#mk_MK.UTF-8 UTF-8
+#mk_MK ISO-8859-5
+#ml_IN UTF-8
+#mn_MN UTF-8
+#mr_IN UTF-8
+#ms_MY.UTF-8 UTF-8
+#ms_MY ISO-8859-1
+#mt_MT.UTF-8 UTF-8
+#mt_MT ISO-8859-3
+#my_MM UTF-8
+#nan_TW@latin UTF-8
+#nb_NO.UTF-8 UTF-8
+#nb_NO ISO-8859-1
+#nds_DE UTF-8
+#nds_NL UTF-8
+#ne_NP UTF-8
+#nl_AW UTF-8
+#nl_BE.UTF-8 UTF-8
+#nl_BE ISO-8859-1
+#nl_BE@euro ISO-8859-15
+#nl_NL.UTF-8 UTF-8
+#nl_NL ISO-8859-1
+#nl_NL@euro ISO-8859-15
+#nn_NO.UTF-8 UTF-8
+#nn_NO ISO-8859-1
+#nr_ZA UTF-8
+#nso_ZA UTF-8
+#oc_FR.UTF-8 UTF-8
+#oc_FR ISO-8859-1
+#om_ET UTF-8
+#om_KE.UTF-8 UTF-8
+#om_KE ISO-8859-1
+#or_IN UTF-8
+#os_RU UTF-8
+#pa_IN UTF-8
+#pa_PK UTF-8
+#pap_AN UTF-8
+#pl_PL.UTF-8 UTF-8
+#pl_PL ISO-8859-2
+#ps_AF UTF-8
+#pt_BR.UTF-8 UTF-8
+#pt_BR ISO-8859-1
+#pt_PT.UTF-8 UTF-8
+#pt_PT ISO-8859-1
+#pt_PT@euro ISO-8859-15
+#ro_RO.UTF-8 UTF-8
+#ro_RO ISO-8859-2
+#ru_RU.KOI8-R KOI8-R
+#ru_RU.UTF-8 UTF-8
+#ru_RU ISO-8859-5
+#ru_UA.UTF-8 UTF-8
+#ru_UA KOI8-U
+#rw_RW UTF-8
+#sa_IN UTF-8
+#sc_IT UTF-8
+#sd_IN UTF-8
+#sd_IN@devanagari UTF-8
+#se_NO UTF-8
+#shs_CA UTF-8
+#si_LK UTF-8
+#sid_ET UTF-8
+#sk_SK.UTF-8 UTF-8
+#sk_SK ISO-8859-2
+#sl_SI.UTF-8 UTF-8
+#sl_SI ISO-8859-2
+#so_DJ.UTF-8 UTF-8
+#so_DJ ISO-8859-1
+#so_ET UTF-8
+#so_KE.UTF-8 UTF-8
+#so_KE ISO-8859-1
+#so_SO.UTF-8 UTF-8
+#so_SO ISO-8859-1
+#sq_AL.UTF-8 UTF-8
+#sq_AL ISO-8859-1
+#sq_MK UTF-8
+#sr_ME UTF-8
+#sr_RS UTF-8
+#sr_RS@latin UTF-8
+#ss_ZA UTF-8
+#st_ZA.UTF-8 UTF-8
+#st_ZA ISO-8859-1
+#sv_FI.UTF-8 UTF-8
+#sv_FI ISO-8859-1
+#sv_FI@euro ISO-8859-15
+#sv_SE.UTF-8 UTF-8
+#sv_SE ISO-8859-1
+#sw_KE UTF-8
+#sw_TZ UTF-8
+#ta_IN UTF-8
+#te_IN UTF-8
+#tg_TJ.UTF-8 UTF-8
+#tg_TJ KOI8-T
+#th_TH.UTF-8 UTF-8
+#th_TH TIS-620
+#ti_ER UTF-8
+#ti_ET UTF-8
+#tig_ER UTF-8
+#tk_TM UTF-8
+#tl_PH.UTF-8 UTF-8
+#tl_PH ISO-8859-1
+#tn_ZA UTF-8
+#tr_CY.UTF-8 UTF-8
+#tr_CY ISO-8859-9
+#tr_TR.UTF-8 UTF-8
+#tr_TR ISO-8859-9
+#ts_ZA UTF-8
+#tt_RU UTF-8
+#tt_RU@iqtelif UTF-8
+#ug_CN UTF-8
+#uk_UA.UTF-8 UTF-8
+#uk_UA KOI8-U
+#ur_PK UTF-8
+#uz_UZ ISO-8859-1
+#uz_UZ@cyrillic UTF-8
+#ve_ZA UTF-8
+#vi_VN.TCVN TCVN5712-1
+#vi_VN UTF-8
+#wa_BE ISO-8859-1
+#wa_BE@euro ISO-8859-15
+#wa_BE.UTF-8 UTF-8
+#wae_CH UTF-8
+#wo_SN UTF-8
+#xh_ZA.UTF-8 UTF-8
+#xh_ZA ISO-8859-1
+#yi_US.UTF-8 UTF-8
+#yi_US CP1255
+#yo_NG UTF-8
+#yue_HK UTF-8
+#zh_CN.GB18030 GB18030
+#zh_CN.GBK GBK
+#zh_CN.UTF-8 UTF-8
+#zh_CN GB2312
+#zh_HK.UTF-8 UTF-8
+#zh_HK BIG5-HKSCS
+#zh_SG.UTF-8 UTF-8
+#zh_SG.GBK GBK
+#zh_SG GB2312
+#zh_TW.EUC-TW EUC-TW
+#zh_TW.UTF-8 UTF-8
+#zh_TW BIG5
+#zu_ZA.UTF-8 UTF-8
+#zu_ZA ISO-8859-1
diff --git a/configs/releng/root-image/etc/rc.conf b/configs/releng/root-image/etc/rc.conf
index a6295d0..14775ee 100644
--- a/configs/releng/root-image/etc/rc.conf
+++ b/configs/releng/root-image/etc/rc.conf
@@ -11,7 +11,6 @@ KEYMAP_DEFAULT="us"
CONSOLEFONT_DEFAULT=
CONSOLEMAP_DEFAULT=
USECOLOR_DEFAULT="yes"
-VERBOSE_DEFAULT="3"
LOCALE="$(kernel_cmdline locale ${LOCALE_DEFAULT})"
DAEMON_LOCALE="$(kernel_cmdline daemon_locale ${DAEMON_LOCALE_DEFAULT})"
@@ -21,7 +20,6 @@ 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})"
MODULES=()
diff --git a/configs/releng/root-image/etc/rc.d/archiso b/configs/releng/root-image/etc/rc.d/archiso
index 9d11d16..68e8375 100755
--- a/configs/releng/root-image/etc/rc.d/archiso
+++ b/configs/releng/root-image/etc/rc.d/archiso
@@ -2,20 +2,14 @@
. /etc/rc.conf
. /etc/rc.d/functions
-do_makeuser ()
-{
- stat_busy "Making the default user libre"
- addgroups="audio,disk,optical,wheel"
- useradd -m -p "" -g users -G $addgroups libre
- stat_done
-}
-
do_locale_gen ()
{
- stat_busy "Generating locales..."
- sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen
- /usr/sbin/locale-gen > /dev/null
- stat_done
+ if [[ ${LOCALE} != "en_US.UTF-8" ]]; then
+ stat_busy "Generating locales..."
+ sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen
+ /usr/sbin/locale-gen > /dev/null
+ stat_done
+ fi
}
# If an alternate console was specified on the kernel command line,
@@ -41,7 +35,6 @@ do_special_console()
case "$1" in
start)
do_locale_gen
- do_makeuser
do_special_console
;;
esac
diff --git a/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client b/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client
new file mode 100644
index 0000000..b72f168
--- /dev/null
+++ b/configs/releng/root-image/etc/rc.d/functions.d/omit_kill_nbd_client
@@ -0,0 +1,8 @@
+if [[ -f /run/nbd_client.pid ]]; then
+ omit_kill_nbd_client() {
+ add_omit_pids $(< /run/nbd_client.pid)
+ }
+
+ add_hook shutdown_prekillall omit_kill_nbd_client
+ add_hook single_prekillall omit_kill_nbd_client
+fi
diff --git a/configs/releng/root-image/etc/resolv.conf b/configs/releng/root-image/etc/resolv.conf
new file mode 100644
index 0000000..cecafba
--- /dev/null
+++ b/configs/releng/root-image/etc/resolv.conf
@@ -0,0 +1,8 @@
+#
+# /etc/resolv.conf
+#
+
+#search <yourdomain.tld>
+#nameserver <ip>
+
+# End of file