HoRain云--Ubuntu18.04 ARM交叉编译cURL7.61.0指南

  

🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

🔧 安装交叉编译工具链

📦 获取 cURL 源代码

⚙️ 配置编译环境

🔨 编译与安装

📝 验证与部署

💡 注意事项


img

在 Ubuntu 18.04 上为 ARM 架构交叉编译 cURL 7.61.0,能让你在嵌入式设备上使用这个强大的网络工具。下面是具体的操作步骤。

🔧 安装交叉编译工具链

首先需要安装针对目标架构的交叉编译器。

  • 对于 ARMv7(32位)​ 架构,可以使用以下命令安装:

    sudo apt-get install gcc-arm-linux-gnueabihf
  • 对于 AArch64(64位)​ 架构,可以安装:

    sudo apt-get install gcc-aarch64-linux-gnu

安装完成后,可以通过命令 arm-linux-gnueabihf-gcc -vaarch64-linux-gnu-gcc -v来验证编译器是否安装成功 。

📦 获取 cURL 源代码

接下来需要获取 cURL 的源代码包。

  • 通过 wget命令直接从官网下载:

    wget https://curl.haxx.se/download/curl-7.61.0.tar.gz
  • 下载完成后,解压并进入源码目录:

    tar -xvf curl-7.61.0.tar.gz
    cd curl-7.61.0

⚙️ 配置编译环境

在编译前,需要进行配置以生成适合目标平台的 Makefile。

  • 基本配置:以下是一个基本的配置示例,假设安装到 /usr/arm-linux-gnueabihf目录:

    ./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux CC=arm-linux-gnueabihf-gcc

    参数说明:

    • --prefix:指定安装目录。

    • --host:指定目标平台。

    • CC:指定交叉编译器。

  • 添加 HTTPS 支持:如果需要 cURL 支持 HTTPS 协议,需要先交叉编译 OpenSSL​ ,并在配置 cURL 时指明其路径:

    ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc \
    CPPFLAGS="-I/path/to/openssl/include" \
    LDFLAGS="-L/path/to/openssl/lib" \
    --with-ssl

    这里的路径需要替换为你实际编译安装 OpenSSL 的路径。

🔨 编译与安装

配置完成后,就可以开始编译和安装了。

  • 使用 make命令进行编译,可以加入 -j参数利用多核加速(例如 make -j4表示用4个线程编译)。

  • 编译成功后,执行安装命令:

    make install

    编译好的文件(可执行文件、库文件等)将会存放在配置时 --prefix参数指定的目录中。

📝 验证与部署

编译安装完成后,建议进行验证。

  • 在安装目录的 bin文件夹下,可以使用 file命令检查生成的 curl可执行文件:

    file ./curl

    如果输出中显示为 ARM 架构,例如 "ARM executable",则表明交叉编译成功 。

  • 最后,将安装目录下的文件复制到你的目标 ARM 设备上即可使用。

💡 注意事项

在交叉编译过程中,请留意以下几点:

  1. 工具链路径:如果交叉编译器不在系统默认路径中,需要将其所在目录添加到 PATH环境变量里 。

  2. 依赖库:cURL 的功能依赖如 OpenSSL、zlib 等库,这些库也需要针对目标平台进行交叉编译,并在配置 cURL 时通过 CPPFLAGSLDFLAGS等变量正确指定其头文件和库文件路径 。

  3. 目标设备兼容性:确保交叉编译器的版本与目标设备上系统的库版本相匹配,以避免运行时出现链接错误。

希望这份指南能帮助你在 Ubuntu 18.04 上顺利完成 cURL 的交叉编译。如果在编译过程中遇到具体问题,例如某些依赖库如何交叉编译,可以参考提供的搜索结果来源,或者随时提出更具体的问题。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

要使用适用于树莓派4的 Ubuntu 18.04.5 预装服务器 ARM64 镜像文件 `ubuntu-18.04.5-preinstalled-server-arm64+raspi4.img.xz`,需要完成以下步骤:下载镜像、解压、写入 SD 卡、启动系统并进行基础配置。 ### 下载镜像 首先,确保你已经从官方渠道获取了适用于树莓派4的 Ubuntu Server 18.04.5 ARM64 镜像文件。你可以访问 Ubuntu 官方镜像站点获取该文件: ```bash wget http://cdimage.ubuntu.com/ubuntu/releases/18.04.3/release/ubuntu-18.04.3-preinstalled-server-arm64+raspi3.img.xz ``` 请注意,尽管上述链接是针对树莓派3的,但也可以用于树莓派4的基本测试环境搭建 [^1]。 ### 解压镜像文件 由于下载的镜像是 `.xz` 格式,因此需要先对其进行解压。可以使用 `xz` 命令来解压: ```bash xz -d ubuntu-18.04.5-preinstalled-server-arm64+raspi4.img.xz ``` ### 写入 SD 卡 推荐使用 **Balena Etcher** 工具将镜像写入 SD 卡。安装 Balena Etcher 的方法如下: ```bash curl -1sLf 'https://dl.cloudsmith.io/public/balena/etcher/setup.deb.sh' | sudo -E bash sudo apt-get update sudo apt-get install balena-etcher-electron ``` 打开 Balena Etcher,选择解压后的 `.img` 文件,然后选择目标 SD 卡设备,点击“Flash”开始写入 [^2]。 ### 启动系统 将写入完成的 SD 卡插入树莓派4,连接电源即可启动 Ubuntu 系统。首次启动时会自动扩展根分区以适应 SD 卡容量。可以通过串口或者 HDMI 接口查看启动过程,也可以通过 SSH 进行远程登录(默认用户名为 `ubuntu`,密码也为 `ubuntu`,首次登录后会提示更改密码)。 ### 网络配置 为了更方便地管理树莓派4上的 Ubuntu 系统,建议配置静态 IP 地址或确保 DHCP 可用。例如,若希望手动设置网络,可编辑 `/etc/netplan/` 目录下的配置文件,并应用新的网络配置: ```yaml network: version: 2 ethernets: eth0: dhcp4: true optional: true ``` 保存后执行: ```bash sudo netplan apply ``` 如需配置 Wi-Fi,请参考相关引用中的内容进行修改 [^5]。 ### 更换软件源 为了提高软件包更新和安装速度,建议更换为国内镜像源,例如清华大学开源软件镜像站: ```bash sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $DISTRIB_CODENAME main restricted universe multiverse" > /etc/apt/sources.list' sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $DISTRIB_CODENAME-updates main restricted universe multiverse" >> /etc/apt/sources.list' sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $DISTRIB_CODENAME-backports main restricted universe multiverse" >> /etc/apt/sources.list' sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ $DISTRIB_CODENAME-security main restricted universe multiverse" >> /etc/apt/sources.list' ``` 随后运行 `sudo apt update` 更新软件包列表 [^3]。 ### 安装桌面环境(可选) 如果你希望在树莓派上使用图形界面,可以安装轻量级桌面环境,如 Xfce 或 LXDE: ```bash sudo apt install xfce4 ``` 安装完成后,可以使用 VNC 或者直接连接显示器进行图形化登录 [^2]。 ### 远程访问(可选) 对于远程管理,可以使用 SSH 登录。如果需要图形化远程桌面访问,可以在 Ubuntu 上安装 `xrdp` 并配置远程桌面客户端: ```bash sudo apt install xrdp sudo systemctl enable xrdp sudo systemctl start xrdp ``` 之后,在 Windows 上打开远程桌面工具(mstsc),输入树莓派的 IP 地址即可连接 [^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值