archlinux: use dracut native file instead of our own
This commit is contained in:
parent
d3cda230b4
commit
e83c8036e6
@ -6,7 +6,7 @@
|
|||||||
# Maintainer: Olivier Medoc <o_medoc@yahoo.fr>
|
# Maintainer: Olivier Medoc <o_medoc@yahoo.fr>
|
||||||
pkgname=(qubes-vm-utils qubes-vm-kernel-support)
|
pkgname=(qubes-vm-utils qubes-vm-kernel-support)
|
||||||
pkgver=`cat version`
|
pkgver=`cat version`
|
||||||
pkgrel=9
|
pkgrel=10
|
||||||
epoch=
|
epoch=
|
||||||
pkgdesc="Common Linux files for Qubes VM."
|
pkgdesc="Common Linux files for Qubes VM."
|
||||||
arch=("x86_64")
|
arch=("x86_64")
|
||||||
@ -26,12 +26,12 @@ changelog=
|
|||||||
source=(PKGBUILD-initcpio-hook.sh PKGBUILD-initcpio-install.sh)
|
source=(PKGBUILD-initcpio-hook.sh PKGBUILD-initcpio-install.sh)
|
||||||
|
|
||||||
noextract=()
|
noextract=()
|
||||||
md5sums=(e88b50aed7d28087968da728ec1dc2b6 3d204b0d8acda9cf3ea5ebd5334a04d6)
|
md5sums=(SKIP)
|
||||||
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
|
||||||
for source in qrexec-lib udev qmemman core kernel-modules Makefile; do
|
for source in qrexec-lib udev qmemman core kernel-modules Makefile dracut; do
|
||||||
(ln -s $srcdir/../$source $srcdir/$source)
|
(ln -s $srcdir/../$source $srcdir/$source)
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -53,11 +53,12 @@ install=PKGBUILD-qubes-vm-kernel-support.install
|
|||||||
|
|
||||||
mkdir -p ${pkgdir}/usr/lib/initcpio/install/
|
mkdir -p ${pkgdir}/usr/lib/initcpio/install/
|
||||||
mkdir -p ${pkgdir}/usr/lib/initcpio/hooks/
|
mkdir -p ${pkgdir}/usr/lib/initcpio/hooks/
|
||||||
|
mkdir -p ${pkgdir}/usr/lib/qubes/
|
||||||
mkdir -p ${pkgdir}/usr/bin/
|
mkdir -p ${pkgdir}/usr/bin/
|
||||||
|
|
||||||
install -m 611 ${srcdir}/PKGBUILD-initcpio-install.sh ${pkgdir}/usr/lib/initcpio/install/qubes
|
install -m 611 ${srcdir}/PKGBUILD-initcpio-install.sh ${pkgdir}/usr/lib/initcpio/install/qubes
|
||||||
install -m 611 ${srcdir}/PKGBUILD-initcpio-hook.sh ${pkgdir}/usr/lib/initcpio/hooks/qubes
|
install -m 611 ${srcdir}/PKGBUILD-initcpio-hook.sh ${pkgdir}/usr/lib/initcpio/hooks/qubes
|
||||||
|
install -m 755 ${srcdir}/dracut/full-dmroot/qubes_cow_setup.sh ${pkgdir}/usr/lib/qubes/qubes_cow_setup.sh
|
||||||
make install-u2mfn DESTDIR=$pkgdir -C kernel-modules
|
make install-u2mfn DESTDIR=$pkgdir -C kernel-modules
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,48 +4,6 @@ run_earlyhook() {
|
|||||||
|
|
||||||
msg "Starting Qubes copy on write setup script"
|
msg "Starting Qubes copy on write setup script"
|
||||||
|
|
||||||
if ! grep -q 'root=[^ ]*dmroot' /proc/cmdline; then
|
/usr/lib/qubes/qubes_cow_setup.sh
|
||||||
warning "Qubes: dmroot not requested, probably not a Qubes VM"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e /dev/mapper/dmroot ] ; then
|
|
||||||
die "Qubes: FATAL error: /dev/mapper/dmroot already exists?!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
modprobe xen-blkfront || warning "Qubes: Cannot load Xen Block Frontend..."
|
|
||||||
|
|
||||||
msg "Qubes: Waiting for /dev/xvda* devices..."
|
|
||||||
while ! [ -e /dev/xvda ]; do sleep 0.1; done
|
|
||||||
msg "Qubes: /dev/xvda* found"
|
|
||||||
|
|
||||||
SWAP_SIZE=$(( 1024 * 1024 * 2 )) # sectors, 1GB
|
|
||||||
|
|
||||||
if [ `cat /sys/block/xvda/ro` = 1 ] ; then
|
|
||||||
msg "Qubes: Doing COW setup for AppVM..."
|
|
||||||
|
|
||||||
while ! [ -e /dev/xvdc ]; do sleep 0.1; done
|
|
||||||
VOLATILE_SIZE=$(cat /sys/block/xvdc/size) # sectors
|
|
||||||
ROOT_SIZE=$(cat /sys/block/xvda/size) # sectors
|
|
||||||
if [ $VOLATILE_SIZE -lt $SWAP_SIZE ]; then
|
|
||||||
die "Qubes: volatile.img smaller than 1GB, cannot continue"
|
|
||||||
fi
|
|
||||||
sfdisk -q --unit S /dev/xvdc >/dev/null <<EOF
|
|
||||||
1,$SWAP_SIZE,S
|
|
||||||
,,L
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
die "Qubes: failed to setup partitions on volatile device"
|
|
||||||
fi
|
|
||||||
while ! [ -e /dev/xvdc1 ]; do sleep 0.1; done
|
|
||||||
mkswap /dev/xvdc1
|
|
||||||
while ! [ -e /dev/xvdc2 ]; do sleep 0.1; done
|
|
||||||
|
|
||||||
echo "0 `cat /sys/block/xvda/size` snapshot /dev/xvda /dev/xvdc2 N 16" | \
|
|
||||||
dmsetup --noudevsync create dmroot || die "Qubes: FATAL: cannot create dmroot!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
dmsetup mknodes dmroot
|
|
||||||
|
|
||||||
}
|
}
|
@ -7,6 +7,7 @@ build() {
|
|||||||
add_binary "/usr/bin/sfdisk"
|
add_binary "/usr/bin/sfdisk"
|
||||||
add_binary "/usr/bin/mkswap"
|
add_binary "/usr/bin/mkswap"
|
||||||
add_binary "/usr/bin/dmsetup"
|
add_binary "/usr/bin/dmsetup"
|
||||||
|
add_binary "/usr/lib/qubes/qubes_cow_setup.sh"
|
||||||
|
|
||||||
add_runscript
|
add_runscript
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user