@@ -83,12 +83,12 @@ To run the image,
83
83
A number of these images take quite a long time to compile as they're building
84
84
whole gcc toolchains to do cross builds with. Much of this is relatively
85
85
self-explanatory but some images use [crosstool-ng] which isn't quite as self
86
- explanatory. Below is a description of where these `*.config ` files come form,
86
+ explanatory. Below is a description of where these `*.defconfig ` files come form,
87
87
how to generate them, and how the existing ones were generated.
88
88
89
89
[crosstool-ng]: https://github.com/crosstool-ng/crosstool-ng
90
90
91
- ### Generating a `.config ` file
91
+ ### Generating a `.defconfig ` file
92
92
93
93
**NOTE:** Existing Dockerfiles can also be a good guide for the process and order
94
94
of script execution.
@@ -100,14 +100,14 @@ next two steps.
100
100
these steps are outside the container:
101
101
102
102
```
103
- # Note: We use ubuntu:16 .04 because that's the "base" of linux-cross Docker
103
+ # Note: We use ubuntu:22 .04 because that's the "base" of linux-cross Docker
104
104
# image, or simply run ./src/ci/docker/run.sh once, which will download the correct
105
105
# one and you can check it out with ` docker images `
106
- $ docker run -it ubuntu:16 .04 bash
106
+ $ docker run -it ubuntu:22 .04 bash
107
107
# in another terminal:
108
108
$ docker ps
109
109
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
110
- cfbec05ed730 ubuntu:16 .04 "bash" 16 seconds ago Up 15 seconds drunk_murdock
110
+ cfbec05ed730 ubuntu:22 .04 "bash" 16 seconds ago Up 15 seconds drunk_murdock
111
111
$ docker cp src/ci/docker/scripts drunk_murdock:/tmp/
112
112
```
113
113
@@ -127,7 +127,7 @@ $ bash ./crosstool-ng.sh
127
127
present. Otherwise one can use the TUI to load any config-file.
128
128
129
129
```
130
- $ docker cp arm-linux-gnueabi.config drunk_murdock:/tmp/.config
130
+ $ docker cp arm-linux-gnueabi.defconfig drunk_murdock:/tmp/.config
131
131
```
132
132
133
133
- Now, inside the container run the following command to configure the
@@ -136,29 +136,31 @@ $ docker cp arm-linux-gnueabi.config drunk_murdock:/tmp/.config
136
136
137
137
```
138
138
$ cd /tmp/
139
+ $ ct-ng olddefconfig
139
140
$ ct-ng menuconfig
141
+ $ ct-ng savedefconfig
140
142
```
141
143
142
- - Finally, we retrieve the `.config ` file from the container and give it a
144
+ - Finally, we retrieve the `defconfig ` file from the container and give it a
143
145
meaningful name. This is done outside the container.
144
146
145
147
```
146
- $ docker cp drunk_murdock:/tmp/.config arm-linux-gnueabi.config
148
+ $ docker cp drunk_murdock:/tmp/defconfig arm-linux-gnueabi.defconfig
147
149
```
148
150
149
151
- Now you can shutdown the container or repeat the two last steps to generate a
150
- new `.config ` file.
152
+ new `.defconfig ` file.
151
153
152
154
### Toolchain configuration
153
155
154
156
Changes on top of the default toolchain configuration used to generate the
155
- `.config ` files in this directory. The changes are formatted as follows:
157
+ `.defconfig ` files in this directory. The changes are formatted as follows:
156
158
157
159
```
158
160
$category > $option = $value -- $comment
159
161
```
160
162
161
- ### `arm-linux-gnueabi.config `
163
+ ### `arm-linux-gnueabi.defconfig `
162
164
163
165
For targets: `arm-unknown-linux-gnueabi`
164
166
@@ -175,7 +177,7 @@ For targets: `arm-unknown-linux-gnueabi`
175
177
- C compiler > gcc version = 8.5.0
176
178
- C compiler > C++ = ENABLE -- to cross compile LLVM
177
179
178
- ### `arm-linux-gnueabihf.config `
180
+ ### `arm-linux-gnueabihf.defconfig `
179
181
180
182
For targets: `arm-unknown-linux-gnueabihf`
181
183
@@ -194,7 +196,7 @@ For targets: `arm-unknown-linux-gnueabihf`
194
196
- C compiler > gcc version = 8.5.0
195
197
- C compiler > C++ = ENABLE -- to cross compile LLVM
196
198
197
- ### `armv7-linux-gnueabihf.config `
199
+ ### `armv7-linux-gnueabihf.defconfig `
198
200
199
201
For targets: `armv7-unknown-linux-gnueabihf`
200
202
@@ -220,7 +222,7 @@ For targets: `armv7-unknown-linux-gnueabihf`
220
222
libraries like jemalloc. See the mk/cfg/arm(v7)-unknown-linux-gnueabi{,hf}.mk
221
223
file in Rust's source code.
222
224
223
- ### `aarch64-linux-gnu.config `
225
+ ### `aarch64-linux-gnu.defconfig `
224
226
225
227
For targets: `aarch64-unknown-linux-gnu`
226
228
@@ -236,7 +238,7 @@ For targets: `aarch64-unknown-linux-gnu`
236
238
- C compiler > gcc version = 8.5.0
237
239
- C compiler > C++ = ENABLE -- to cross compile LLVM
238
240
239
- ### `i586-linux-gnu.config `
241
+ ### `i586-linux-gnu.defconfig `
240
242
241
243
For targets: `i586-unknown-linux-gnu`
242
244
@@ -255,7 +257,7 @@ For targets: `i586-unknown-linux-gnu`
255
257
(\*) Compressed debug is enabled by default for gas (assembly) on Linux/x86 targets,
256
258
but that makes our `compiler_builtins` incompatible with binutils < 2.32.
257
259
258
- ### `mips-linux-gnu.config `
260
+ ### `mips-linux-gnu.defconfig `
259
261
260
262
For targets: `mips-unknown-linux-gnu`
261
263
@@ -277,7 +279,7 @@ For targets: `mips-unknown-linux-gnu`
277
279
- C compiler > gcc extra config = --with-fp-32=xx --with-odd-spreg-32=no
278
280
- C compiler > C++ = ENABLE -- to cross compile LLVM
279
281
280
- ### `mipsel-linux-gnu.config `
282
+ ### `mipsel-linux-gnu.defconfig `
281
283
282
284
For targets: `mipsel-unknown-linux-gnu`
283
285
@@ -299,7 +301,7 @@ For targets: `mipsel-unknown-linux-gnu`
299
301
- C compiler > gcc extra config = --with-fp-32=xx --with-odd-spreg-32=no
300
302
- C compiler > C++ = ENABLE -- to cross compile LLVM
301
303
302
- ### `mips64-linux-gnu.config `
304
+ ### `mips64-linux-gnu.defconfig `
303
305
304
306
For targets: `mips64-unknown-linux-gnuabi64`
305
307
@@ -320,7 +322,7 @@ For targets: `mips64-unknown-linux-gnuabi64`
320
322
- C compiler > gcc version = 8.5.0
321
323
- C compiler > C++ = ENABLE -- to cross compile LLVM
322
324
323
- ### `mips64el-linux-gnu.config `
325
+ ### `mips64el-linux-gnu.defconfig `
324
326
325
327
For targets: `mips64el-unknown-linux-gnuabi64`
326
328
@@ -341,7 +343,7 @@ For targets: `mips64el-unknown-linux-gnuabi64`
341
343
- C compiler > gcc version = 8.5.0
342
344
- C compiler > C++ = ENABLE -- to cross compile LLVM
343
345
344
- ### `powerpc-linux-gnu.config `
346
+ ### `powerpc-linux-gnu.defconfig `
345
347
346
348
For targets: `powerpc-unknown-linux-gnu`
347
349
@@ -357,7 +359,7 @@ For targets: `powerpc-unknown-linux-gnu`
357
359
- C compiler > gcc version = 8.5.0
358
360
- C compiler > C++ = ENABLE -- to cross compile LLVM
359
361
360
- ### `powerpc64-linux-gnu.config `
362
+ ### `powerpc64-linux-gnu.defconfig `
361
363
362
364
For targets: `powerpc64-unknown-linux-gnu`
363
365
@@ -377,7 +379,7 @@ For targets: `powerpc64-unknown-linux-gnu`
377
379
378
380
(+) These CPU options match the configuration of the toolchains in RHEL6.
379
381
380
- ### `riscv64-unknown-linux-gnu.config `
382
+ ### `riscv64-unknown-linux-gnu.defconfig `
381
383
382
384
For targets: `riscv64-unknown-linux-gnu`
383
385
@@ -393,7 +395,7 @@ For targets: `riscv64-unknown-linux-gnu`
393
395
- C compiler > gcc version = 8.5.0
394
396
- C compiler > C++ = ENABLE -- to cross compile LLVM
395
397
396
- ### `s390x-linux-gnu.config `
398
+ ### `s390x-linux-gnu.defconfig `
397
399
398
400
For targets: `s390x-unknown-linux-gnu`
399
401
0 commit comments