Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-11-28 10:35:05 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-11-28 10:35:05 -0300
commit50cab06b8494b6c414b241cd03a25a80c92c835b (patch)
tree203433c10874c5c48307e5c1b801a5c164efa8ce
parent87f3297ea37a4b8c80e4f7d0ab77b80f130e8362 (diff)
[archiso] Use different logic when archisodevice == cow_device
* Now bootmnt/img_dev is always a ro-mount, and cowspace is first ro-mount then rw-mount. * Fix a "hidden" bug: at the time of test [[ -ef ]], if devices nodes are not ready, such test will fail then archisodevice will mounted ro and when cow_device is mounted to be rw it fails. (I recently suffered this on a machine with slow USB) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-rw-r--r--archiso/hooks/archiso9
-rw-r--r--archiso/hooks/archiso_loop_mnt6
-rw-r--r--archiso/install/archiso3
3 files changed, 7 insertions, 11 deletions
diff --git a/archiso/hooks/archiso b/archiso/hooks/archiso
index 5d9e5df..f446bd2 100644
--- a/archiso/hooks/archiso
+++ b/archiso/hooks/archiso
@@ -167,11 +167,7 @@ archiso_mount_handler() {
_init_loop_dev
- if [[ "${archisodevice}" -ef "${cow_device}" ]]; then
- _mnt_dev "${archisodevice}" "/run/archiso/bootmnt"
- else
- _mnt_dev "${archisodevice}" "/run/archiso/bootmnt" "-r"
- fi
+ _mnt_dev "${archisodevice}" "/run/archiso/bootmnt" "-r"
if [[ ! -f "${aitab}" ]]; then
echo "ERROR: '${aitab}' file does not exist."
@@ -203,7 +199,8 @@ archiso_mount_handler() {
fi
if [[ -n "${cow_device}" ]]; then
- _mnt_dev "${cow_device}" "/run/archiso/cowspace"
+ _mnt_dev "${cow_device}" "/run/archiso/cowspace" "-r"
+ mount -o remount,rw "/run/archiso/cowspace"
else
msg ":: Mounting /run/archiso/cowspace (tmpfs) filesystem, size=${cowspace_size}..."
mkdir -p /run/archiso/cowspace
diff --git a/archiso/hooks/archiso_loop_mnt b/archiso/hooks/archiso_loop_mnt
index c1b25df..e52dc69 100644
--- a/archiso/hooks/archiso_loop_mnt
+++ b/archiso/hooks/archiso_loop_mnt
@@ -11,11 +11,7 @@ archiso_loop_mount_handler () {
newroot="${1}"
msg ":: Setup a loop device from ${img_loop} located at device ${img_dev}"
- if [[ "${img_dev}" -ef "${cow_device}" ]]; then
- _mnt_dev "${img_dev}" "/run/archiso/img_dev"
- else
- _mnt_dev "${img_dev}" "/run/archiso/img_dev" "-r"
- fi
+ _mnt_dev "${img_dev}" "/run/archiso/img_dev" "-r"
_dev_loop=$(losetup -f)
if ! losetup "${_dev_loop}" "/run/archiso/img_dev/${img_loop}"; then
diff --git a/archiso/install/archiso b/archiso/install/archiso
index 0bb0d0f..7984c53 100644
--- a/archiso/install/archiso
+++ b/archiso/install/archiso
@@ -14,6 +14,9 @@ build ()
add_file /lib/udev/rules.d/95-dm-notify.rules
add_file /lib/initcpio/udev/11-dm-initramfs.rules /lib/udev/rules.d/11-dm-initramfs.rules
+ # Add an empty fstab to avoid mount warning when -o remount is used (this should go to install/base)
+ : > "$BUILDROOT/etc/fstab"
+
SCRIPT="archiso"
}