aboutsummaryrefslogtreecommitdiffstats
path: root/README.txt
blob: e1a1c27a7ce9b3c4592641702ac0804593fe5eb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

http://crosstool-ng.org/

+++

Distribution Compatibility Notes (Debian 10 Buster):
    C library       : glibc-2.28
    Binutils        : binutils-2.31.1
    Compiler        : gcc-8.3.0; static libstdc++
    Linux           : linux-4.20.8 (Debian 10: 4.19)

glibc-2.28 allows compatibility with Debian >= 10

+++

0) Install crosstool-ng 1.24.0 for building crosstools

 apt-get install help2man python3-dev

 cd crosstool-ng-1.24.0
 ./configure --prefix=/usr/local
 make
 sudo make install

1) Some local preparations

 # where the cross-tools will be build, aka cross-tools projects
 mkdir /usr/local/projects/crosstool-ng-projects ; cd /usr/local/projects/crosstool-ng-projects

 # where the cross-tools will be installed and run from
 mkdir /usr/local/x-tools

 export CT_PREFIX=/usr/local/x-tools

2) Build for armv7-unknown-linux-gnueabihf

    mkdir armv7-unknown-linux-gnueabihf ; cd armv7-unknown-linux-gnueabihf
    
    ct-ng armv7-rpi2-linux-gnueabihf 
    ct-ng menuconfig
    Target          : arm; Def Instr arm; EABI; ** Append 'hf' to tuple; 'v7' arch suffix; ** Combing Libs Single Dir; 
                      MMU; Little-Endian; 32-bit; ** TUNE armv7; FPU ''; hardware FPU **
    Toolchain       : Sysroot, 'unknown' Tuple's vendor, 

    Languages       : C,C++
    OS              : linux-4.20.8; Check Headers, build libs
    Binutils        : binutils-2.31.1
    Compiler        : gcc-8.3.0; static libstdc++
    C library       : glibc-2.28
    Debug tools     : duma-2_5_15 gdb-8.2.1 ltrace-0.7.3 strace-4.26
    Companion libs  : expat-2.2.6 gettext-0.19.8.1 gmp-6.1.2 isl-0.20 libelf-0.8.13 libiconv-1.15 mpc-1.1.0 mpfr-4.0.2 ncurses-6.1
    Companion tools : automake-1.16.1

    ct-ng build

3) Build for aarch64-unknown-linux-gnu

    mkdir aarch64-unknown-linux-gnu ; cd aarch64-unknown-linux-gnu
    
    ct-ng aarch64-unknown-linux-gnu
    Languages       : C,C++
    OS              : linux-4.20.8
    Binutils        : binutils-2.31.1
    Compiler        : gcc-8.3.0; static libstdc++
    C library       : glibc-2.28
    Debug tools     : gdb-8.2.1
    Companion libs  : expat-2.2.6 gettext-0.19.8.1 gmp-6.1.2 isl-0.20 libiconv-1.15 mpc-1.1.0 mpfr-4.0.2 ncurses-6.1 zlib-1.2.11
    Companion tools : automake-1.16.1

    ct-ng build