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
|
## Package to exclude from debootstrap install
|
||||||
dbs_pkg_exclude="vim"
|
dbs_pkg_exclude="vim-tiny"
|
||||||
## Package to include to debootstrap install
|
## 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"
|
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 {{{
|
# Prepare host system {{{
|
||||||
apt update
|
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 {{{
|
# Partitionning {{{
|
||||||
if [ "${manage_part}" -eq 0 ]; then
|
if [ "${manage_part}" -eq 0 ]; then
|
||||||
|
@ -52,7 +52,7 @@ if [ "${manage_part}" -eq 0 ]; then
|
||||||
parted "${hdd}" mkpart primary 0% 512MB
|
parted "${hdd}" mkpart primary 0% 512MB
|
||||||
parted "${hdd}" set 1 boot on
|
parted "${hdd}" set 1 boot on
|
||||||
### LV
|
### LV
|
||||||
parted "${hdd}" mkpart primary 4194kB 100%
|
parted "${hdd}" mkpart primary 512MB 100%
|
||||||
parted "${hdd}" set 2 lvm on
|
parted "${hdd}" set 2 lvm on
|
||||||
sudo pvcreate "${hdd}"2
|
sudo pvcreate "${hdd}"2
|
||||||
sudo vgcreate "${vgname}" "${hdd}"2
|
sudo vgcreate "${vgname}" "${hdd}"2
|
||||||
|
@ -127,59 +127,6 @@ debootstrap --arch amd64 --include="${dbs_pkg_include}" --exclude="${dbs_pkg_exc
|
||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
# Configure system {{{
|
# 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 {{{
|
## Fstab {{{
|
||||||
### Use the current mtab content as default fstab file for the target system
|
### 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
|
grep target /etc/mtab | grep -vE '(tmpfs|pts|proc|sysfs)' > /target/etc/fstab
|
||||||
|
|
Loading…
Reference in New Issue