summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2013-09-21 18:11:43 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2013-09-21 18:11:43 -0300
commit997dabbce2f8b621dacdac268212c4cb1be8956d (patch)
treec9cda970acb9575ffe1b75d4b5d5a1e443a68db6
parent4d25ed614ab34e093e477b1ceb491f6ad2300de7 (diff)
downloadarchiso32-997dabbce2f8b621dacdac268212c4cb1be8956d.tar.xz
[archiso] mkarchiso: use arch-install-scripts instead of own functions
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-rwxr-xr-xarchiso/mkarchiso43
-rw-r--r--docs/README.build5
2 files changed, 9 insertions, 39 deletions
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index fb65f09..e6a2195 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -47,42 +47,15 @@ _show_space_usage () {
_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() {
- if [[ ! -d ${work_dir}/root-image/var/cache/pacman ]]; then
- mkdir -p ${work_dir}/root-image/{dev,proc,run,sys,tmp,var/lib/pacman}
- _pacman "base"
- _pacman "syslinux"
+ if [[ ! -d ${work_dir}/root-image ]]; then
+ mkdir -p ${work_dir}/root-image
+ _pacman "base syslinux"
fi
}
_chroot_run() {
- _chroot_mount
- eval chroot ${work_dir}/root-image "${run_cmd}"
- _chroot_umount
+ eval arch-chroot ${work_dir}/root-image "${run_cmd}"
}
# 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/'..."
- _chroot_mount
-
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
- 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
- _chroot_umount
-
_msg_info "Packages installed successfully!"
}
diff --git a/docs/README.build b/docs/README.build
index 80d4b2c..e22ec65 100644
--- a/docs/README.build
+++ b/docs/README.build
@@ -13,6 +13,7 @@ INDEX
*** Build requirements
** For mkarchiso script needs these packages (build host):
+ + arch-install-scripts for pacstrap/arch-chroot
+ squashfs-tools for mksquashfs
+ libisoburn for xorriso
+ 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)
* 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.
# 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)
* 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.
# git clone git://projects.archlinux.org/archiso.git