利用docker搭建ubuntu arm32进行交叉编译

利用docker搭建ubuntu arm32进行交叉编译

准备docker

下载qemu:

sudo apt-get install -y qemu-user-static

登录docker

docker login

解决docker的Get https://registry-1.docker.io/v2/: net/http: request canceled 报错

vim /etc/docker/daemon.json

写入自定义仓库

{
  "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

重启docker服务

systemctl restart docker.service

pull docker的arm32v7/ubuntu

docker pull arm32v7/ubuntu

启动ubuntu arm

docker run -it -v /usr/bin/qemu-arm-static -v /home:/home -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -v /etc/shadow:/etc/shadow arm32v7/ubuntu:latest

退出docker容器

直接使用exit和快捷 方式(Ctrl+D)退出的容器,如果还想重新启动,需要使用命令 docker start 容器id或容器名称

docker ps -l #查看最近用过的容器

在这里插入图片描述

docker start friendly_dhawan #通过名称启动容器
docker attach friendly_dhawan #进入容器

在这里插入图片描述

进入arm32编译

修改系统默认的编译工具链:

update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100
update-alternatives --install /usr/bin/ld ld /usr/bin/ld 100

然后使用apt-get build-dep命令安装编译所需的依赖,例如:

sudo apt-get build-dep bash

使用apt-get source命令获取源码并进行编译:

apt-get source bash
cd bash-*
dpkg-buildpackage -rfakeroot -b -uc -us

这里使用了dpkg-buildpackage命令来进行编译,在编译过程中会自动调用系统默认的编译工具链.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值