个人笔记:交叉编译aarch64平台的systemd

【命令中的home路径是你自己的账号下载文件路径,有几个错误不知道正确的处理方法,自己瞎改的】
[我的机器Ubuntu版本]

uname -a

Linux ubuntu 5.0.0-38-generic #41-Ubuntu SMP Tue Dec 3 00:27:35 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

[交叉编译工具版本]

aarch64-linux-gcc --version

aarch64-linux-gcc (ctng-1.23.0-150g-FA) 6.4.0
Copyright © 2017 Free Software Foundation, Inc.

libcap、ncurses、libuuid、util-linux最好下载2017或者以前的版本,不要太旧。

[配置交叉编译工具]
设置非root用户交叉编译工具路径

vim ~/.bashrc

连续按大写GG到最后一行,添加下面命令

export PATH=/opt/FriendlyARM/toolchain/6.4-aarch64/bin/:$PATH

更新环境变量

source ~/.bashrc

设置root用户交叉编译工具路径

sudo su
vim /root/.bashrc

连续按大写GG到最后一行,添加下面命令

export PATH=/opt/FriendlyARM/toolchain/6.4-aarch64/bin/:$PATH

更新环境变量

source /root/.bashrc

[查看库文件路径]

aarch64-linux-gcc -print-file-name=libc.so

/opt/FriendlyARM/toolchain/6.4-aarch64/aarch64-cortexa53-linux-gnu/sysroot/usr/lib/…/lib64/libc.so
把lib/…/lib64/libc.so去掉作为–prefix=/opt/FriendlyARM/toolchain/6.4-aarch64/aarch64-cortexa53-linux-gnu/sysroot/usr

[编译libcap]libcap下载地址

wget https://mirrors.edge.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.25.tar.xz
tar xf libcap-2.25.tar.xz
cd libcap-2.25/
make prefix=/home/systemd/usr \
exec_prefix=/home/systemd/usr \
BUILD_CC=gcc \
CC=aarch64-linux-gcc \
AR=aarch64-linux-ar \
RANLIB=aarch64-linux-ranlib
sudo su
make prefix=/home/systemd/usr \
exec_prefix=/home/systemd/usr \
BUILD_CC=gcc \
CC=aarch64-linux-gcc \
AR=aarch64-linux-ar \
RANLIB=aarch64-linux-ranlib \
RAISE_SETFCAP=no install

切换新目录
[编译ncurses宽字符]ncurses下载地址

wget https://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
tar xf ncurses-6.0.tar.gz
cd ncurses-6.0/
./configure --host=aarch64-linux \
--prefix=/home/systemd/usr \
--exec-prefix=/home/systemd/usr \
--with-termlib \
--enable-widec \
--disable-stripping \
--with-shared \
--with-cxx-shared \
--without-manpages
报错:在./include/curses.tail中删除掉 /* generated */这个注释
make -j8
sudo su
make install

[编译ncurses非宽字符]

./configure --host=aarch64-linux \
--prefix=/home/systemd/usr \
--exec-prefix=/home/systemd/usr \
--with-termlib \
--disable-stripping \
--with-shared \
--with-cxx-shared \
--without-manpages
make -j8
sudo su
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值