1 |
Please read my background [arm17] email before reviewing this. This is |
2 |
my first news item so please be kind! I have deliberately chosen |
3 |
News-Item-Format 1.0 to include older systems and because I do not need |
4 |
any 2.0 features. |
5 |
|
6 |
|
7 |
Title: ARM 17.0 profile migration with CHOST change |
8 |
Author: James Le Cuirot <chewi@g.o> |
9 |
Content-Type: text/plain |
10 |
Posted: 2018-07-24 |
11 |
Revision: 1 |
12 |
News-Item-Format: 1.0 |
13 |
Display-If-Keyword: arm |
14 |
|
15 |
The new 17.0 profiles for ARM are now officially available. This not |
16 |
only features the PIE migration previously announced for other |
17 |
architectures but also a triplet (CHOST) change for hardfloat systems. |
18 |
|
19 |
In short, the triplet will change from armv7a-hardfloat-linux-gnueabi |
20 |
to armv7a-unknown-linux-gnueabihf or similar. This is to fall in line |
21 |
with what the rest of the Linux community are now using. If the vendor |
22 |
(2nd) part of your triplet is different or missing then you may keep |
23 |
it as it is. The hf ending is what matters. |
24 |
|
25 |
If you are using an unversioned alternative profile such as |
26 |
hardened/linux/arm/armv7a then the default CHOST will have changed for |
27 |
you already. Hopefully, you were shielded from the change by having |
28 |
CHOST explicitly set in your make.conf. In this case, a migration is |
29 |
still required. |
30 |
|
31 |
Changing CHOST is never simple and does carry some risk. We encourage |
32 |
users to migrate but if you do not have sys-devel/llvm on your system |
33 |
and you do not cross-compile for ARM then you may choose to keep your |
34 |
existing CHOST. We will continue to support this to some degree |
35 |
although we cannot promise that other packages will not be affected in |
36 |
future. |
37 |
|
38 |
If you choose not to migrate or your system is not hardfloat then you |
39 |
must ensure that CHOST is explicitly set in make.conf and then proceed |
40 |
with a regular 17.0 migration to deal with PIE as detailed here: |
41 |
|
42 |
https://www.gentoo.org/support/news-items/2017-11-30-new-17-profiles.html |
43 |
|
44 |
Otherwise, if you do wish to migrate then we have written a script to |
45 |
do the necessary steps for you: |
46 |
|
47 |
https://gist.github.com/chewi/1601684ad8f3cf8de0b786c00fa09b3c |
48 |
|
49 |
It takes a minimal backup of the existing toolchain with quickpkg |
50 |
before changing anything but we strongly recommend that you take a |
51 |
full backup first. The script echos each command as it goes along so |
52 |
that you can keep an eye on what it's doing. You are, of course, |
53 |
welcome to tinker with the script or perform the migration manually if |
54 |
you think you know your own system better. It is heavily commented for |
55 |
this reason. |
56 |
|
57 |
If the script fails then you can take remedial action before running |
58 |
it again and it should skip any time-consuming builds that it has |
59 |
already done. If the migration doesn't go to plan then please do seek |
60 |
help in #gentoo-arm. |
61 |
|
62 |
A migration of this kind can justify rebuilding @world but with ARM |
63 |
typically being very slow, the script does just the minimum |
64 |
necessary. You are free to rebuild @world yourself after running it. |
65 |
|
66 |
-- |
67 |
James Le Cuirot (chewi) |
68 |
Gentoo Linux Developer |