summaryrefslogtreecommitdiff
path: root/archiso
diff options
context:
space:
mode:
authorEsteban Carnevale <alfplayer@mailoo.org>2012-10-14 15:11:11 -0300
committerEsteban Carnevale <alfplayer@mailoo.org>2012-10-14 15:11:11 -0300
commite5edfc111b1e9fc5ec65696245e6cbd96b2af1e4 (patch)
tree07bdb2e27180c632ad827b400af44695d7c5a15f /archiso
parent4b38c919cbb133c35a06b330e8de9f305c5b4792 (diff)
parent753d2038024541ac2d10f74e6d408d6ed1a23f2a (diff)
Merge branch 'master' of https://projects.archlinux.org/git/archiso
Conflicts: README configs/releng/build.sh configs/releng/efiboot/EFI/boot/startup_iso.nsh configs/releng/efiboot/EFI/boot/startup_usb.nsh configs/releng/packages.i686 configs/releng/packages.x86_64 configs/releng/root-image/etc/rc.conf configs/releng/root-image/etc/rc.d/pacman-init
Diffstat (limited to 'archiso')
-rw-r--r--archiso/initcpio/hooks/archiso11
1 files changed, 8 insertions, 3 deletions
diff --git a/archiso/initcpio/hooks/archiso b/archiso/initcpio/hooks/archiso
index 9445498..491ed2f 100644
--- a/archiso/initcpio/hooks/archiso
+++ b/archiso/initcpio/hooks/archiso
@@ -11,13 +11,14 @@ _mnt_fs() {
ro_dev=$(losetup --find --show --read-only "${img}")
echo ${ro_dev} >> /run/archiso/used_block_devices
ro_dev_size=$(blockdev --getsz ${ro_dev})
+ rw_dev_size=$((ro_dev_size*cowfile_size/100))
if [[ "${cow_persistent}" == "P" ]]; then
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
msg ":: Found '/run/archiso/cowspace/${cow_directory}/${img_name}.cow', using as persistent."
else
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as persistent."
- dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${ro_dev_size} &> /dev/null
+ dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${rw_dev_size} &> /dev/null
fi
else
if [[ -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow" ]]; then
@@ -25,7 +26,7 @@ _mnt_fs() {
rm -f "/run/archiso/cowspace/${cow_directory}/${img_name}.cow"
fi
msg ":: Creating '/run/archiso/cowspace/${cow_directory}/${img_name}.cow' as non-persistent."
- dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${ro_dev_size} &> /dev/null
+ dd of="/run/archiso/cowspace/${cow_directory}/${img_name}.cow" count=0 seek=${rw_dev_size} &> /dev/null
fi
rw_dev=$(losetup --find --show "/run/archiso/cowspace/${cow_directory}/${img_name}.cow")
@@ -35,7 +36,6 @@ _mnt_fs() {
_mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w"
echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/archiso/used_block_devices
- echo "/dev/mapper/${dm_snap_name} ${mnt} auto defaults 0 0" >> ${newroot}/etc/fstab
}
# args: /path/to/image_file, mountpoint
@@ -102,6 +102,11 @@ run_hook() {
[[ -z "${archisobasedir}" ]] && archisobasedir="arch"
[[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch"
[[ -z "${archisodevice}" ]] && archisodevice="/dev/disk/by-label/${archisolabel}"
+ if [[ -z "${cowfile_size}" ]]; then
+ cowfile_size="100"
+ else
+ cowfile_size=${cowfile_size/%}
+ fi
if [[ -z "${aitab}" ]]; then
aitab="/run/archiso/bootmnt/${archisobasedir}/aitab"