X-Original-To: alpine-user@lists.alpinelinux.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067059.outbound.protection.outlook.com [40.92.67.59]) by lists.alpinelinux.org (Postfix) with ESMTP id 51EF9F8162B for ; Mon, 28 Jan 2019 21:08:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=O4H6SkmRRkJXUKjfWo/5fVD+IwfKBovC9mapI/hHjfk=; b=tbIMFAreoA7gRW6BuI1gXmYQ5CgoZuoKS7qWASUbEmq+sQ/jT7ziSjAYm1JHARS1m6nvINimsZxuR+KiIXGxsrU5wILSe1RMdXxUOZwPdkdt1aw43CGpAk5VOOun2jetRFeX8x9zRnsy5048D/oqpvDKG3/7qXT7wxEl04wVRhVP+Ori3vZv5WNDjTDvALdfnjS6miyY9NxrV+5qWKSePzPYIaMaSAL+dUSyoc3/DHQdRRJnICQ/FWtq9Ko3Pdp05RLdPhppEGZWd07i81q+Yn+3haX0qNGjiPa7MYFY/f+0og5fCsyLQA7EALarQIGvQzYX/8Knr2HqMtKg8j/a0w== Received: from HE1EUR02FT035.eop-EUR02.prod.protection.outlook.com (10.152.10.57) by HE1EUR02HT061.eop-EUR02.prod.protection.outlook.com (10.152.10.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1580.10; Mon, 28 Jan 2019 21:08:00 +0000 Received: from AM0PR0402MB3699.eurprd04.prod.outlook.com (10.152.10.55) by HE1EUR02FT035.mail.protection.outlook.com (10.152.10.127) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1580.10 via Frontend Transport; Mon, 28 Jan 2019 21:08:00 +0000 Received: from AM0PR0402MB3699.eurprd04.prod.outlook.com ([fe80::6521:ae50:6f88:7dd3]) by AM0PR0402MB3699.eurprd04.prod.outlook.com ([fe80::6521:ae50:6f88:7dd3%4]) with mapi id 15.20.1558.023; Mon, 28 Jan 2019 21:08:00 +0000 From: Marco Boom To: "alpine-user@lists.alpinelinux.org" Subject: [alpine-user] Boot Issue: How do I setup Xen with dom 0 Alpine Linux, LUKS LVM and GRUB on a UEFI platform? Thread-Topic: Boot Issue: How do I setup Xen with dom 0 Alpine Linux, LUKS LVM and GRUB on a UEFI platform? Thread-Index: AQHUt02KLGoMo/eN6USXj32lLQ5Lhw== Date: Mon, 28 Jan 2019 21:08:00 +0000 Message-ID: Accept-Language: nl-NL, en-US Content-Language: nl-NL X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:FDE2239B2F88E0B0BD14D93BB0AC3A0A57DB0F2471597338541B81DAAFA05C17;UpperCasedChecksum:8B61D21ABD135EF1DE129310E9538A165A4BE9BDC324C129BD9900C466DB031E;SizeAsReceived:7012;Count:44 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [N5rwjFN32K5YeSGIIL4zo0WWzsuoNSYR] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;HE1EUR02HT061;6:GjJ7ejpt4OTKgcpBZPiHchKSjWT6/uVVuxqMeR6d2tgX9KThYMlghxsp9NfvRcf0/uPZLdzEZlsBZnCEcY80MevbaINESt3HxM/lSFflvmOy5VTqWUqw06PcfoAZVjz5Sc7OUoO0U/ezGIBAKJXSt9iXoTHpYWHZC2FsCpIZnwANo+tQiVBqef9p/zGYGdZ2tTI9At9PpjQqkrCBuRMpQr1twLjGJHvRIsPjkmdoSBhdzVOg6IRO6Bbxuh0ZKIwy0Q1JO1jCzxnEv4le1rKv6JLKeiHYDNspicKWtbZxTK/BvavQ3iz9gVMcpsiPerTnptu0qjiXRwoPfDqJbOQKp7GtmczIiP0028f9Fbo0mEYbj6jtPw4ZJ04fj8GNLOk1ydhBCUEMn+gbgSo3XMHSga2QZMCZRjKo51M9FLGVxSJBY2P1DJMVvdeRqte9gmzfs9AaWy2nXXc0Rg/U9usljw==;5:qmCCzOUhugt+ZcBb3/jz0JnnHts8nPZ/rHrxmhv2u10dXw9MLp8C3lV9Ad6t/Lxgl58Ty7N7ty9m2TUt32nzBIy47pZtPwAHDMNkDZ4XX/jt95PGrfmob7PZVmg3tEWmadZuwxK0N3c9O5HorC/JBbdG3KdRJeHlgPzdivM4jTf02367CCBFTFjyn2og/z4AsqsN0hknt21P0LOAHPd+jg==;7:jsGPfdoX9uR/ztuqcf8QCteeOP8YWdWBoKmY+NDvWAt497kQMXCYDL3kIhIy3LHa6b9+7+ttfqC4UR0tmRkRtrWfFV/GVtFGiNQlg9QzVup90VMLnc21ZrqgDk3bvkH4JCrG89O5EXJ2x24IVPpmuA== x-incomingheadercount: 44 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031323274)(2017031324274)(2017031322404)(1601125500)(1603101475)(1701031045);SRVR:HE1EUR02HT061; x-ms-traffictypediagnostic: HE1EUR02HT061: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(4566010)(102415395)(82015058);SRVR:HE1EUR02HT061;BCL:0;PCL:0;RULEID:;SRVR:HE1EUR02HT061; x-microsoft-antispam-message-info: sEc+CijI4f9Fkqinn+axZVE8Rwn7Ret+Y8+JIFsLtAW0RD9PJm2qlIHOAdYzNlTo Content-Type: multipart/mixed; boundary="_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_" X-Mailinglist: alpine-user Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: f12efbb0-867f-4c93-8261-502eceebfafa X-MS-Exchange-CrossTenant-Network-Message-Id: e847eb06-ae2e-4d97-d0fa-08d68564af28 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: f12efbb0-867f-4c93-8261-502eceebfafa X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2019 21:08:00.0955 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1EUR02HT061 --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: multipart/alternative; boundary="_000_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_" --_000_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi, I would like to have the following setup: a system in UEFI mode with a hard= disk with GPT partitions. The disk should contain an (unencrypted) EFI Sys= tem Partition, encrypted boot partition and encrypted lvm partition. GRUB s= hould be the bootloader and on top of it I want the Xen kernel and Alpine L= inux as dom 0. In order to install Alpine Linux without Xen I downloaded the ISO image and= burned it on a USB drive with Rufus (GPT, iso mode). Then I I boot from US= B drive in UEFI mode and I can install Alpine successfully. To install Alpine Linux with the customized partitions I run the following = commands (I=92m sorry for the massive amount of code that follows. It is al= so attached as shell files. If you don=92t have much time: scroll down to t= he second to last paragraph.): Setting up Alpine Linux: setup-keymap us us-intl setup-hostname -n localhost hostname=3D$(cat $ROOT/etc/hostname 2>/dev/null) setup-interfaces -i </dev/null passwd setup-timezone -z Europe/Amsterdam setup-proxy none setup-apkrepos -f setup-sshd -c none setup-ntp -c chrony Install tools: apk update apk add cryptsetup e2fsprogs grub-efi haveged lvm2 parted rc-service haveged start # optionally: only needed to wipe disks Creating disk partitions: parted --script /dev/sda mklabel gpt parted --script --align=3Doptimal /dev/sda mkpart fat32 0% 538MB parted --script /dev/sda set 1 esp on parted --script --align=3Doptimal /dev/sda mkpart non-fs 538MB 748MB parted --script --align=3Doptimal /dev/sda mkpart non-fs 748MB 100% parted --script /dev/sda set 3 LVM on # optionally: wiping disks, but this takes too much time for test setups haveged -n 0 | dd of=3D/dev/sda1 haveged -n 0 | dd of=3D/dev/sda2 haveged -n 0 | dd of=3D/dev/sda3 Creating file systems: mkfs.vfat /dev/sda1 # fat32 for ESP cryptsetup luksFormat --type luks /dev/sda2 cryptsetup open --type luks /dev/sda2 bootcrypt mkfs.ext4 /dev/mapper/bootcrypt # encrypted boot partition with ext4 cryptsetup luksFormat --type luks2 /dev/sda3 cryptsetup open --type luks2 /dev/sda3 lvmcrypt pvcreate /dev/mapper/lvmcrypt # encrypted lvm partition vgcreate vg0 /dev/mapper/lvmcrypt lvcreate -L 512M vg0 -n swap lvcreate -l 100%FREE vg0 -n root lvscan # check lvm partitions mkfs.ext4 /dev/vg0/root # ext4 on lvm root partition (alias /dev/mapper/vg0= -root) mkswap /dev/vg0/swap # swap lvm partition (alias /dev/mapper/vg0-swap) Creating mounts and folders, installing Alpine Linux: mount -t ext4 /dev/vg0/root /mnt/ mkdir -p /mnt/boot/ mount -t ext4 /dev/mapper/bootcrypt /mnt/boot/ mkdir -p /mnt/boot/efi/ mount -t vfat /dev/sda1 /mnt/boot/efi/ USE_EFI=3D1 # seems to be ignored by the setup-disk script, can be removed setup-disk -m sys /mnt/ Update configuration: boot_UUID=3D$(blkid | awk "\$1 =3D=3D \"/dev/sda2:\" { print \$2 }" | cut -= d'"' -f2) lvm_UUID=3D$(blkid | awk "\$1 =3D=3D \"/dev/sda3:\" { print \$2 }" | cut -d= '"' -f2) root_UUID=3D$(blkid | awk "\$1 =3D=3D \"/dev/mapper/vg0-root:\" { print \$2= }" | cut -d'"' -f2) swap_UUID=3D$(blkid | awk "\$1 =3D=3D \"/dev/mapper/vg0-swap:\" { print \$2= }" | cut -d'"' -f2) printf "target=3D'bootcrypt'\n" >> /mnt/etc/conf.d/dmcrypt printf "source=3DUUID=3D\"$boot_UUID\"\n" >> /mnt/etc/conf.d/dmcrypt #chroot /mnt rc-update add dmcrypt boot (there seems to be a bug in openrc:= https://github.com/OpenRC/openrc/issues/243) chroot /mnt ln -s /etc/init.d/dmcrypt /etc/runlevels/boot/dmcrypt # tempora= ry workaround printf "UUID=3D$swap_UUID\tswap\tswap\tdefault\t0 0\n" >> /mnt/etc/fstab printf 'features=3D"ata base ide scsi usb virtio ext4 lvm cryptsetup"\n' > = /mnt/etc/mkinitfs/mkinitfs.conf mkinitfs -c /mnt/etc/mkinitfs/mkinitfs.conf -b /mnt/ $(ls /mnt/lib/modules/= ) mkdir -p /mnt/boot/grub/ mkdir -p /etc/default/ cat > /mnt/boot/grub/grub.cfg <> /etc/default/grub <> /etc/modules fi done apk add xen xen-hypervisor for svc in xenstored xenconsoled xendomains xenqemu; do rc-update add $svc default done grubcfg=3D$(cat /boot/grub/grub.cfg) cat > /boot/grub/grub.cfg <

Hi,

I would like to have the following setup: a system in UEFI mode w= ith a hard disk with GPT partitions. The disk should contain an (unencrypte= d) EFI System Partition, encrypted boot partition and encrypted lvm partition. GRUB should be the bootloader and on top of i= t I want the Xen kernel and Alpine Linux as dom 0.

In order to install Alpine Linux without Xen I downloaded the ISO= image and burned it on a USB drive with Rufus (GPT, iso mode). Then I I bo= ot from USB drive in UEFI mode and I can install Alpine successfully.

To install Alpine Linux with the customized partitions I run the = following commands (I=92m sorry for the massive amount of code that follows= . It is also attached as shell files. If you don=92t have much time: scroll down to the second to last paragraph.):<= /span>

Setting up Alpine Linux:

setup-keymap us us-intl
setup-hostnam=
e -n localhost
hostname=3D$(=
cat $ROOT/etc/hostname 2>/dev/null)
setup-interfa=
ces -i <<EOF
auto lo<=
/o:p>
iface lo inet=
 loopback
 
auto eth0
iface eth0 in=
et dhcp
  &=
nbsp; hostname $hostname
 
auto eth1
iface eth1 in=
et dhcp
  &=
nbsp; hostname $hostname
EOF
/etc/init.d/n=
etworking --quiet start >/dev/null
passwd
setup-timezon=
e -z Europe/Amsterdam
setup-proxy n=
one
setup-apkrepo=
s -f
setup-sshd -c=
 none
setup-ntp -c =
chrony

 

Install tools:

apk update
apk add crypt=
setup e2fsprogs grub-efi haveged lvm2 parted
rc-service ha=
veged start # optionally: only needed to wipe disks

 

Creating disk partitions:

parted --script /dev/sda mklabel gpt
parted --scri=
pt --align=3Doptimal /dev/sda mkpart fat32 0% 538MB
parted --scri=
pt /dev/sda set 1 esp on
parted --scri=
pt --align=3Doptimal /dev/sda mkpart non-fs 538MB 748MB
parted --scri=
pt --align=3Doptimal /dev/sda mkpart non-fs 748MB 100%
parted --scri=
pt /dev/sda set 3 LVM on
 
# optionally:=
 wiping disks, but this takes too much time for test setups
haveged -n 0 =
| dd of=3D/dev/sda1
haveged -n 0 =
| dd of=3D/dev/sda2
haveged -n 0 =
| dd of=3D/dev/sda3

 

Creating file systems:

mkfs.vfat /dev/sda1 # fat32 for ESP
 
cryptsetup lu=
ksFormat --type luks /dev/sda2
cryptsetup op=
en --type luks /dev/sda2 bootcrypt
mkfs.ext4 /de=
v/mapper/bootcrypt # encrypted boot partition with ext4
 
cryptsetup lu=
ksFormat --type luks2 /dev/sda3
cryptsetup op=
en --type luks2 /dev/sda3 lvmcrypt
pvcreate /dev=
/mapper/lvmcrypt # encrypted lvm partition
vgcreate vg0 =
/dev/mapper/lvmcrypt
lvcreate -L 5=
12M vg0 -n swap
lvcreate -l 1=
00%FREE vg0 -n root
lvscan # chec=
k lvm partitions
mkfs.ext4 /de=
v/vg0/root # ext4 on lvm root partition (alias /dev/mapper/vg0-root)
mkswap /dev/v=
g0/swap # swap lvm partition (alias /dev/mapper/vg0-swap)=

 

Creating mounts and folders, installing Alpine Linux:<= /span>

mount -t ext4 /dev/vg0/root /mnt/
mkdir -p /mnt=
/boot/
mount -t ext4=
 /dev/mapper/bootcrypt /mnt/boot/
mkdir -p /mnt=
/boot/efi/
mount -t vfat=
 /dev/sda1 /mnt/boot/efi/
USE_EFI=3D1 #=
 seems to be ignored by the setup-disk script, can be removed
setup-disk -m=
 sys /mnt/

 

Update configuration:

boot_UUID=3D$(blkid | awk "\$1 =3D=3D \"/dev/sda2:\&q=
uot; { print \$2 }" | cut -d'"' -f2)
lvm_UUID=3D$(=
blkid | awk "\$1 =3D=3D \"/dev/sda3:\" { print \$2 }" |=
 cut -d'"' -f2)
root_UUID=3D$=
(blkid | awk "\$1 =3D=3D \"/dev/mapper/vg0-root:\" { print \=
$2 }" | cut -d'"' -f2)
swap_UUID=3D$=
(blkid | awk "\$1 =3D=3D \"/dev/mapper/vg0-swap:\" { print \=
$2 }" | cut -d'"' -f2)
 
printf "=
target=3D'bootcrypt'\n" >> /mnt/etc/conf.d/dmcrypt
printf "=
source=3DUUID=3D\"$boot_UUID\"\n" >> /mnt/etc/conf.d/d=
mcrypt
#chroot /mnt =
rc-update add dmcrypt boot (there seems to be a bug in openrc: https://gith=
ub.com/OpenRC/openrc/issues/243)
chroot /mnt l=
n -s /etc/init.d/dmcrypt /etc/runlevels/boot/dmcrypt # temporary workaround=
printf "=
UUID=3D$swap_UUID\tswap\tswap\tdefault\t0 0\n" >> /mnt/etc/fstab=
printf 'featu=
res=3D"ata base ide scsi usb virtio ext4 lvm cryptsetup"\n' > =
/mnt/etc/mkinitfs/mkinitfs.conf
mkinitfs -c /=
mnt/etc/mkinitfs/mkinitfs.conf -b /mnt/ $(ls /mnt/lib/modules/)<=
/span>
 
mkdir -p /mnt=
/boot/grub/
mkdir -p /etc=
/default/
cat > /mnt=
/boot/grub/grub.cfg <<EOF
set timeout=
=3D2
insmod all_vi=
deo
menuentry &qu=
ot;Alpine Linux" {
  &=
nbsp; linux   /boot/vmlinuz-vanilla modules=3Dsd-mod,usb-storage,=
ext4 cryptroot=3DUUID=3D$lvm_UUID cryptdm=3Dlvmcrypt root=3DUUID=3D$root_UU=
ID nomodeset quiet rootfstype=3Dext4
  &=
nbsp; initrd  /boot/initramfs-vanilla
}<=
/span>
EOF
cat >> =
/etc/default/grub <<EOF
GRUB_ENABLE_C=
RYPTODISK=3Dy
EOF
grub-install =
--target=3Dx86_64-efi --bootloader-id=3Dalpine --boot-directory=3D/mnt/boot=
 --efi-directory=3D/mnt/boot/efi --recheck --no-nvram
install -D /m=
nt/boot/efi/EFI/alpine/grubx64.efi /mnt/boot/efi/EFI/boot/bootx64.efi<=
/o:p>

 

In this way GRUB asks for the boot partition password, initramfs = (or kernel or something else?) asks for the lvm partition password and fina= lly OpenRC asks for the boot partition password (internet provides enough sources why the boot partition needs to be decry= pted twice).

Finish setup:

umount /mnt/boot/efi/
umount /mnt/b=
oot/
umount /mnt/<=
o:p>
swapoff -a
vgchange -a n=
cryptsetup lu=
ksClose lvmcrypt
cryptsetup lu=
ksClose bootcrypt
 
reboot

 

So at this point I have the system in UEFI mode with GPT partitio= ns, LUKS, LVM, GRUB and Alpine Linux. I can use Alpine Linux as expected an= d no issues seems to be here.

Now I want to install Xen and run the following commands:

for mod in xen_netback xen_blkback xenfs xen_pciback xen_wdt tu=
n; do
  &=
nbsp; if modprobe $mod; then
  &=
nbsp;     grep -q -q $mod /etc/modules || echo $mod >=
;> /etc/modules
  &=
nbsp; fi
done
 
apk add xen x=
en-hypervisor
 
for svc in xe=
nstored xenconsoled xendomains xenqemu; do
  &=
nbsp; rc-update add $svc default
done
 
grubcfg=3D$(c=
at /boot/grub/grub.cfg)
cat > /boo=
t/grub/grub.cfg <<EOF
menuentry &qu=
ot;Xen Alpine Linux" {
  &=
nbsp; multiboot2  /boot/xen.gz placeholder smt=3D1
  &=
nbsp; module2 /boot/vmlinuz-vanilla placeholder modules=3Dsd-mod,usb-storag=
e,ext4 cryptroot=3DUUID=3D$lvm_UUID cryptdm=3Dlvmcrypt root=3DUUID=3D$root_=
UUID nomodeset quiet rootfstype=3Dext4
  &=
nbsp; module2 /boot/initramfs-vanilla
}<=
/span>
 
$grubcfg=
EOF

 

When I choose Xen Alpine Linux from the boot options Xen seems to= start without errors, but after it relinquishes the console I got a black = screen and the keyboard does not respond anymore. The same happens when I remove the quiet kernel option from grub.cfg. It d= oes not output any additional information. How can I fix this issue or is t= his setup not supported?

I've noticed that when I use multiboot and module instead of mult= iboot2 and module2 Xen throws the error "(XEN) ACPI Error (tbxfroot-82= 17): A valid RSDP was not found [20070126]" and turns ACPI off but this time after it relinquishes the console, the system asks = for the password of the lvm partition. But the problem here is that the key= board does not respond, so I cannot fill in the password and continue the b= oot process.

 

 

With kind regards,

Marco Boom

 

--_000_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_-- --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: text/plain; name="alpine-normal-install.txt" Content-Description: alpine-normal-install.txt Content-Disposition: attachment; filename="alpine-normal-install.txt"; size=2216; creation-date="Mon, 28 Jan 2019 21:07:57 GMT"; modification-date="Mon, 28 Jan 2019 21:07:57 GMT" Content-Transfer-Encoding: base64 SW5zdGFsbGluZyBzeXN0ZW0gb24gL2Rldi9zZGEzDQpJbnN0YWxsaW5nIGZvciB4ODZfNjQtZWZp IHBsYXRmb3JtLg0KSW5zdGFsbGF0aW9uIGZpbmlzaGVkLiBObyBlcnJvcnMgcmVwb3J0ZWQuDQox MDAlICMjIw0KPT4gaW5pdHJhbWZzOiBjcmVhdGluZyAvYm9vdC9pbml0cmFtZnMtdmFuaWxsYQ0K DQpJbnN0YWxsYXRpb24gaXMgY29tcGxldGUuIFBsZWFzZSByZWJvb3QuDQoNCg0KZ3JlcCAtaCAt diAtdyBzZmRpc2sgL21udC9ldGMvYXBrL3dvcmxkIC9tbnQvdmFyL2xpYi9hcGsvd29ybGQgMj4v ZGV2L251bGwNCmFjY3QgbGludXgtdmFuaWxsYSBhbHBpbmUtYmFzZSB4ZW4taHlwZXJ2aXNvcg0K DQohISEhISEhISENCiMgaW5zdGFsbCB0byBnaXZlbiBtb3VudGVkIHJvb3QNCmF1dG9tYXRpY2Fs bHkgY2hvb3NlcyBzeXNsaW51eA0KDQptZGFkbSBsdm0yIHhmc3Byb2dzIGUyZnNwcm9ncyBidHJm cy1wcm9ncyBkb3Nmc3Rvb2xzDQpzeXNsaW51eCBncnViLWVmaQ0KDQpVU0VfRUZJPTENCkRJU0tM QUJFTD1ncHQNCkJPT1RMT0FERVI9Z3J1Yg0KQk9PVF9TSVpFPTUxMg0KQk9PVEZTPXZmYXQNCnNl bGVjdF9ib290bG9hZGVyOiBncnViLWVmaQ0KDQppbml0X3Byb2dzKCkNCmluc3RhbGxfbW91bnRl ZF9yb290DQokcm9vdGRldj0kKGZpbmRfbW91bnRfZGV2IC9tbnQpIC9wcm9jL21vdW50cyAkMQ0K JHJvb3RfZnM9JChmaW5kX21vdW50X2ZzIC9tbnQpICAvcHJvYy9tb3VudHMgJDMNCiRyb290PSQo dXVpZF9vcl9kZXZpY2UgJHJvb3RkZXYpDQprZXJuZWxfb3B0cz0iKG5vbW9kZXNldCBwYXhfbm91 ZGVyZWYpIHF1aWV0IHJvb3Rmc3R5cGU9JHJvb3RfZnMiDQptb2R1bGVzPSJzZC1tb2QsdXNiLXN0 b3JhZ2UsJHtyb290X2ZzfSR7cmFpZG1vZH0iDQpzZC1tb2QsdXNiLXN0b3JhZ2UsZXh0NCByb290 PS9kZXYvdmcwL2x2X3Jvb3Qgbm9tb2Rlc2V0IHF1aWV0IHJvb3Rmc3R5cGU9ZXh0NA0KDQpncnVi LWluc3RhbGwgLS10YXJnZXQ9eDg2XzY0LWVmaSAtLWVmaS1kaXJlY3Rvcnk9L21udC9ib290L2Vm aSAtLWJvb3Rsb2FkZXItaWQ9YWxwaW5lIC0tYm9vdC1kaXJlY3Rvcnk9L21udC9ib290IC0tbm8t bnZyYW0NCmNhdCA+IC9tbnQvYm9vdC9ncnViL2dydWIuY2ZnIDw8LSBFT0YNCnNldCB0aW1lb3V0 PTINCmluc21vZCBhbGxfdmlkZW8NCm1lbnVlbnRyeSAiQWxwaW5lIExpbnV4IiB7DQoJbGludXgJ L2Jvb3Qvdm1saW51ei12YW5pbGxhIG1vZHVsZXM9JDMgcm9vdD0kMiAkNA0KCWluaXRyZAkvYm9v dC9pbml0cmFtZnMtdmFuaWxsYQ0KfQ0KRU9GDQoNCi91c3Ivc2Jpbg0KZ3J1Yi1iaW9zLXNldHVw DQpncnViLWluc3RhbGwNCmdydWItbWFjYmxlc3MNCmdydWItbWtjb25maWcNCmdydWItb2ZwYXRo bmFtZQ0KZ3J1Yi1wcm9iZQ0KZ3J1Yi1yZWJvb3QNCmdydWItc2V0LWRlZmF1bHQNCmdydWItc3Bh cmNoNjQtc2V0dXANCg0KDQoNCmFwayBhZGQgLS1xdWlldCBzeXNsaW51eA0KaW5zdGFsbF9tb3Vu dGVkX3Jvb3QgL21udC8NCg0KbG9jYWwgbW50PSIkMSIgKC9tbnQvKQ0Kc2hpZnQgMQ0KbG9jYWwg ZGlza3M9IiR7QX0iIG1udF9ib290PSBib290X2ZzPSByb290X2ZzPQ0KbG9jYWwgaW5pdGZzX2Zl YXR1cmVzPSJhdGEgYmFzZSBpZGUgc2NzaSB1c2IgdmlydGlvIg0KbG9jYWwgcHZzPSBkZXY9IHJv b3RkZXY9IGJvb3RkZXY9IGV4dGxpbnV4X3JhaWRvcHQ9IHJvb3Q9IG1vZHVsZXM9DQpsb2NhbCBr ZXJuZWxfb3B0cz0icXVpZXQiDQoNCnJvb3RkZXY9JChmaW5kX21vdW50X2RldiAiJG1udCIpICgv cHJvYy9tb3VudHMgJDEpDQpyb290X2ZzPSQoZmluZF9tb3VudF9mcyAiJG1udCIpICgvcHJvYy9t b3VudHMgJDMpDQppbml0ZnNfZmVhdHVyZXM9IiRpbml0ZnNfZmVhdHVyZXMgJHJvb3RfZnMiIChh dGEgYmFzZSBpZGUgc2NzaSB1c2IgdmlydGlvIGV4dDQpDQoNCmlmIGlzX2x2bSAiJHJvb3RkZXYi DQogIGluaXRmc19mZWF0dXJlcz0iJGluaXRmc19mZWF0dXJlcyBsdm0iDQogIGxvY2FsIHZnPSQo ZmluZF92b2x1bWVfZ3JvdXAgIiRyb290ZGV2IikNCiAgcHZzPSQoZmluZF9wdnNfaW5fdmcgJHZn KQ0KDQpib290ZGV2PSQoZmluZF9tb3VudF9kZXYgIiRtbnQiL2Jvb3QpIChhd2sgIlwkMiA9PSBc IiRtbnRcIiB7IHByaW50IFwkMSB9IiAvcHJvYy9tb3VudHMgfCB0YWlsIC1uIDEpDQptbnRfYm9v dD0iJG1udCIvYm9vdA0KYm9vdF9mcz0kKGZpbmRfbW91bnRfZnMgIm1udF9ib290Iik= --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="create-fs.sh" Content-Description: create-fs.sh Content-Disposition: attachment; filename="create-fs.sh"; size=426; creation-date="Mon, 28 Jan 2019 21:07:57 GMT"; modification-date="Mon, 28 Jan 2019 21:07:57 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCm1rZnMudmZhdCAvZGV2L3NkYTEKCmNyeXB0c2V0dXAgbHVrc0Zvcm1hdCAtLXR5 cGUgbHVrcyAvZGV2L3NkYTIKY3J5cHRzZXR1cCBvcGVuIC0tdHlwZSBsdWtzIC9kZXYvc2RhMiBi b290Y3J5cHQKbWtmcy5leHQ0IC9kZXYvbWFwcGVyL2Jvb3RjcnlwdAoKY3J5cHRzZXR1cCBsdWtz Rm9ybWF0IC0tdHlwZSBsdWtzMiAvZGV2L3NkYTMKY3J5cHRzZXR1cCBvcGVuIC0tdHlwZSBsdWtz MiAvZGV2L3NkYTMgbHZtY3J5cHQKcHZjcmVhdGUgL2Rldi9tYXBwZXIvbHZtY3J5cHQKdmdjcmVh dGUgdmcwIC9kZXYvbWFwcGVyL2x2bWNyeXB0Cmx2Y3JlYXRlIC1MIDUxMk0gdmcwIC1uIHN3YXAK bHZjcmVhdGUgLWwgMTAwJUZSRUUgdmcwIC1uIHJvb3QKbHZzY2FuCm1rZnMuZXh0NCAvZGV2L3Zn MC9yb290Cm1rc3dhcCAvZGV2L3ZnMC9zd2Fw --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="create-partitions.sh" Content-Description: create-partitions.sh Content-Disposition: attachment; filename="create-partitions.sh"; size=318; creation-date="Mon, 28 Jan 2019 21:07:57 GMT"; modification-date="Mon, 28 Jan 2019 21:07:57 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCnBhcnRlZCAtLXNjcmlwdCAvZGV2L3NkYSBta2xhYmVsIGdwdApwYXJ0ZWQgLS1z Y3JpcHQgLS1hbGlnbj1vcHRpbWFsIC9kZXYvc2RhIG1rcGFydCBmYXQzMiAwJSA1MzhNQgpwYXJ0 ZWQgLS1zY3JpcHQgL2Rldi9zZGEgc2V0IDEgZXNwIG9uCnBhcnRlZCAtLXNjcmlwdCAtLWFsaWdu PW9wdGltYWwgL2Rldi9zZGEgbWtwYXJ0IG5vbi1mcyA1MzhNQiA3NDhNQgpwYXJ0ZWQgLS1zY3Jp cHQgLS1hbGlnbj1vcHRpbWFsIC9kZXYvc2RhIG1rcGFydCBub24tZnMgNzQ4TUIgMTAwJQpwYXJ0 ZWQgLS1zY3JpcHQgL2Rldi9zZGEgc2V0IDMgTFZNIG9u --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="finish-setup.sh" Content-Description: finish-setup.sh Content-Disposition: attachment; filename="finish-setup.sh"; size=156; creation-date="Mon, 28 Jan 2019 21:07:58 GMT"; modification-date="Mon, 28 Jan 2019 21:07:58 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCnVtb3VudCAvbW50L2Jvb3QvZWZpLwp1bW91bnQgL21udC9ib290Lwp1bW91bnQg L21udC8Kc3dhcG9mZiAtYQp2Z2NoYW5nZSAtYSBuCmNyeXB0c2V0dXAgbHVrc0Nsb3NlIGx2bWNy eXB0CmNyeXB0c2V0dXAgbHVrc0Nsb3NlIGJvb3RjcnlwdAoKcmVib290 --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: text/plain; name="grub-efi+alpine+luks+lvm+openrc+xen-full_disk_boot_encrypted.txt" Content-Description: grub-efi+alpine+luks+lvm+openrc+xen-full_disk_boot_encrypted.txt Content-Disposition: attachment; filename="grub-efi+alpine+luks+lvm+openrc+xen-full_disk_boot_encrypted.txt"; size=4513; creation-date="Mon, 28 Jan 2019 21:07:58 GMT"; modification-date="Mon, 28 Jan 2019 21:07:58 GMT" Content-Transfer-Encoding: base64 KioqKiogc2V0dXAtY29uZmlnLnNoICoqKioqDQpzZXR1cC1rZXltYXAgdXMgdXMtaW50bA0Kc2V0 dXAtaG9zdG5hbWUgLW4gbG9jYWxob3N0DQpob3N0bmFtZT0kKGNhdCAkUk9PVC9ldGMvaG9zdG5h bWUgMj4vZGV2L251bGwpDQpzZXR1cC1pbnRlcmZhY2VzIC1pIDw8RU9GDQphdXRvIGxvDQppZmFj ZSBsbyBpbmV0IGxvb3BiYWNrDQoNCmF1dG8gZXRoMA0KaWZhY2UgZXRoMCBpbmV0IGRoY3ANCglo b3N0bmFtZSAkaG9zdG5hbWUNCg0KYXV0byBldGgxDQppZmFjZSBldGgxIGluZXQgZGhjcA0KCWhv c3RuYW1lICRob3N0bmFtZQ0KRU9GDQovZXRjL2luaXQuZC9uZXR3b3JraW5nIC0tcXVpZXQgc3Rh cnQgPi9kZXYvbnVsbA0KcGFzc3dkDQpzZXR1cC10aW1lem9uZSAteiBFdXJvcGUvQW1zdGVyZGFt DQpzZXR1cC1wcm94eSBub25lDQpzZXR1cC1hcGtyZXBvcyAtZg0Kc2V0dXAtc3NoZCAtYyBub25l DQpzZXR1cC1udHAgLWMgY2hyb255DQoqKioqKiAqKioqKg0KKioqKiogaW5zdGFsbC11dGlscy5z aCAqKioqKg0KYXBrIHVwZGF0ZQ0KYXBrIGFkZCBjcnlwdHNldHVwIGUyZnNwcm9ncyBncnViLWVm aSBoYXZlZ2VkIGx2bTIgcGFydGVkDQpyYy1zZXJ2aWNlIGhhdmVnZWQgc3RhcnQNCioqKioqICoq KioqDQoNCioqKioqIGNyZWF0ZS1wYXJ0aXRpb25zLnNoICoqKioqDQpwYXJ0ZWQgLS1zY3JpcHQg L2Rldi9zZGEgbWtsYWJlbCBncHQNCnBhcnRlZCAtLXNjcmlwdCAtLWFsaWduPW9wdGltYWwgL2Rl di9zZGEgbWtwYXJ0IGZhdDMyIDAlIDUzOE1CDQpwYXJ0ZWQgLS1zY3JpcHQgL2Rldi9zZGEgc2V0 IDEgZXNwIG9uDQpwYXJ0ZWQgLS1zY3JpcHQgLS1hbGlnbj1vcHRpbWFsIC9kZXYvc2RhIG1rcGFy dCBub24tZnMgNTM4TUIgNzQ4TUINCnBhcnRlZCAtLXNjcmlwdCAtLWFsaWduPW9wdGltYWwgL2Rl di9zZGEgbWtwYXJ0IG5vbi1mcyA3NDhNQiAxMDAlDQpwYXJ0ZWQgLS1zY3JpcHQgL2Rldi9zZGEg c2V0IDMgTFZNIG9uDQoqKioqKiAqKioqKg0KDQpwYXJ0ZWQgLS1zY3JpcHQgL2Rldi9zZGIgbWts YWJlbCBncHQNCnBhcnRlZCAtLXNjcmlwdCAtLWFsaWduPW9wdGltYWwgL2Rldi9zZGIgbWtwYXJ0 IG5vbi1mcyAwJSAxMDAlDQoNCmhhdmVnZWQgLW4gMCB8IGRkIG9mPS9kZXYvc2RhMSAoMSBtaW51 dGUpDQpoYXZlZ2VkIC1uIDAgfCBkZCBvZj0vZGV2L3NkYTINCmhhdmVnZWQgLW4gMCB8IGRkIG9m PS9kZXYvc2RhMyAyMTo1Mw0KaGF2ZWdlZCAtbiAwIHwgZGQgb2Y9L2Rldi9zZGIxDQoNCg0KKioq KiogY3JlYXRlLWZzLnNoICoqKioqDQpta2ZzLnZmYXQgL2Rldi9zZGExDQoNCmNyeXB0c2V0dXAg bHVrc0Zvcm1hdCAtLXR5cGUgbHVrcyAvZGV2L3NkYTINCmNyeXB0c2V0dXAgb3BlbiAtLXR5cGUg bHVrcyAvZGV2L3NkYTIgYm9vdGNyeXB0DQpta2ZzLmV4dDQgL2Rldi9tYXBwZXIvYm9vdGNyeXB0 DQoNCmNyeXB0c2V0dXAgbHVrc0Zvcm1hdCAtLXR5cGUgbHVrczIgL2Rldi9zZGEzDQpjcnlwdHNl dHVwIG9wZW4gLS10eXBlIGx1a3MyIC9kZXYvc2RhMyBsdm1jcnlwdA0KcHZjcmVhdGUgL2Rldi9t YXBwZXIvbHZtY3J5cHQNCnZnY3JlYXRlIHZnMCAvZGV2L21hcHBlci9sdm1jcnlwdA0KbHZjcmVh dGUgLUwgNTEyTSB2ZzAgLW4gc3dhcA0KbHZjcmVhdGUgLWwgMTAwJUZSRUUgdmcwIC1uIHJvb3QN Cmx2c2Nhbg0KbWtmcy5leHQ0IC9kZXYvdmcwL3Jvb3QNCm1rc3dhcCAvZGV2L3ZnMC9zd2FwDQoq KioqKiAqKioqKg0KDQoqKioqKiBwcmVwYXJlLWRpc2suc2ggKioqKioNCm1vdW50IC10IGV4dDQg L2Rldi92ZzAvcm9vdCAvbW50Lw0KbWtkaXIgLXAgL21udC9ib290Lw0KbW91bnQgLXQgZXh0NCAv ZGV2L21hcHBlci9ib290Y3J5cHQgL21udC9ib290Lw0KbWtkaXIgLXAgL21udC9ib290L2VmaS8N Cm1vdW50IC10IHZmYXQgL2Rldi9zZGExIC9tbnQvYm9vdC9lZmkvDQpVU0VfRUZJPTENCnNldHVw LWRpc2sgLW0gc3lzIC9tbnQvDQoqKioqKiAqKioqKg0KDQoqKioqKiB1cGRhdGUtY29uZmlnLnNo ICoqKioqDQpib290X1VVSUQ9JChibGtpZCB8IGF3ayAiXCQxID09IFwiL2Rldi9zZGEyOlwiIHsg cHJpbnQgXCQyIH0iIHwgY3V0IC1kJyInIC1mMikNCmx2bV9VVUlEPSQoYmxraWQgfCBhd2sgIlwk MSA9PSBcIi9kZXYvc2RhMzpcIiB7IHByaW50IFwkMiB9IiB8IGN1dCAtZCciJyAtZjIpDQpyb290 X1VVSUQ9JChibGtpZCB8IGF3ayAiXCQxID09IFwiL2Rldi9tYXBwZXIvdmcwLXJvb3Q6XCIgeyBw cmludCBcJDIgfSIgfCBjdXQgLWQnIicgLWYyKQ0Kc3dhcF9VVUlEPSQoYmxraWQgfCBhd2sgIlwk MSA9PSBcIi9kZXYvbWFwcGVyL3ZnMC1zd2FwOlwiIHsgcHJpbnQgXCQyIH0iIHwgY3V0IC1kJyIn IC1mMikNCg0KcHJpbnRmICJ0YXJnZXQ9J2Jvb3RjcnlwdCdcbiIgPj4gL21udC9ldGMvY29uZi5k L2RtY3J5cHQNCnByaW50ZiAic291cmNlPVVVSUQ9XCIkYm9vdF9VVUlEXCJcbiIgPj4gL21udC9l dGMvY29uZi5kL2RtY3J5cHQNCiNjaHJvb3QgL21udCByYy11cGRhdGUgYWRkIGRtY3J5cHQgYm9v dA0KY2hyb290IC9tbnQgbG4gLXMgL2V0Yy9pbml0LmQvZG1jcnlwdCAvZXRjL3J1bmxldmVscy9i b290L2RtY3J5cHQNCnByaW50ZiAiVVVJRD0kc3dhcF9VVUlEXHRzd2FwXHRzd2FwXHRkZWZhdWx0 XHQwIDBcbiIgPj4gL21udC9ldGMvZnN0YWINCnByaW50ZiAnZmVhdHVyZXM9ImF0YSBiYXNlIGlk ZSBzY3NpIHVzYiB2aXJ0aW8gZXh0NCBsdm0gY3J5cHRzZXR1cCJcbicgPiAvbW50L2V0Yy9ta2lu aXRmcy9ta2luaXRmcy5jb25mDQpta2luaXRmcyAtYyAvbW50L2V0Yy9ta2luaXRmcy9ta2luaXRm cy5jb25mIC1iIC9tbnQvICQobHMgL21udC9saWIvbW9kdWxlcy8pDQoNCm1rZGlyIC1wIC9tbnQv Ym9vdC9ncnViLw0KbWtkaXIgLXAgL2V0Yy9kZWZhdWx0Lw0KY2F0ID4gL21udC9ib290L2dydWIv Z3J1Yi5jZmcgPDxFT0YNCnNldCB0aW1lb3V0PTINCmluc21vZCBhbGxfdmlkZW8NCm1lbnVlbnRy eSAiQWxwaW5lIExpbnV4IiB7DQoJbGludXgJL2Jvb3Qvdm1saW51ei12YW5pbGxhIG1vZHVsZXM9 c2QtbW9kLHVzYi1zdG9yYWdlLGV4dDQgY3J5cHRyb290PVVVSUQ9JGx2bV9VVUlEIGNyeXB0ZG09 bHZtY3J5cHQgcm9vdD1VVUlEPSRyb290X1VVSUQgbm9tb2Rlc2V0IHF1aWV0IHJvb3Rmc3R5cGU9 ZXh0NA0KCWluaXRyZAkvYm9vdC9pbml0cmFtZnMtdmFuaWxsYQ0KfQ0KRU9GDQpjYXQgPj4gL2V0 Yy9kZWZhdWx0L2dydWIgPDxFT0YNCkdSVUJfRU5BQkxFX0NSWVBUT0RJU0s9eQ0KRU9GDQpncnVi LWluc3RhbGwgLS10YXJnZXQ9eDg2XzY0LWVmaSAtLWJvb3Rsb2FkZXItaWQ9YWxwaW5lIC0tYm9v dC1kaXJlY3Rvcnk9L21udC9ib290IC0tZWZpLWRpcmVjdG9yeT0vbW50L2Jvb3QvZWZpIC0tcmVj aGVjayAtLW5vLW52cmFtDQppbnN0YWxsIC1EIC9tbnQvYm9vdC9lZmkvRUZJL2FscGluZS9ncnVi eDY0LmVmaSAvbW50L2Jvb3QvZWZpL0VGSS9ib290L2Jvb3R4NjQuZWZpDQoqKioqKiAqKioqKg0K DQoqKioqKiBmaW5pc2gtc2V0dXAuc2ggKioqKioNCnVtb3VudCAvbW50L2Jvb3QvZWZpLw0KdW1v dW50IC9tbnQvYm9vdC8NCnVtb3VudCAvbW50Lw0Kc3dhcG9mZiAtYQ0KdmdjaGFuZ2UgLWEgbg0K Y3J5cHRzZXR1cCBsdWtzQ2xvc2UgbHZtY3J5cHQNCmNyeXB0c2V0dXAgbHVrc0Nsb3NlIGJvb3Rj cnlwdA0KDQpyZWJvb3QNCioqKioqICoqKioqDQoNCioqKioqIGluc3RhbGwteGVuLnNoICoqKioq DQpmb3IgbW9kIGluIHhlbl9uZXRiYWNrIHhlbl9ibGtiYWNrIHhlbmZzIHhlbl9wY2liYWNrIHhl bl93ZHQgdHVuOyBkbw0KCWlmIG1vZHByb2JlICRtb2Q7IHRoZW4NCgkJZ3JlcCAtcSAtcSAkbW9k IC9ldGMvbW9kdWxlcyB8fCBlY2hvICRtb2QgPj4gL2V0Yy9tb2R1bGVzDQoJZmkNCmRvbmUNCg0K YXBrIGFkZCB4ZW4geGVuLWh5cGVydmlzb3INCg0KZm9yIHN2YyBpbiB4ZW5zdG9yZWQgeGVuY29u c29sZWQgeGVuZG9tYWlucyB4ZW5xZW11OyBkbw0KCXJjLXVwZGF0ZSBhZGQgJHN2YyBkZWZhdWx0 DQpkb25lDQoNCmNhdCA+IC9ib290L2dydWIvZ3J1Yi5jZmcgPDxFT0YNCm1lbnVlbnRyeSAiWGVu IEFscGluZSBMaW51eCIgew0KCW11bHRpYm9vdDIJL2Jvb3QveGVuLmd6IHBsYWNlaG9sZGVyIHNt dD0xDQoJbW9kdWxlMgkvYm9vdC92bWxpbnV6LXZhbmlsbGEgcGxhY2Vob2xkZXIgbW9kdWxlcz1z ZC1tb2QsdXNiLXN0b3JhZ2UsZXh0NCBjcnlwdHJvb3Q9VVVJRD0kbHZtX1VVSUQgY3J5cHRkbT1s dm1jcnlwdCByb290PVVVSUQ9JHJvb3RfVVVJRCBub21vZGVzZXQgcXVpZXQgcm9vdGZzdHlwZT1l eHQ0DQoJbW9kdWxlMgkvYm9vdC9pbml0cmFtZnMtdmFuaWxsYQ0KfQ0KRU9GDQoqKioqKiAqKioq Kg0KKFhFTikgQUNQSSBFcnJvciAodGJ4ZnJvb3QtODIxNyk6IEEgdmFsaWQgUlNEUCB3YXMgbm90 IGZvdW5kIFsyMDA3MDEyNl0NCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMv aHRtbC94ZW4tZGV2ZWwvMjAxOC0wMy9tc2cwMDUyNC5odG1sDQpzb2x1dGlvbjogbXVsdGlib290 MiwgbW9kdWxlMg== --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="install-utils.sh" Content-Description: install-utils.sh Content-Disposition: attachment; filename="install-utils.sh"; size=103; creation-date="Mon, 28 Jan 2019 21:07:58 GMT"; modification-date="Mon, 28 Jan 2019 21:07:58 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCmFwayB1cGRhdGUKYXBrIGFkZCBjcnlwdHNldHVwIGUyZnNwcm9ncyBncnViLWVm aSBoYXZlZ2VkIGx2bTIgcGFydGVkCnJjLXNlcnZpY2UgaGF2ZWdlZCBzdGFydA== --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="install-xen.sh" Content-Description: install-xen.sh Content-Disposition: attachment; filename="install-xen.sh"; size=845; creation-date="Mon, 28 Jan 2019 21:07:58 GMT"; modification-date="Mon, 28 Jan 2019 21:07:58 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCmx2bV9VVUlEPSQoYmxraWQgfCBhd2sgIlwkMSA9PSBcIi9kZXYvc2RhMzpcIiB7 IHByaW50IFwkMiB9IiB8IGN1dCAtZCciJyAtZjIpCnJvb3RfVVVJRD0kKGJsa2lkIHwgYXdrICJc JDEgPT0gXCIvZGV2L21hcHBlci92ZzAtcm9vdDpcIiB7IHByaW50IFwkMiB9IiB8IGN1dCAtZCci JyAtZjIpCgpmb3IgbW9kIGluIHhlbl9uZXRiYWNrIHhlbl9ibGtiYWNrIHhlbmZzIHhlbl9wY2li YWNrIHhlbl93ZHQgdHVuOyBkbwogICAgaWYgbW9kcHJvYmUgJG1vZDsgdGhlbgogICAgICAgIGdy ZXAgLXEgLXEgJG1vZCAvZXRjL21vZHVsZXMgfHwgZWNobyAkbW9kID4+IC9ldGMvbW9kdWxlcwog ICAgZmkKZG9uZQoKYXBrIGFkZCB4ZW4geGVuLWh5cGVydmlzb3IKCmZvciBzdmMgaW4geGVuc3Rv cmVkIHhlbmNvbnNvbGVkIHhlbmRvbWFpbnMgeGVucWVtdTsgZG8KICAgIHJjLXVwZGF0ZSBhZGQg JHN2YyBkZWZhdWx0CmRvbmUKCmdydWJjZmc9JChjYXQgL2Jvb3QvZ3J1Yi9ncnViLmNmZykKY2F0 ID4gL2Jvb3QvZ3J1Yi9ncnViLmNmZyA8PEVPRgptZW51ZW50cnkgIlhlbiBBbHBpbmUgTGludXgi IHsKICAgIG11bHRpYm9vdDIgIC9ib290L3hlbi5neiBwbGFjZWhvbGRlciBzbXQ9MQogICAgbW9k dWxlMiAvYm9vdC92bWxpbnV6LXZhbmlsbGEgcGxhY2Vob2xkZXIgbW9kdWxlcz1zZC1tb2QsdXNi LXN0b3JhZ2UsZXh0NCBjcnlwdHJvb3Q9VVVJRD0kbHZtX1VVSUQgY3J5cHRkbT1sdm1jcnlwdCBy b290PVVVSUQ9JHJvb3RfVVVJRCBub21vZGVzZXQgcXVpZXQgcm9vdGZzdHlwZT1leHQ0CiAgICBt b2R1bGUyIC9ib290L2luaXRyYW1mcy12YW5pbGxhCn0KCiRncnViY2ZnCkVPRgo= --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="prepare-disk.sh" Content-Description: prepare-disk.sh Content-Disposition: attachment; filename="prepare-disk.sh"; size=207; creation-date="Mon, 28 Jan 2019 21:07:58 GMT"; modification-date="Mon, 28 Jan 2019 21:07:58 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCm1vdW50IC10IGV4dDQgL2Rldi92ZzAvcm9vdCAvbW50Lwpta2RpciAtcCAvbW50 L2Jvb3QvCm1vdW50IC10IGV4dDQgL2Rldi9tYXBwZXIvYm9vdGNyeXB0IC9tbnQvYm9vdC8KbWtk aXIgLXAgL21udC9ib290L2VmaS8KbW91bnQgLXQgdmZhdCAvZGV2L3NkYTEgL21udC9ib290L2Vm aS8KVVNFX0VGST0xCnNldHVwLWRpc2sgLW0gc3lzIC9tbnQv --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="setup-config.sh" Content-Description: setup-config.sh Content-Disposition: attachment; filename="setup-config.sh"; size=437; creation-date="Mon, 28 Jan 2019 21:07:58 GMT"; modification-date="Mon, 28 Jan 2019 21:07:58 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCnNldHVwLWtleW1hcCB1cyB1cy1pbnRsCnNldHVwLWhvc3RuYW1lIC1uIGxvY2Fs aG9zdApob3N0bmFtZT0kKGNhdCAkUk9PVC9ldGMvaG9zdG5hbWUgMj4vZGV2L251bGwpCnNldHVw LWludGVyZmFjZXMgLWkgPDxFT0YKYXV0byBsbwppZmFjZSBsbyBpbmV0IGxvb3BiYWNrCgphdXRv IGV0aDAKaWZhY2UgZXRoMCBpbmV0IGRoY3AKCWhvc3RuYW1lICRob3N0bmFtZQoKYXV0byBldGgx CmlmYWNlIGV0aDEgaW5ldCBkaGNwCglob3N0bmFtZSAkaG9zdG5hbWUKRU9GCi9ldGMvaW5pdC5k L25ldHdvcmtpbmcgLS1xdWlldCBzdGFydCA+L2Rldi9udWxsCnBhc3N3ZApzZXR1cC10aW1lem9u ZSAteiBFdXJvcGUvQW1zdGVyZGFtCnNldHVwLXByb3h5IG5vbmUKc2V0dXAtYXBrcmVwb3MgLWYK c2V0dXAtc3NoZCAtYyBub25lCnNldHVwLW50cCAtYyBjaHJvbnk= --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="tmp.sh" Content-Description: tmp.sh Content-Disposition: attachment; filename="tmp.sh"; size=222; creation-date="Mon, 28 Jan 2019 21:07:59 GMT"; modification-date="Mon, 28 Jan 2019 21:07:59 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCmhvc3RuYW1lPSQoY2F0ICRST09UL2V0Yy9ob3N0bmFtZSAyPi9kZXYvbnVsbCkK c2V0dXAtaW50ZXJmYWNlcyAtaSA8PEVPRgphdXRvIGxvCmlmYWNlIGxvIGluZXQgbG9vcGJhY2sK CmF1dG8gZXRoMAppZmFjZSBldGgwIGluZXQgZGhjcAoJaG9zdG5hbWUgJGhvc3RuYW1lCgphdXRv IGV0aDEKaWZhY2UgZXRoMSBpbmV0IGRoY3AKCWhvc3RuYW1lICRob3N0bmFtZQpFT0YK --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_ Content-Type: application/x-sh; name="update-config.sh" Content-Description: update-config.sh Content-Disposition: attachment; filename="update-config.sh"; size=1443; creation-date="Mon, 28 Jan 2019 21:07:59 GMT"; modification-date="Mon, 28 Jan 2019 21:07:59 GMT" Content-Transfer-Encoding: base64 IyEvYmluL3NoCmJvb3RfVVVJRD0kKGJsa2lkIHwgYXdrICJcJDEgPT0gXCIvZGV2L3NkYTI6XCIg eyBwcmludCBcJDIgfSIgfCBjdXQgLWQnIicgLWYyKQpsdm1fVVVJRD0kKGJsa2lkIHwgYXdrICJc JDEgPT0gXCIvZGV2L3NkYTM6XCIgeyBwcmludCBcJDIgfSIgfCBjdXQgLWQnIicgLWYyKQpyb290 X1VVSUQ9JChibGtpZCB8IGF3ayAiXCQxID09IFwiL2Rldi9tYXBwZXIvdmcwLXJvb3Q6XCIgeyBw cmludCBcJDIgfSIgfCBjdXQgLWQnIicgLWYyKQpzd2FwX1VVSUQ9JChibGtpZCB8IGF3ayAiXCQx ID09IFwiL2Rldi9tYXBwZXIvdmcwLXN3YXA6XCIgeyBwcmludCBcJDIgfSIgfCBjdXQgLWQnIicg LWYyKQoKcHJpbnRmICJ0YXJnZXQ9J2Jvb3RjcnlwdCdcbiIgPj4gL21udC9ldGMvY29uZi5kL2Rt Y3J5cHQKcHJpbnRmICJzb3VyY2U9VVVJRD1cIiRib290X1VVSURcIlxuIiA+PiAvbW50L2V0Yy9j b25mLmQvZG1jcnlwdAojY2hyb290IC9tbnQgcmMtdXBkYXRlIGFkZCBkbWNyeXB0IGJvb3QKY2hy b290IC9tbnQgbG4gLXMgL2V0Yy9pbml0LmQvZG1jcnlwdCAvZXRjL3J1bmxldmVscy9ib290L2Rt Y3J5cHQKcHJpbnRmICJVVUlEPSRzd2FwX1VVSURcdHN3YXBcdHN3YXBcdGRlZmF1bHRcdDAgMFxu IiA+PiAvbW50L2V0Yy9mc3RhYgpwcmludGYgJ2ZlYXR1cmVzPSJhdGEgYmFzZSBpZGUgc2NzaSB1 c2IgdmlydGlvIGV4dDQgbHZtIGNyeXB0c2V0dXAiXG4nID4gL21udC9ldGMvbWtpbml0ZnMvbWtp bml0ZnMuY29uZgpta2luaXRmcyAtYyAvbW50L2V0Yy9ta2luaXRmcy9ta2luaXRmcy5jb25mIC1i IC9tbnQvICQobHMgL21udC9saWIvbW9kdWxlcy8pCgpta2RpciAtcCAvbW50L2Jvb3QvZ3J1Yi8K bWtkaXIgLXAgL2V0Yy9kZWZhdWx0LwpjYXQgPiAvbW50L2Jvb3QvZ3J1Yi9ncnViLmNmZyA8PEVP RgpzZXQgdGltZW91dD0yCmluc21vZCBhbGxfdmlkZW8KbWVudWVudHJ5ICJBbHBpbmUgTGludXgi IHsKCWxpbnV4CS9ib290L3ZtbGludXotdmFuaWxsYSBtb2R1bGVzPXNkLW1vZCx1c2Itc3RvcmFn ZSxleHQ0IGNyeXB0cm9vdD1VVUlEPSRsdm1fVVVJRCBjcnlwdGRtPWx2bWNyeXB0IHJvb3Q9VVVJ RD0kcm9vdF9VVUlEIG5vbW9kZXNldCBxdWlldCByb290ZnN0eXBlPWV4dDQKCWluaXRyZAkvYm9v dC9pbml0cmFtZnMtdmFuaWxsYQp9CkVPRgpjYXQgPj4gL2V0Yy9kZWZhdWx0L2dydWIgPDxFT0YK R1JVQl9FTkFCTEVfQ1JZUFRPRElTSz15CkVPRgpncnViLWluc3RhbGwgLS10YXJnZXQ9eDg2XzY0 LWVmaSAtLWJvb3Rsb2FkZXItaWQ9YWxwaW5lIC0tYm9vdC1kaXJlY3Rvcnk9L21udC9ib290IC0t ZWZpLWRpcmVjdG9yeT0vbW50L2Jvb3QvZWZpIC0tcmVjaGVjayAtLW5vLW52cmFtCmluc3RhbGwg LUQgL21udC9ib290L2VmaS9FRkkvYWxwaW5lL2dydWJ4NjQuZWZpIC9tbnQvYm9vdC9lZmkvRUZJ L2Jvb3QvYm9vdHg2NC5lZmkK --_014_AM0PR0402MB36992851B8E24D520CABC6908F960AM0PR0402MB3699_-- --- Unsubscribe: alpine-user+unsubscribe@lists.alpinelinux.org Help: alpine-user+help@lists.alpinelinux.org ---