diff --git a/iso/profile/airootfs/usr/lib/initcpio/hooks/archiso b/iso/profile/airootfs/usr/lib/initcpio/hooks/archiso index cf1e0f4..57dde48 100644 --- a/iso/profile/airootfs/usr/lib/initcpio/hooks/archiso +++ b/iso/profile/airootfs/usr/lib/initcpio/hooks/archiso @@ -2,15 +2,19 @@ archiso_mount_handler() { local _new_root="$1" - local _uuid _label _basedir _dev _img + local _uuid _label _basedir _dev _img _param - _uuid="$(getarg archisosearchuuid=)" - _label="$(getarg archisolabel=)" - _basedir="$(getarg archisobasedir=)" + for _param in $(cat /proc/cmdline); do + case "$_param" in + archisosearchuuid=*) _uuid="${_param#archisosearchuuid=}" ;; + archisolabel=*) _label="${_param#archisolabel=}" ;; + archisobasedir=*) _basedir="${_param#archisobasedir=}" ;; + esac + done : "${_basedir:=arch}" if [ -z "${_uuid}" ] && [ -z "${_label}" ]; then - echo "archiso: neither archisosearchuuid nor archisolabel set in kernel cmdline" + echo "archiso: neither archisosearchuuid nor archisolabel in kernel cmdline" return 1 fi