[archiso] mkarchiso: use arch-install-scripts instead of own functions
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This commit is contained in:
parent
4d25ed614a
commit
997dabbce2
@ -47,42 +47,15 @@ _show_space_usage () {
|
|||||||
_msg_info "Total: ${_total} MiB (100%) | Used: ${_used} MiB (${_pct_u}) | Avail: ${_avail} MiB ($((100 - ${_pct_u%\%}))%)"
|
_msg_info "Total: ${_total} MiB (100%) | Used: ${_used} MiB (${_pct_u}) | Avail: ${_avail} MiB ($((100 - ${_pct_u%\%}))%)"
|
||||||
}
|
}
|
||||||
|
|
||||||
_chroot_mount () {
|
|
||||||
mount -t devtmpfs dev "${work_dir}/root-image/dev"
|
|
||||||
mount -t devpts devpts "${work_dir}/root-image/dev/pts"
|
|
||||||
mount -t tmpfs devshm "${work_dir}/root-image/dev/shm"
|
|
||||||
mount -t proc proc "${work_dir}/root-image/proc"
|
|
||||||
mount -t tmpfs run "${work_dir}/root-image/run"
|
|
||||||
mount -t sysfs sys "${work_dir}/root-image/sys"
|
|
||||||
mount -t tmpfs tmp "${work_dir}/root-image/tmp"
|
|
||||||
|
|
||||||
trap '_chroot_umount' EXIT HUP INT TERM
|
|
||||||
}
|
|
||||||
|
|
||||||
_chroot_umount () {
|
|
||||||
umount "${work_dir}/root-image/tmp"
|
|
||||||
umount "${work_dir}/root-image/sys"
|
|
||||||
umount "${work_dir}/root-image/run"
|
|
||||||
umount "${work_dir}/root-image/proc"
|
|
||||||
umount "${work_dir}/root-image/dev/shm"
|
|
||||||
umount "${work_dir}/root-image/dev/pts"
|
|
||||||
umount "${work_dir}/root-image/dev"
|
|
||||||
|
|
||||||
trap - EXIT HUP INT TERM
|
|
||||||
}
|
|
||||||
|
|
||||||
_chroot_init() {
|
_chroot_init() {
|
||||||
if [[ ! -d ${work_dir}/root-image/var/cache/pacman ]]; then
|
if [[ ! -d ${work_dir}/root-image ]]; then
|
||||||
mkdir -p ${work_dir}/root-image/{dev,proc,run,sys,tmp,var/lib/pacman}
|
mkdir -p ${work_dir}/root-image
|
||||||
_pacman "base"
|
_pacman "base syslinux"
|
||||||
_pacman "syslinux"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
_chroot_run() {
|
_chroot_run() {
|
||||||
_chroot_mount
|
eval arch-chroot ${work_dir}/root-image "${run_cmd}"
|
||||||
eval chroot ${work_dir}/root-image "${run_cmd}"
|
|
||||||
_chroot_umount
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Mount a filesystem (trap signals in case of error for unmounting it
|
# Mount a filesystem (trap signals in case of error for unmounting it
|
||||||
@ -218,16 +191,12 @@ _pacman ()
|
|||||||
{
|
{
|
||||||
_msg_info "Installing packages to '${work_dir}/root-image/'..."
|
_msg_info "Installing packages to '${work_dir}/root-image/'..."
|
||||||
|
|
||||||
_chroot_mount
|
|
||||||
|
|
||||||
if [[ "${quiet}" = "y" ]]; then
|
if [[ "${quiet}" = "y" ]]; then
|
||||||
pacman -Sy -r "${work_dir}/root-image" --config "${pacman_conf}" --needed --noconfirm $* &> /dev/null
|
pacstrap -C "${pacman_conf}" -c -d -G -M "${work_dir}/root-image" $* &> /dev/null
|
||||||
else
|
else
|
||||||
pacman -Sy -r "${work_dir}/root-image" --config "${pacman_conf}" --needed --noconfirm $*
|
pacstrap -C "${pacman_conf}" -c -d -G -M "${work_dir}/root-image" $*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_chroot_umount
|
|
||||||
|
|
||||||
_msg_info "Packages installed successfully!"
|
_msg_info "Packages installed successfully!"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ INDEX
|
|||||||
*** Build requirements
|
*** Build requirements
|
||||||
|
|
||||||
** For mkarchiso script needs these packages (build host):
|
** For mkarchiso script needs these packages (build host):
|
||||||
|
+ arch-install-scripts for pacstrap/arch-chroot
|
||||||
+ squashfs-tools for mksquashfs
|
+ squashfs-tools for mksquashfs
|
||||||
+ libisoburn for xorriso
|
+ libisoburn for xorriso
|
||||||
+ btrfs-progs for mkfs.btrfs (optional)
|
+ btrfs-progs for mkfs.btrfs (optional)
|
||||||
@ -83,7 +84,7 @@ module of SYSLINUX. ISOLINUX can not find config files on
|
|||||||
*** Building the most basic Arch Linux live media. (configs/baseline)
|
*** Building the most basic Arch Linux live media. (configs/baseline)
|
||||||
|
|
||||||
* Install needed packages.
|
* Install needed packages.
|
||||||
# pacman -S git make squashfs-tools libisoburn rsync --needed
|
# pacman -S git make arch-install-scripts squashfs-tools libisoburn rsync --needed
|
||||||
|
|
||||||
* Install archiso.
|
* Install archiso.
|
||||||
# git clone git://projects.archlinux.org/archiso.git
|
# git clone git://projects.archlinux.org/archiso.git
|
||||||
@ -99,7 +100,7 @@ used to build official images with much more things.
|
|||||||
*** Building official Arch Linux live media. (configs/releng)
|
*** Building official Arch Linux live media. (configs/releng)
|
||||||
|
|
||||||
* Install needed packages.
|
* Install needed packages.
|
||||||
# pacman -S git make squashfs-tools libisoburn dosfstools lynx --needed
|
# pacman -S git make arch-install-scripts squashfs-tools libisoburn dosfstools lynx --needed
|
||||||
|
|
||||||
* Install archiso.
|
* Install archiso.
|
||||||
# git clone git://projects.archlinux.org/archiso.git
|
# git clone git://projects.archlinux.org/archiso.git
|
||||||
|
Loading…
Reference in New Issue
Block a user