export PATH=$PATH:/home/oct1158/Downloads/arm-gnu-toolchain-14.2.rel1-x86_64-arm-none-linux-gnueabihf/bin
【在电脑上交叉编译gcc14.2】(虚拟机系统为fedora42)
cd ~/Downloads
wget
https://mirror.marwan.ma/gcc/releases/gcc-14.2.0/gcc-14.2.0.tar.gzmkdir gcc
cd gcc
tar xzf ../gcc-14.2.0.tar.gz
cd gcc-14.2.0
contrib/download_prerequisites
(执行这条命令要很长时间,因为这个脚本要从网上下载5个压缩包,可以新开一个窗口在gcc-14.2.0目录下执行ls -l *.tar.*看看下载进度)
cd ..
mkdir _build
cd _build
../gcc-14.2.0/configure --host=arm-none-linux-gnueabihf --target=arm-none-linux-gnueabihf --with-bugurl="
https://bugs.linaro.org/" --enable-shared --disable-libssp --disable-libmudflap --enable-checking=yes --enable-languages=c,c++,fortran --with-arch=armv7-a --with-fpu=neon --with-float=hard --with-mode=thumb --disable-werror
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar czf gcc-14.2.0-binary.tar.gz usr
mv gcc-14.2.0-binary.tar.gz /var/www/html/oct1158
【在电脑上交叉编译binutils2.44】
(在XP系统下,用firefox52.9esr浏览器和chrome49浏览器访问
https://www.gnu.org/software/binutils/,提示Too Many Requests,但是用Supermium124浏览器却能正常访问)
cd ~/Downloads
wget
https://ftp.gnu.org/gnu/binutils/binutils-2.44.tar.gztar xf binutils-2.44.tar.gz
cd binutils-2.44
./configure --host=arm-none-linux-gnueabihf
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar czf binutils-2.44-binary.tar.gz usr
mv binutils-2.44-binary.tar.gz /var/www/html/oct1158
【在电脑上交叉编译make4.4】
cd ~/Downloads
wget
https://ftp.gnu.org/gnu/make/make-4.4.tar.gztar xf make-4.4.tar.gz
cd make-4.4
./configure --host=arm-none-linux-gnueabihf
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar czf make-4.4-binary.tar.gz usr
mv make-4.4-binary.tar.gz /var/www/html/oct1158
【在电脑上交叉编译ncurses6.5】
cd ~/Downloads
wget
https://ftp.gnu.org/gnu/ncurses/ncurses-6.5.tar.gztar xf ncurses-6.5.tar.gz
cd ncurses-6.5
./configure --host=arm-none-linux-gnueabihf --with-shared
make
修改progs/Makefile文件里面第82行的INSTALL_PROG变量,在变量值的末尾添加
--strip-program=arm-none-linux-gnueabihf-strip
然后make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar czf ncurses-6.5-binary.tar.gz usr
mv ncurses-6.5-binary.tar.gz /var/www/html/oct1158
【在电脑上交叉编译gdb14.2】
cd ~/Downloads
wget
https://ftp.gnu.org/gnu/gdb/gdb-14.2.tar.gzmkdir gdb
cd gdb
tar xf ../gcc/gcc-14.2.0/gmp-6.2.1.tar.bz2
cd gmp-6.2.1
./configure --host=arm-none-linux-gnueabihf --enable-shared=no
make
make install DESTDIR=$(pwd)/_install
cd ..
tar xf ../gcc/gcc-14.2.0/mpfr-4.1.0.tar.bz2
cd mpfr-4.1.0
./configure --host=arm-none-linux-gnueabihf --with-gmp=../gmp-6.2.1/_install/usr/local --enable-shared=no
make
make install DESTDIR=$(pwd)/_install
修改_install/usr/local/lib/libmpfr.la文件,第20行
dependency_libs=' -L/home/oct1158/Downloads/gdb/gmp-6.2.1/_install/usr/local/lib /usr/local/lib/libgmp.la'
改成
dependency_libs=' -L/home/oct1158/Downloads/gdb/gmp-6.2.1/_install/usr/local/lib'
以免后面报libtool: link: cannot find the library `/usr/local/lib/libgmp.la' or unhandled argument `/usr/local/lib/libgmp.la'的错误
cd ..
tar xf ../gdb-14.2.tar.gz
mkdir _build
cd _build
../gdb-14.2/configure --host=arm-none-linux-gnueabihf --target=arm-none-linux-gnueabihf --enable-64-bit-bfd --enable-targets=arm-none-eabi,arm-none-linux-gnueabihf,armeb-none-eabi,armeb-none-linux-gnueabihf --with-bugurl="
https://bugs.linaro.org/" --enable-initfini-array --enable-plugins --enable-tui --disable-binutils --disable-sim --disable-as --disable-ld --disable-doc --disable-gdbtk --disable-nls --disable-werror --without-x --with-gmp=$(pwd)/../gmp-6.2.1/_install/usr/local --with-mpfr=$(pwd)/../mpfr-4.1.0/_install/usr/local
make CFLAGS="-I$(pwd)/../../ncurses-6.5/_install/usr/include" CPPFLAGS="-I$(pwd)/../../ncurses-6.5/_install/usr/include" LDFLAGS="-L$(pwd)/../../ncurses-6.5/_install/usr/lib"
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar czf gdb-14.2-binary.tar.gz usr
mv gdb-14.2-binary.tar.gz /var/www/html/oct1158
【在电脑上交叉编译file5.46】
cd ~/Downloads
wget
https://www.astron.com/pub/file/file-5.46.tar.gztar xf file-5.46.tar.gz
cd file-5.46
./configure --host=arm-none-linux-gnueabihf
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar czf file-5.46-binary.tar.gz usr
mv file-5.46-binary.tar.gz /var/www/html/oct1158
【在电脑上交叉编译findutils4.10(里面有locate命令)】
cd ~/Downloads
wget
https://ftp.gnu.org/gnu/findutils/findutils-4.10.0.tar.xztar xf findutils-4.10.0.tar.xz
cd findutils-4.10.0
./configure --host=arm-none-linux-gnueabihf
make
make install DESTDIR=$(pwd)/_install
cd _install
sudo chown -R root:root usr
tar czf findutils-4.10.0-binary.tar.gz usr
mv findutils-4.10.0-binary.tar.gz /var/www/html/oct1158
【安装到板子上】
cd /mnt/sdfat
wget
https://192.168.4.42/oct1158/gcc-14.2.0-binary.tar.gz --no-check-certificate
tar xzf gcc-14.2.0-binary.tar.gz -C /
wget
https://192.168.4.42/oct1158/binutils-2.44-binary.tar.gz --no-check-certificate
tar xzf binutils-2.44-binary.tar.gz -C /
wget
https://192.168.4.42/oct1158/make-4.4-binary.tar.gz --no-check-certificate
tar xzf make-4.4-binary.tar.gz -C /
wget
https://192.168.4.42/oct1158/ncurses-6.5-binary.tar.gz --no-check-certificate
tar xzf ncurses-6.5-binary.tar.gz -C /
wget
https://192.168.4.42/oct1158/gdb-14.2-binary.tar.gz --no-check-certificate
tar xzf gdb-14.2-binary.tar.gz -C /
wget
https://192.168.4.42/oct1158/file-5.46-binary.tar.gz --no-check-certificate
tar xzf file-5.46-binary.tar.gz -C /
wget
https://192.168.4.42/oct1158/findutils-4.10.0-binary.tar.gz --no-check-certificate
tar xzf findutils-4.10.0-binary.tar.gz -C /
ldconfig
updatedb