All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony PERARD <anthony.perard@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: <xen-devel@lists.xenproject.org>, <iwj@xenproject.org>,
	<cardoe@cardoe.com>, <wl@xen.org>, <andrew.cooper3@citrix.com>,
	"Stefano Stabellini" <stefano.stabellini@xilinx.com>
Subject: Re: [PATCH 3/3] automation: add a QEMU based x86_64 Dom0/DomU test
Date: Fri, 22 Oct 2021 14:03:17 +0100	[thread overview]
Message-ID: <YXK2lTWZHiTXIBtJ@perard> (raw)
In-Reply-To: <20211021230839.10794-3-sstabellini@kernel.org>

On Thu, Oct 21, 2021 at 04:08:39PM -0700, Stefano Stabellini wrote:
> diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
> new file mode 100644
> index 0000000000..41b05210d6
> --- /dev/null
> +++ b/automation/scripts/qemu-alpine-x86_64.sh
> @@ -0,0 +1,92 @@
> +#!/bin/bash
> +
> +set -ex
> +
> +apt-get -qy update
> +apt-get -qy install --no-install-recommends qemu-system-x86 \
> +                                            cpio \
> +                                            curl \
> +                                            busybox-static

Please, don't install packages during the CI job. If you need new
packages, update the container.

That said, "curl" doesn't seems to be needed.

> +# DomU Busybox
> +cd binaries
> +mkdir -p initrd
> +mkdir -p initrd/bin
> +mkdir -p initrd/sbin
> +mkdir -p initrd/etc
> +mkdir -p initrd/dev
> +mkdir -p initrd/proc
> +mkdir -p initrd/sys
> +mkdir -p initrd/lib
> +mkdir -p initrd/var
> +mkdir -p initrd/mnt
> +cp /bin/busybox initrd/bin/busybox
> +initrd/bin/busybox --install initrd/bin
> +echo "#!/bin/sh
> +
> +mount -t proc proc /proc
> +mount -t sysfs sysfs /sys
> +mount -t devtmpfs devtmpfs /dev
> +/bin/sh" > initrd/init
> +chmod +x initrd/init
> +cd initrd
> +find . | cpio --create --format='newc' | gzip > ../initrd.cpio.gz

This isn't confusing at all, depending on the tool used to make an
archive, the resulting initrd has a different purpose :-).
    initrd.tar.gz -> dom0
    initrd.cpio.gz -> domU

> +cd ..

Maybe add a comment here saying that we are now preparing dom0 root
filesystem? (as there is one for domu)

> +mkdir -p rootfs
> +cd rootfs
> +tar xvzf ../initrd.tar.gz
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +cp -ar ../dist/install/* .
> +mv ../initrd.cpio.gz ./root
> +cp ../bzImage ./root
> +echo "name=\"test\"
> +memory=512
> +vcpus=1
> +kernel=\"/root/bzImage\"
> +ramdisk=\"/root/initrd.cpio.gz\"
> +extra=\"console=hvc0 root=/dev/ram0 rdinit=/bin/sh\"
> +" > root/test.cfg
> +echo "#!/bin/bash
> +

Maybe add `set -x` ?

> +export LD_LIBRARY_PATH=/usr/local/lib
> +bash /etc/init.d/xencommons start
> +
> +xl list
> +
> +xl create -c /root/test.cfg
> +
> +" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +find . |cpio -H newc -o|gzip > ../xen-rootfs.cpio.gz
> +cd ../..
> +
> +cat >> binaries/pxelinux.0 <<- EOF

So, I've look at <<- meaning as I never used that before and it seems to
remove all leading tab chr from the input, yet they are no tab in the
input. So maybe use just <<EOF instead, without the dash -.

> +#!ipxe
> +
> +kernel xen console=com1
> +module bzImage console=hvc0
> +module xen-rootfs.cpio.gz
> +boot
> +EOF

Thanks,

-- 
Anthony PERARD


  reply	other threads:[~2021-10-22 13:03 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21 23:08 [PATCH 0/3] automation: introduce an x86_64 Dom0/DomU test Stefano Stabellini
2021-10-21 23:08 ` [PATCH 1/3] automation: add x86_64 alpine 3.12 test-artifact Stefano Stabellini
2021-10-22 12:37   ` Anthony PERARD
2021-10-22 12:54   ` Andrew Cooper
2021-10-22 20:01     ` Stefano Stabellini
2021-10-21 23:08 ` [PATCH 2/3] automation: Linux 5.10.74 test-artifact Stefano Stabellini
2021-10-22 12:38   ` Anthony PERARD
2021-10-22 20:02     ` Stefano Stabellini
2021-10-22 13:00   ` Andrew Cooper
2021-10-22 19:41     ` Stefano Stabellini
2021-10-25  5:15       ` Juergen Gross
2021-10-26  0:54         ` Stefano Stabellini
2021-10-27  7:34           ` Juergen Gross
2021-10-27 22:44             ` Stefano Stabellini
2021-10-27 23:24               ` Stefano Stabellini
2021-10-28  7:00                 ` Juergen Gross
2021-10-28 16:41                   ` Stefano Stabellini
2021-10-29  5:43                     ` Juergen Gross
2021-11-02  0:12                       ` Stefano Stabellini
2021-10-21 23:08 ` [PATCH 3/3] automation: add a QEMU based x86_64 Dom0/DomU test Stefano Stabellini
2021-10-22 13:03   ` Anthony PERARD [this message]
2021-10-22 20:05     ` Stefano Stabellini
2021-10-25 16:13       ` Anthony PERARD
2021-10-26  1:33         ` Stefano Stabellini
2021-10-27 13:59           ` Anthony PERARD
2021-10-27 21:43             ` Solving the gitlab-ci git fetch issue, was: " Stefano Stabellini
2021-10-28  9:48               ` Anthony PERARD
2021-10-28 14:19                 ` Stefano Stabellini
2021-10-22  9:25 ` [PATCH 0/3] automation: introduce an " Ian Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YXK2lTWZHiTXIBtJ@perard \
    --to=anthony.perard@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=cardoe@cardoe.com \
    --cc=iwj@xenproject.org \
    --cc=sstabellini@kernel.org \
    --cc=stefano.stabellini@xilinx.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.