Message ID | alpine.DEB.2.22.394.2407251715040.4857@ubuntu-linux-20-04-desktop (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | automation: upgrade Yocto to scarthgap | expand |
On Thu, 25 Jul 2024, Stefano Stabellini wrote: > Upgrade Yocto to a newer version. Use ext4 as image format for testing > with QEMU on ARM and ARM64 as the default is WIC and it is not available > for our xen-image-minimal target. > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> This patch has a couple of issues, I'll send an update > --- > I am running one last test (that takes hours) I'll make sure it passes > before I commit anything. > --- > automation/build/yocto/build-yocto.sh | 9 +++++++-- > automation/build/yocto/yocto.inc | 4 ++-- > automation/gitlab-ci/build.yaml | 2 +- > 3 files changed, 10 insertions(+), 5 deletions(-) > > diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh > index 93ce81ce82..e7a03c4b10 100755 > --- a/automation/build/yocto/build-yocto.sh > +++ b/automation/build/yocto/build-yocto.sh > @@ -25,6 +25,7 @@ TARGET_SUPPORTED="qemuarm qemuarm64 qemux86-64" > VERBOSE="n" > TARGETLIST="" > BUILDJOBS="8" > +EXT4="ext4" > > # actions to do > do_clean="n" > @@ -38,8 +39,9 @@ build_result=0 > # layers to include in the project > build_layerlist="poky/meta poky/meta-poky poky/meta-yocto-bsp \ > meta-openembedded/meta-oe meta-openembedded/meta-python \ > + meta-openembedded/meta-networking \ > meta-openembedded/meta-filesystems \ > - meta-openembedded/meta-networking meta-virtualization" > + meta-virtualization" > > # yocto image to build > build_image="xen-image-minimal" > @@ -83,6 +85,9 @@ function run_task() { > function project_create() { > target="${1:?}" > destdir="${BUILDDIR}/${target}" > + if [ $target = "qemux86-64" ]; then > + EXT4="" > + fi > > ( > # init yocto project > @@ -196,7 +201,7 @@ function project_run() { > > /usr/bin/expect <<EOF > set timeout 1000 > -spawn bash -c "runqemu serialstdio nographic slirp" > +spawn bash -c "runqemu serialstdio nographic slirp ${EXT4}" > > expect_after { > -re "(.*)\r" { > diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/yocto.inc > index 2f3b1a5b2a..209df7dde9 100644 > --- a/automation/build/yocto/yocto.inc > +++ b/automation/build/yocto/yocto.inc > @@ -6,10 +6,10 @@ > # YOCTOVERSION-TARGET for x86_64 hosts > # YOCTOVERSION-TARGET-arm64v8 for arm64 hosts > # For example you can build an arm64 container with the following command: > -# make yocto/kirkstone-qemuarm64-arm64v8 > +# make yocto/scarthgap-qemuarm64-arm64v8 > > # Yocto versions we are currently using. > -YOCTO_VERSION = kirkstone > +YOCTO_VERSION = scarthgap > > # Yocto BSPs we want to build for. > YOCTO_TARGETS = qemuarm64 qemuarm qemux86-64 > diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml > index 7ce88d38e7..32045cef0c 100644 > --- a/automation/gitlab-ci/build.yaml > +++ b/automation/gitlab-ci/build.yaml > @@ -212,7 +212,7 @@ > script: > - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD} ${YOCTO_OUTPUT} > variables: > - YOCTO_VERSION: kirkstone > + YOCTO_VERSION: scarthgap > CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}${YOCTO_HOST} > artifacts: > paths: > -- > 2.25.1 >
diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh index 93ce81ce82..e7a03c4b10 100755 --- a/automation/build/yocto/build-yocto.sh +++ b/automation/build/yocto/build-yocto.sh @@ -25,6 +25,7 @@ TARGET_SUPPORTED="qemuarm qemuarm64 qemux86-64" VERBOSE="n" TARGETLIST="" BUILDJOBS="8" +EXT4="ext4" # actions to do do_clean="n" @@ -38,8 +39,9 @@ build_result=0 # layers to include in the project build_layerlist="poky/meta poky/meta-poky poky/meta-yocto-bsp \ meta-openembedded/meta-oe meta-openembedded/meta-python \ + meta-openembedded/meta-networking \ meta-openembedded/meta-filesystems \ - meta-openembedded/meta-networking meta-virtualization" + meta-virtualization" # yocto image to build build_image="xen-image-minimal" @@ -83,6 +85,9 @@ function run_task() { function project_create() { target="${1:?}" destdir="${BUILDDIR}/${target}" + if [ $target = "qemux86-64" ]; then + EXT4="" + fi ( # init yocto project @@ -196,7 +201,7 @@ function project_run() { /usr/bin/expect <<EOF set timeout 1000 -spawn bash -c "runqemu serialstdio nographic slirp" +spawn bash -c "runqemu serialstdio nographic slirp ${EXT4}" expect_after { -re "(.*)\r" { diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/yocto.inc index 2f3b1a5b2a..209df7dde9 100644 --- a/automation/build/yocto/yocto.inc +++ b/automation/build/yocto/yocto.inc @@ -6,10 +6,10 @@ # YOCTOVERSION-TARGET for x86_64 hosts # YOCTOVERSION-TARGET-arm64v8 for arm64 hosts # For example you can build an arm64 container with the following command: -# make yocto/kirkstone-qemuarm64-arm64v8 +# make yocto/scarthgap-qemuarm64-arm64v8 # Yocto versions we are currently using. -YOCTO_VERSION = kirkstone +YOCTO_VERSION = scarthgap # Yocto BSPs we want to build for. YOCTO_TARGETS = qemuarm64 qemuarm qemux86-64 diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index 7ce88d38e7..32045cef0c 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -212,7 +212,7 @@ script: - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD} ${YOCTO_OUTPUT} variables: - YOCTO_VERSION: kirkstone + YOCTO_VERSION: scarthgap CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}${YOCTO_HOST} artifacts: paths:
Upgrade Yocto to a newer version. Use ext4 as image format for testing with QEMU on ARM and ARM64 as the default is WIC and it is not available for our xen-image-minimal target. Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com> --- I am running one last test (that takes hours) I'll make sure it passes before I commit anything. --- automation/build/yocto/build-yocto.sh | 9 +++++++-- automation/build/yocto/yocto.inc | 4 ++-- automation/gitlab-ci/build.yaml | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-)