diff options
-rwxr-xr-x | base-install.sh | 57 | ||||
-rwxr-xr-x | data/chroot-script.sh (renamed from chroot-script.sh) | 1 | ||||
-rw-r--r-- | data/grub | 11 | ||||
-rw-r--r-- | data/libc-locales | 499 | ||||
-rw-r--r-- | data/rc.conf | 47 | ||||
-rw-r--r-- | data/sfdisk-partitions.dat | 3 | ||||
-rw-r--r-- | grub | 6 | ||||
-rw-r--r-- | libc-locales | 3 | ||||
-rwxr-xr-x | lvm-setup.sh | 29 | ||||
-rwxr-xr-x | partitioning.sh | 8 | ||||
-rw-r--r-- | rc.conf | 4 | ||||
-rw-r--r-- | sfdisk-partitions.dat | 4 | ||||
-rwxr-xr-x | void-install.sh | 141 |
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 |