Chroot: No longer need to create inodes
And small fixes (-y for apt or correct start for the second part).
This commit is contained in:
parent
f5d03149b3
commit
f7e3d68b7e
|
@ -30,13 +30,13 @@ RESET='\033[0m'
|
|||
## }}}
|
||||
|
||||
## Package to exclude from debootstrap install
|
||||
dbs_pkg_exclude="vim"
|
||||
dbs_pkg_exclude="vim-tiny"
|
||||
## Package to include to debootstrap install
|
||||
dbs_pkg_include="aptitude,bzip2,debconf-i18n,dialog,dmsetup,htop,isc-dhcp-client,isc-dhcp-common,locales,lvm2,openssh-server,pciutils,tmux,vim-nox,wget,zsh"
|
||||
|
||||
# Prepare host system {{{
|
||||
apt update
|
||||
apt install coreutils debootstrap e2fsprogs gawk ipcalc lvm2 parted util-linux wget
|
||||
apt install -y coreutils debootstrap e2fsprogs gawk ipcalc lvm2 parted util-linux wget
|
||||
# }}}
|
||||
# Partitionning {{{
|
||||
if [ "${manage_part}" -eq 0 ]; then
|
||||
|
@ -52,7 +52,7 @@ if [ "${manage_part}" -eq 0 ]; then
|
|||
parted "${hdd}" mkpart primary 0% 512MB
|
||||
parted "${hdd}" set 1 boot on
|
||||
### LV
|
||||
parted "${hdd}" mkpart primary 4194kB 100%
|
||||
parted "${hdd}" mkpart primary 512MB 100%
|
||||
parted "${hdd}" set 2 lvm on
|
||||
sudo pvcreate "${hdd}"2
|
||||
sudo vgcreate "${vgname}" "${hdd}"2
|
||||
|
@ -127,59 +127,6 @@ debootstrap --arch amd64 --include="${dbs_pkg_include}" --exclude="${dbs_pkg_exc
|
|||
|
||||
# }}}
|
||||
# Configure system {{{
|
||||
## Create the disk/partitions (eg. /dev/sda, /dev/sda1,…) on the target system {{{
|
||||
### Create the disk
|
||||
[ -b /target"${hdd}" ] || mknod --mode=660 /target"${hdd}" b 8 0
|
||||
|
||||
### Count the number of partitions on the rescue system
|
||||
nb_part=$(ls -l -- "${hdd}"? | wc -l)
|
||||
part=1
|
||||
### Start at 1 and less/equal $nb_part
|
||||
while [ "${part}" -le "${nb_part}" ]; do
|
||||
#### Create the partitions on the target system
|
||||
[ -b /target"${hdd}${part}" ] || mknod --mode=660 /target"${hdd}${part}" b 8 "${part}"
|
||||
(( part++ ))
|
||||
done
|
||||
|
||||
### Fix group of disk/partitions
|
||||
chgrp disk -- /target"${hdd}"*
|
||||
## }}}
|
||||
## Create LV inodes {{{
|
||||
### Count the number of LV on the rescue system
|
||||
nb_lv=$(ls -l -- /dev/dm-* | wc -l)
|
||||
lv=0
|
||||
### Start at 0 and less than $nb_lv cause it start at 0
|
||||
while [ "${lv}" -lt "${nb_lv}" ]; do
|
||||
#### Create the LV on the target system
|
||||
[ -b /target/dev/dm-"${lv}" ] || mknod --mode=660 /target/dev/dm-"${lv}" b 252 "${lv}"
|
||||
(( lv++ ))
|
||||
done
|
||||
|
||||
### Fix group of LV
|
||||
chgrp disk -- /target/dev/dm-*
|
||||
## }}}
|
||||
## Create symlinks to LV {{{
|
||||
### Get the list of all LV
|
||||
tmp_list_lv="/tmp/lv.rescue.list"
|
||||
find /dev/"${vgname}" -maxdepth 1 -type l -printf "%f\\n" > "${tmp_list_lv}"
|
||||
|
||||
### Create Volume Group and mapper directories
|
||||
mkdir -p -- /target/dev/"${vgname}"
|
||||
mkdir -p -- /target/dev/mapper
|
||||
|
||||
### For each LV
|
||||
while IFS= read -r LV_NAME
|
||||
do
|
||||
|
||||
#### Create symlink in Volume Group directory on the target system (eg. /dev/mapper/ovhsys/home -> ../dm-0)
|
||||
[ -L /target/dev/"${vgname}/${LV_NAME}" ] || ln -fs -- $(readlink /dev/"${vgname}/${LV_NAME}") /target/dev/"${vgname}/${LV_NAME}"
|
||||
|
||||
#### Create symlink in mapper directory on the target system (eg. /dev/mapper/mapper/ovhsys-home -> ../dm-0)
|
||||
[ -L /target/dev/mapper/"${vgname}-${LV_NAME}" ] || ln -fs -- $(readlink /dev/"${vgname}/${LV_NAME}") /target/dev/mapper/"${vgname}-${LV_NAME}"
|
||||
done < "${tmp_list_lv}"
|
||||
rm -f -- "${tmp_list_lv}"
|
||||
|
||||
## }}}
|
||||
## Fstab {{{
|
||||
### Use the current mtab content as default fstab file for the target system
|
||||
grep target /etc/mtab | grep -vE '(tmpfs|pts|proc|sysfs)' > /target/etc/fstab
|
||||
|
|
Loading…
Reference in New Issue