about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xbase-install.sh57
-rwxr-xr-xdata/chroot-script.sh (renamed from chroot-script.sh)1
-rw-r--r--data/grub11
-rw-r--r--data/libc-locales499
-rw-r--r--data/rc.conf47
-rw-r--r--data/sfdisk-partitions.dat3
-rw-r--r--grub6
-rw-r--r--libc-locales3
-rwxr-xr-xlvm-setup.sh29
-rwxr-xr-xpartitioning.sh8
-rw-r--r--rc.conf4
-rw-r--r--sfdisk-partitions.dat4
-rwxr-xr-xvoid-install.sh141
13 files changed, 693 insertions, 120 deletions
diff --git a/base-install.sh b/base-install.sh
deleted file mode 100755
index b86f377..0000000
--- a/base-install.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# Basic system installation
-# Inputs:
-# 1. Device. Eg. "/dev/sda"
-# 2. Volume groupe name. Eg. "void"
-# 3. Hostname.
-# 4. Boot partition label. Must be locally unique.
-
-wget https://alpha.de.repo.voidlinux.org/static/xbps-static-latest.x86_64-musl.tar.xz
-sudo tar xf xbps-static-latest.x86_64-musl.tar.xz -C /mnt
-sudo /mnt/usr/bin/xbps-install \
--S --repository=https://alpha.de.repo.voidlinux.org/current \
--r /mnt base-system lvm2 cryptsetup grub-x86_64-efi
-
-#Clean-up the downloaded tarball
-sudo rm xbps-static-latest.x86_64-musl.tar.xz
-
-# Mount some directories before chrooting
-sudo mkdir -p /mnt/dev
-sudo mkdir -p /mnt/proc
-sudo mkdir -p /mnt/sys
-sudo mount -t proc /proc /mnt/proc
-sudo mount --rbind /dev /mnt/dev
-sudo mount --rbind /sys /mnt/sys
-
-# Configure system files
-sudo cp -f rc.conf /mnt/etc/rc.conf
-
-echo "$3" | sudo tee /mnt/etc/hostname > /dev/null
-
-echo "hostonly=yes" | sudo tee /mnt/etc/dracut.conf.d/hostonly.conf > /dev/null
-
-sudo cp -f grub /mnt/etc/default/grub
-
-sudo cp -f libc-locales /mnt/etc/default/libc-locales
-
-sudo mkdir /mnt/boot/grub
-
-# The UUID and PARTUUID is changed on first boot. We use a LABEL.
-echo "tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0" | sudo tee /mnt/etc/fstab \
-> /dev/null
-echo "LABEL=$4 /boot vfat defaults 0 2" \
-| sudo tee -a /mnt/etc/fstab > /dev/null
-echo "/dev/mapper/$2-root / ext4 defaults,noatime 0 1" | sudo tee -a \
-/mnt/etc/fstab > /dev/null
-echo "/dev/mapper/$2-swap none swap defaults 0 1" | sudo tee -a /mnt/etc/fstab \
-> /dev/null
-
-# Unmounting the boot partition to write the label
-sudo umount "$1"1
-sudo fatlabel "$1"1 "$4"
-sudo mount "$1"1 /mnt/boot
-
-# Chroot and run final configuration script:
-sudo cp -f chroot-script.sh /mnt/home/chroot-script.sh
-sudo chroot /mnt /bin/bash -c "/bin/sh /home/chroot-script.sh"
-
diff --git a/chroot-script.sh b/data/chroot-script.sh
index 75e5106..8f61ebe 100755
--- a/chroot-script.sh
+++ b/data/chroot-script.sh
@@ -15,4 +15,3 @@ xbps-reconfigure -f glibc-locales
 
 linuxver=$(uname -r | awk -F. '{print $1 FS $2}')
 xbps-reconfigure -f linux"$linuxver"
-
diff --git a/data/grub b/data/grub
new file mode 100644
index 0000000..caac2ce
--- /dev/null
+++ b/data/grub
@@ -0,0 +1,11 @@
+GRUB_DEFAULT=saved
+GRUB_HIDDEN_TIMEOUT=0
+#GRUB_TIMEOUT=3
+#GRUB_HIDDEN_TIMEOUT_QUIET=false
+GRUB_DISTRIBUTOR="Void Linux"
+GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 slub_debug=P page_poison=1 rd.auto=1"
+#GRUB_GFXMODE=1920x1080x32
+GRUB_BACKGROUND=/usr/share/void-artwork/splash.png
+#GRUB_DISABLE_LINUX_UUID=true
+#GRUB_DISABLE_RECOVERY=true
+GRUB_DISABLE_OS_PROBER=true
diff --git a/data/libc-locales b/data/libc-locales
new file mode 100644
index 0000000..cee3783
--- /dev/null
+++ b/data/libc-locales
@@ -0,0 +1,499 @@
+#
+# List of GNU libc locales regenerated by the glibc-locales package.
+# All libc locales are available in /usr/share/i18n/locales.
+#
+# If you add new locales you can regenerate them with:
+#	``xbps-reconfigure -f glibc-locales´´
+#
+## This file names the currently supported and somewhat tested locales.
+## If you have any additions please file a glibc bug report.
+# 
+#C.UTF-8 UTF-8  
+#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  
+#agr_PE UTF-8  
+#ak_GH UTF-8  
+#am_ET UTF-8  
+#an_ES.UTF-8 UTF-8  
+#an_ES ISO-8859-15  
+#anp_IN UTF-8  
+#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_SS UTF-8  
+#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  
+#ayc_PE UTF-8  
+#az_AZ UTF-8  
+#az_IR 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  
+#bhb_IN.UTF-8 UTF-8  
+#bho_IN UTF-8  
+#bho_NP UTF-8  
+#bi_VU UTF-8  
+#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  
+#brx_IN UTF-8  
+#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_ES@valencia UTF-8  
+#ca_FR.UTF-8 UTF-8  
+#ca_FR ISO-8859-15  
+#ca_IT.UTF-8 UTF-8  
+#ca_IT ISO-8859-15  
+#ce_RU UTF-8  
+#chr_US UTF-8  
+#ckb_IQ UTF-8  
+#cmn_TW UTF-8  
+#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_IT.UTF-8 UTF-8  
+#de_IT ISO-8859-1  
+#de_LI.UTF-8 UTF-8  
+#de_LU.UTF-8 UTF-8  
+#de_LU ISO-8859-1  
+#de_LU@euro ISO-8859-15  
+#doi_IN UTF-8  
+#dsb_DE UTF-8  
+#dv_MV UTF-8  
+#dz_BT UTF-8  
+#el_GR.UTF-8 UTF-8  
+#el_GR ISO-8859-7  
+#el_GR@euro 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_IL UTF-8  
+#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_SC.UTF-8 UTF-8  
+#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  
+#eo UTF-8  
+#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_CU UTF-8  
+#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  
+#hak_TW UTF-8  
+#he_IL.UTF-8 UTF-8  
+#he_IL ISO-8859-8  
+#hi_IN UTF-8  
+#hif_FJ 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  
+#ia_FR UTF-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  
+#ja_JP.EUC-JP EUC-JP  
+#ja_JP.UTF-8 UTF-8  
+#ka_GE.UTF-8 UTF-8  
+#ka_GE GEORGIAN-PS  
+#kab_DZ UTF-8  
+#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  
+#ln_CD 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  
+#lzh_TW UTF-8  
+#mag_IN UTF-8  
+#mai_IN UTF-8  
+#mai_NP UTF-8  
+#mfe_MU 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  
+#miq_NI UTF-8  
+#mjw_IN UTF-8  
+#mk_MK.UTF-8 UTF-8  
+#mk_MK ISO-8859-5  
+#ml_IN UTF-8  
+#mn_MN UTF-8  
+#mni_IN UTF-8  
+#mnw_MM 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 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  
+#nhn_MX UTF-8  
+#niu_NU UTF-8  
+#niu_NZ 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_AW UTF-8  
+#pap_CW 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  
+#quz_PE UTF-8  
+#raj_IN UTF-8  
+#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  
+#sah_RU UTF-8  
+#sat_IN UTF-8  
+#sc_IT UTF-8  
+#sd_IN UTF-8  
+#sd_IN@devanagari UTF-8  
+#se_NO UTF-8  
+#sgs_LT UTF-8  
+#shn_MM 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  
+#sm_WS UTF-8  
+#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  
+#szl_PL UTF-8  
+#ta_IN UTF-8  
+#ta_LK UTF-8  
+#tcy_IN.UTF-8 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  
+#the_NP UTF-8  
+#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  
+#to_TO UTF-8  
+#tpi_PG 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  
+#unm_US UTF-8  
+#ur_IN UTF-8  
+#ur_PK UTF-8  
+#uz_UZ.UTF-8 UTF-8  
+#uz_UZ ISO-8859-1  
+#uz_UZ@cyrillic UTF-8  
+#ve_ZA UTF-8  
+#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  
+#wal_ET 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  
+#yuw_PG 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/data/rc.conf b/data/rc.conf
new file mode 100644
index 0000000..b56bed8
--- /dev/null
+++ b/data/rc.conf
@@ -0,0 +1,47 @@
+# /etc/rc.conf - system configuration for void
+
+# Set the host name.
+#
+# NOTE: it's preferred to declare the hostname in /etc/hostname instead:
+# 	- echo myhost > /etc/hostname
+#
+#HOSTNAME="void-live"
+
+# Set RTC to UTC or localtime.
+HARDWARECLOCK="UTC"
+
+# Set timezone, availables timezones can be found at /usr/share/zoneinfo.
+#
+# NOTE: it's preferred to set the timezone in /etc/localtime instead:
+#  - ln -sf /usr/share/zoneinfo/<timezone> /etc/localtime
+# Setting the timezone here requires a reboot to apply any changes/fixes
+# and read-write access to the filesystem.
+#
+TIMEZONE="Europe/Berlin"
+
+# Keymap to load, see loadkeys(8).
+KEYMAP="de"
+
+# Console font to load, see setfont(8).
+#FONT="lat9w-16"
+
+# Console map to load, see setfont(8).
+#FONT_MAP=
+
+# Font unimap to load, see setfont(8).
+#FONT_UNIMAP=
+
+# Amount of ttys which should be setup.
+#TTYS=3
+
+# Set the mode for cgroup mounts.
+# hybrid: mount cgroup v1 under /sys/fs/cgroup and
+#         cgroup v2 under /sys/fs/cgroup/unified
+# legacy: mount cgroup v1 /sys/fs/cgroup
+# unified: mount cgroup v2 under /sys/fs/cgroup
+#CGROUP_MODE=hybrid
+
+# Set this to true only if you do not want seed files to actually credit the
+# RNG, for example if you plan to replicate this file system image and do not
+# have the wherewithal to first delete the contents of /var/lib/seedrng.
+#SEEDRNG_SKIP_CREDIT=false
diff --git a/data/sfdisk-partitions.dat b/data/sfdisk-partitions.dat
new file mode 100644
index 0000000..ac804cc
--- /dev/null
+++ b/data/sfdisk-partitions.dat
@@ -0,0 +1,3 @@
+label: gpt
+size="512MiB" type="uefi" bootable
+type="lvm"
diff --git a/grub b/grub
deleted file mode 100644
index 8d1f663..0000000
--- a/grub
+++ /dev/null
@@ -1,6 +0,0 @@
-# Grub configuration file
-GRUB_DEFAULT=0
-GRUB_HIDDEN_TIMEOUT=0
-GRUB_DISTRIBUTOR="Void"
-GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4 slub_debug=P page_poison=1 rd.auto=1"
-GRUB_DISABLE_OS_PROBER=true
diff --git a/libc-locales b/libc-locales
deleted file mode 100644
index c60c156..0000000
--- a/libc-locales
+++ /dev/null
@@ -1,3 +0,0 @@
-en_US.UTF-8 UTF-8
-fr_FR.UTF-8 UTF-8
-
diff --git a/lvm-setup.sh b/lvm-setup.sh
deleted file mode 100755
index 189767f..0000000
--- a/lvm-setup.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-# Setup the LVM partition with LUKS and swap+root partitions.
-# We assume the LVM partition is the second on the device, in line with the rest
-# of the installation process.
-# The default swap size is 16G, which is the amount of RAM we have on our
-# machine. If you need more disk space and are confident you won't need as much
-# SWAP then you can modify this.
-# Input:
-# 1. Device, eg. "/dev/sda"
-# 2. Volume group name. Must be different from existing volume groups on the
-#    system. eg "void"
-
-sudo cryptsetup luksFormat "$1"2
-sudo cryptsetup luksOpen "$1"2 new-voidvm
-
-sudo pvcreate /dev/mapper/new-voidvm
-sudo vgcreate "$2" /dev/mapper/new-voidvm
-sudo lvcreate --name swap -L 16G "$2"
-sudo lvcreate --name root -l 100%FREE "$2"
-
-sudo mkfs.fat -F32 "$1"1
-sudo mkfs.ext4 /dev/mapper/"$2"-root
-sudo mkswap /dev/mapper/"$2"-swap
-sudo swapon /dev/mapper/"$2"-swap
-
-sudo mount /dev/mapper/"$2"-root /mnt
-sudo mkdir /mnt/boot
-sudo mount "$1"1 /mnt/boot
-
diff --git a/partitioning.sh b/partitioning.sh
deleted file mode 100755
index 7c6c7ad..0000000
--- a/partitioning.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-# Partitioning the requested disk
-# The partition table to use is parametered in sfdisk-partitions.dat
-# I:
-# 1: Device to use, eg. "/dev/sda"
-
-sudo sfdisk --delete "$1"
-sudo cat sfdisk-partitions.dat | sudo sfdisk "$1"
diff --git a/rc.conf b/rc.conf
deleted file mode 100644
index ce7bc93..0000000
--- a/rc.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-HARDWARECLOCK="UTC"
-TIMEZONE="Europe/Paris"
-KEYMAP="en"
-
diff --git a/sfdisk-partitions.dat b/sfdisk-partitions.dat
deleted file mode 100644
index 938d75e..0000000
--- a/sfdisk-partitions.dat
+++ /dev/null
@@ -1,4 +0,0 @@
-label: gpt
-
-size="512MiB" type="C12A7328-F81F-11D2-BA4B-00A0C93EC93B"
-type="E6D6D379-F507-44C2-A23C-238F2A3DF928"
diff --git a/void-install.sh b/void-install.sh
index 1aa5eac..cea223d 100755
--- a/void-install.sh
+++ b/void-install.sh
@@ -1,11 +1,136 @@
 #!/bin/sh
-# Void installation. Calls other sub-scripts.
-# Inputs:
+# Void installation.
 # 1.: Device on which Void Linux must be installed, eg. "/dev/sda"
-# 2.: Volume group name for the new LVM, eg "void".
-# 3.: New hostname to use.
-# 4.: Boot partition label. Must be locally unique. No longer than 11 bytes.
+# 2.: Physical volume name
+# 3.: Volume group name for the new LVM, eg "void".
+# 4.: New hostname to use.
+# 5.: Boot partition label. Must be locally unique. No longer than 11 bytes.
 
-./partitioning.sh "$1"
-./lvm-setup.sh "$1" "$2"
-./base-install.sh "$1" "$2" "$3" "$4"
+set -eu
+
+p_suffix='' # if not using a typical sdX block device
+mnt_dir=/media/sysinstall
+data_dir=data
+
+[ "$1" = "-h" ] && {
+    cat << EOF
+usage: ${0##*/} <device> <volume group> <hostname> <boot partition label> [physical volume]
+EOF
+    exit 0
+}
+
+device="${1:?target device}"
+volume_group="${2:?volume group}"
+hostname="${3:?hostname}"
+boot_label="${4:?boot partition label}"
+physical_volume="${5:-${hostname}PV}"
+
+if [ "$(id -u)" -ne 0 ]; then
+    printf "Error: Execute this script as root.\n" >&2
+    exit 1
+fi
+
+[ -r "$data_dir" ] || exit 1
+[ ! -d "$mnt_dir" ] \
+    && mkdir -p "$mnt_dir"
+
+# Partitioning the requested disk
+# The partition table to use is parametered in sfdisk-partitions.dat
+# 1: Device to use, eg. "/dev/sda"
+partition() {
+    sfdisk --delete "$device"
+    sfdisk "$device" < "$data_dir"/sfdisk-partitions.dat
+}
+
+# Setup the LVM partition with LUKS and swap+root partitions.
+# We assume the LVM partition is the second on the device, in line with the rest
+# of the installation process.
+# The default swap size is 16G, which is the amount of RAM we have on our
+# machine. If you need more disk space and are confident you won't need as much
+# SWAP then you can modify this.
+# 1. Device, eg. "/dev/sda"
+# 2. Volume group name. Must be different from existing volume groups on the
+#    system. eg "void"
+setup_lvm() {
+    cryptsetup luksFormat "$device$p_suffix"2
+    cryptsetup luksOpen "$device$p_suffix"2 "$physical_volume"
+
+    pvcreate /dev/mapper/"$physical_volume"
+    vgcreate "$volume_group" /dev/mapper/"$physical_volume"
+    lvcreate --name swap -L 1G "$volume_group"
+    lvcreate --name home -l 50%VG "$volume_group"
+    lvcreate --name root -l 100%FREE "$volume_group"
+    vgchange -ay "$volume_group" # activate volume group
+
+    mkfs.fat -F32 "$device$p_suffix"1
+    mkfs.ext4 /dev/mapper/"$volume_group"-root
+    mkfs.ext4 /dev/mapper/"$volume_group"-home
+    mkswap /dev/mapper/"$volume_group"-swap
+    swapon /dev/mapper/"$volume_group"-swap
+
+    mount /dev/mapper/"$volume_group"-root "$mnt_dir"
+    mkdir "$mnt_dir"/home
+    mount /dev/mapper/"$volume_group"-home "$mnt_dir"/home
+    mkdir "$mnt_dir"/boot
+    mount "$device$p_suffix"1 "$mnt_dir"/boot
+}
+
+# Basic system installation
+# 1. Device. Eg. "/dev/sda"
+# 2. Volume groupe name. Eg. "void"
+# 3. Hostname.
+# 4. Boot partition label. Must be locally unique.
+base_install() {
+    wget https://alpha.de.repo.voidlinux.org/static/xbps-static-latest.x86_64-musl.tar.xz
+    tar xf xbps-static-latest.x86_64-musl.tar.xz -C "$mnt_dir"
+    XBPS_ARCH=x86_64 "$mnt_dir"/usr/bin/xbps-install \
+    -S --repository=https://alpha.de.repo.voidlinux.org/current/musl \
+    -r "$mnt_dir" base-system lvm2 cryptsetup grub-x86_64-efi \
+        || return 1
+
+    # Clean-up the downloaded tarball
+    rm xbps-static-latest.x86_64-musl.tar.xz
+
+    # Configure system files
+    cp -f "$data_dir"/rc.conf "$mnt_dir"/etc/rc.conf
+    echo "$hostname" | tee "$mnt_dir"/etc/hostname > /dev/null
+    echo "hostonly=yes" | tee "$mnt_dir"/etc/dracut.conf.d/hostonly.conf > /dev/null
+    cp -f "$data_dir"/grub "$mnt_dir"/etc/default/grub
+    cp -f "$data_dir"/libc-locales "$mnt_dir"/etc/default/libc-locales
+    mkdir "$mnt_dir"/boot/grub
+
+    # The UUID and PARTUUID is changed on first boot. We use a LABEL.
+    echo "tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0" \
+        | tee "$mnt_dir"/etc/fstab > /dev/null
+    echo "LABEL=$boot_label /boot vfat defaults 0 2" \
+        | tee -a "$mnt_dir"/etc/fstab > /dev/null
+    echo "/dev/mapper/$volume_group-root / ext4 rw,noatime 0 1" \
+        | tee -a "$mnt_dir"/etc/fstab > /dev/null
+    echo "/dev/mapper/$volume_group-home /home ext4 defaults,noatime 0 2" \
+        | tee -a "$mnt_dir"/etc/fstab > /dev/null
+    echo "/dev/mapper/$volume_group-swap swap swap rw,noatime,discard 0 0" \
+        | tee -a "$mnt_dir"/etc/fstab > /dev/null
+
+    # Unmounting the boot partition to write the label
+    umount "$device$p_suffix"1
+    fatlabel "$device$p_suffix"1 "$boot_label"
+    mount "$device$p_suffix"1 "$mnt_dir"/boot
+
+    # Mount some directories before chrooting
+    for dir in sys dev proc; do
+        mount --rbind /"$dir" "$mnt_dir"/"$dir" \
+            && mount --make-rslave "$mnt_dir"/"$dir"
+    done
+
+    # Chroot and run final configuration script:
+    cp -f "$data_dir"/chroot-script.sh "$mnt_dir"/home/chroot-script.sh
+    chroot "$mnt_dir" /bin/bash -c "/bin/sh /home/chroot-script.sh"
+}
+
+main() {
+    partition \
+        && setup_lvm \
+        && base_install
+}
+
+main