@@ -5,28 +5,31 @@ Scripts I use to do continuous integration for linuxppc.
55
66Still (and probably always) under heavy development.
77
8+ > [ !NOTE]
9+ > The scripts notionally work with ` docker ` or ` podman ` , but they're only regularly tested with ` podman ` on Fedora.
10+
811Quick start
912-----------
1013
1114Make sure you can run containers.
1215
13- On Ubuntu the scripts will use ` docker ` , on Fedora they will use ` podman ` .
16+ On Fedora the scripts will use ` podman ` , on Ubuntu they use ` docker ` ,
1417
1518You need a Linux source tree, which hasn't been built in. You can make sure it's
1619clean with ` make mrproper ` , or clone a fresh tree.
1720
18- Clone this repo.
21+ Clone this repo. The examples use ` ~/ci-scripts ` for brevity, but the repo can be located anywhere.
1922
2023```
2124$ cd ci-scripts
2225$ cd build
23- $ make pull-image@ppc64le@ubuntu
24- $ make SRC=~/src/linux kernel@ppc64le@ubuntu JFACTOR=$(nproc)
26+ $ make pull-image@ppc64le@fedora
27+ $ make SRC=~/src/linux kernel@ppc64le@fedora JFACTOR=$(nproc)
2528```
2629
27- This will build you a ` ppc64le_defconfig ` using the latest Ubuntu toolchain.
30+ This will build you a ` ppc64le_defconfig ` using the latest Fedora toolchain.
2831
29- The kernel will be in ` output/ppc64le@ubuntu/ppc64le_defconfig /vmlinux` .
32+ The kernel will be in ` ~/ci/scripts/build/output/latest-kernel /vmlinux` .
3033
3134For more help try ` make help ` .
3235
@@ -36,14 +39,14 @@ Building different defconfigs
3639You can specify a defconfig with ` DEFCONFIG ` .
3740
3841```
39- $ make SRC=~/src/linux kernel@ppc64le@ubuntu DEFCONFIG=powernv_defconfig JFACTOR=$(nproc)
42+ $ make SRC=~/src/linux kernel@ppc64le@fedora DEFCONFIG=powernv_defconfig JFACTOR=$(nproc)
4043```
4144
4245Note that the subarch (eg. ` ppc64le ` ) needs to match the defconfig, so to build
4346` ppc64_defconfig ` , use ` ppc64 ` .
4447
4548```
46- $ make SRC=~/src/linux kernel@ppc64@ubuntu DEFCONFIG=ppc64_defconfig JFACTOR=$(nproc)
49+ $ make SRC=~/src/linux kernel@ppc64@fedora DEFCONFIG=ppc64_defconfig JFACTOR=$(nproc)
4750```
4851
4952Different toolchains
@@ -113,13 +116,13 @@ Other options
113116
114117As mentioned above you pass the make -j factor with ` JFACTOR=n ` .
115118
116- To run sparse use the ` ubuntu ` image and pass ` SPARSE=2 ` .
119+ To run sparse use the ` fedora ` image and pass ` SPARSE=2 ` .
117120
118121```
119- $ make SRC=~/src/linux kernel@ppc64le@ubuntu SPARSE=2 JFACTOR=$(nproc)
122+ $ make SRC=~/src/linux kernel@ppc64le@fedora SPARSE=2 JFACTOR=$(nproc)
120123```
121124
122- The log will be in eg. ` output/ppc64le@ubuntu/ppc64le_defconfig /sparse.log` .
125+ The log will be in eg. ` ~/ci-scripts/build/output/latest-kernel /sparse.log` .
123126
124127To only run sparse on files being recompiled, pass ` SPARSE=1 ` .
125128
@@ -149,7 +152,7 @@ Building your own image
149152If you don't want to pull an untrusted image, you can build it yourself with:
150153
151154```
152- $ make rebuild-image@ppc64le@ubuntu
155+ $ make rebuild-image@ppc64le@fedora
153156```
154157
155158Note that the build mounts the source tree read-only, so nothing it does can
@@ -171,17 +174,19 @@ $ cd ~/linux
171174```
172175
173176```
174- $ make SRC=$PWD -C ~/ci-scripts/build QUIET=1 JFACTOR=$(nproc) ppctests@ppc64le@ubuntu@16 .04 INSTALL=1
177+ $ make SRC=$PWD -C ~/ci-scripts/build QUIET=1 JFACTOR=$(nproc) ppctests@ppc64le@ubuntu@22 .04 INSTALL=1
175178```
176179
177- :rotating_light : Using an old Ubuntu image uses an older libc, which is more
178- likely to be present on the guest root filesystem. Another option is to build
179- the selftests statically.
180+ > [ !NOTE]
181+ > :rotating_light : Building the selftests with Ubuntu 22.04 uses glibc 2.35.
182+ > The default rootdisk uses glibc 2.36, so there should be no issue with missing
183+ > symbols in glibc. If using another root disk you may need to build with an older
184+ > Ubuntu image. Another option is to build the selftests statically.
180185
181186Tar up the selftests into the current directory, the qemu scripts will detect them:
182187
183188```
184- $ tar -czf selftests.tar.gz -C $HOME/ci-scripts/build/output/selftests_powerpc@ppc64le@ubuntu@16.04 / install
189+ $ tar -czf selftests.tar.gz -C $HOME/ci-scripts/build/output/latest-selftests / install
185190```
186191
187192```
0 commit comments