Skip to content

Commit d3a5f88

Browse files
committed
Update README
Mention that podman is preferred. Use Fedora image in most examples. Use latest-kernel and latest-selftests in examples. Update selftest example to use Ubuntu 22.04.
1 parent 17caa1c commit d3a5f88

1 file changed

Lines changed: 22 additions & 17 deletions

File tree

README.md

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,31 @@ Scripts I use to do continuous integration for linuxppc.
55

66
Still (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+
811
Quick start
912
-----------
1013

1114
Make 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

1518
You need a Linux source tree, which hasn't been built in. You can make sure it's
1619
clean 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

3134
For more help try `make help`.
3235

@@ -36,14 +39,14 @@ Building different defconfigs
3639
You 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

4245
Note 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

4952
Different toolchains
@@ -113,13 +116,13 @@ Other options
113116

114117
As 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

124127
To only run sparse on files being recompiled, pass `SPARSE=1`.
125128

@@ -149,7 +152,7 @@ Building your own image
149152
If 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

155158
Note 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
181186
Tar 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

Comments
 (0)