toolchain安装教程支持_toolchain

toolchain安装教程支持_toolchaingccbuild glibcgcc patchbuild binutils 编译 binutils 的目录 build boot gcc 编译 gcc 启动部分的目录 build glibc 编译 glibc 的目录 build gcc 编译 gcc 全部的目录 gcc patch 放 gcc 的补丁的目录 gcc 2 95 3 的补丁有 gcc 2 95 3 2 patch gcc 2 95 3 no fixinc

gcc build-glibc gcc-patch

build-binutils-编译binutils的目录

build-boot-gcc-编译gcc 启动部分的目录

build-glibc-编译glibc的目录

build-gcc-编译gcc 全部的目录

gcc-patch-放gcc的补丁的目录

gcc-2.95.3 的补丁有 gcc-2.95.3-2.patch、gcc-2.95.3-no-fixinc.patch 和gcc-2.95.3-returntype-fix.patch,可以从 http://www.linuxfromscratch.org/ 下载到这些补丁。

再将你下载的 binutils-2.10.1、gcc-2.95.3、glibc-2.2.3 和 glibc-linuxthreads-2.2.3 的源代码放入 build-tools 目录中

看一下你的 build-tools 目录,有以下内容:

$ls

binutils-2.10.1.tar.bz2 build-gcc gcc-patch

build-binutls build-glibc glibc-2.2.3.tar.gz

build-boot-gcc gcc-2.95.3.tar.gz glibc-linuxthreads-2.2.3.tar.gz

建立内核头文件

把你从 www.kernel.org 下载的内核源代码放入 $PRJROOT /kernel 目录

进入你的 kernel 目录:

$cd $PRJROOT /kernel

解开内核源代码

$tar -xzvf linux-2.4.21.tar.gz

$tar -xjvf linux-2.4.21.tar.bz2

小于 2.4.19 的内核版本解开会生成一个 linux 目录,没带版本号,就将其改名。

$mv linux linux-2.4.x

给 Linux 内核打上你的补丁

$cd linux-2.4.21

$patch -p1 < ../patch-2.4.21-rmk2

编译内核生成头文件

$make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig

你也可以用 config 和 xconfig 来代替 menuconfig,但这样用可能会没有设置某些配置文件选项和没有生成下面编译所需的头文件。推荐大家用 make menuconfig,这也是内核开发人员用的最多的配置方法。配置完退出并保存,检查一下的内核目录中的 include/linux/version.h 和 include/linux/autoconf.h 文件是不是生成了,这是编译 glibc 是要用到的,version.h 和 autoconf.h 文件的存在,也说明了你生成了正确的头文件。

还要建立几个正确的链接

$cd include

$ln -s asm-arm asm

$cd asm

$ln -s arch-epxa arch

$ln -s proc-armv proc

接下来为你的交叉编译环境建立你的内核头文件的链接

$mkdir -p $TARGET_PREFIX/include

$ln -s $PRJROOT/kernel/linux-2.4.21/include/linux $TARGET_PREFIX/include/linux

$in -s $PRJROOT/kernel/linux-2.4.21/include/asm-arm $TARGET_PREFIX/include/asm

也可以把 Linux 内核头文件拷贝过来用

$mkdir -p $TARGET_PREFIX/include

$cp -r $PRJROOT/kernel/linux-2.4.21/include/linux $TARGET_PREFIX/include

$cp -r $PRJROOT/kernel/linux-2.4.21/include/asm-arm $TARGET_PREFIX/include

建立二进制工具(binutils)

binutils是一些二进制工具的集合,其中包含了我们常用到的as和ld。

首先,我们解压我们下载的binutils源文件。

$cd $PRJROOT/build-tools

$tar -xvjf binutils-2.10.1.tar.bz2

然后进入build-binutils目录配置和编译binutils。

$cd build-binutils

$../binutils-2.10.1/configure –target=$TARGET

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201556.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午9:08
下一篇 2026年3月20日 上午9:08


相关推荐

  • 智谱AI GLM-OCR

    智谱AI GLM-OCR

    2026年3月12日
    4
  • 国科大英语测试Unit3

    国科大英语测试Unit3TranslationandParaphrasingWithoutthe1968experimentsofKendall,FriedmanandTaylorattheStanfordLinearAcceleratorCenter(SLAC),quarkswouldhaveremainedameretheory,awill-o-wispwhoseexistencewasconfidentlypostulatedbutneverproven

    2022年6月3日
    47
  • SpringBoot实现文件上传接口[通俗易懂]

    SpringBoot实现文件上传接口[通俗易懂]摘要公司都是采用SpringBoot作为项目框架,其实SpringBoot和SSM框架很接近,基本上只是将SSM的一些配置项修改为自动配置或者简单的注解配置就可以了,建议不了解的SpringBoot的朋友们可以了解一下,上手很快,其实文件上传框架根本没有多大关系。我只是顺便帮SpringBoot打个广告罢了。正题需求:需要实现一个文件上传的web接口。1、先实现一个Controll…

    2022年6月12日
    59
  • 安卓蓝牙键盘鼠标映射_蓝牙鼠标模拟器

    安卓蓝牙键盘鼠标映射_蓝牙鼠标模拟器一直以来就有一种想法,就是自己写一个APP将安卓手机模拟成鼠标/键盘,应急的时候可以用来代替鼠标/键盘。之前也在国内外的网站上找了各种方案,但是这些方案不是很好,直到谷歌发布的API28后终于有了很好的解决方案。为了实现这个想法也走了不少弯路,也许方法不对吧,但看到最终完美运行的APP,心中还是很有成就感的。经测试装了此APP的手机能与几乎所有安卓手机、WIN10笔记本电脑连接并操作,苹果设备需要………

    2025年8月22日
    4
  • OpenClaw 飞书对接教程:Linux 一键部署与消息配置

    OpenClaw 飞书对接教程:Linux 一键部署与消息配置

    2026年3月13日
    4
  • LayUI树形表格treetable使用详解[通俗易懂]

    LayUI树形表格treetable使用详解[通俗易懂]LayUI是现在比较流行的一款前端框架,也有很多人基于LayUI开发了很多不错的组件,比如treetable树形表格。因为treetable是第三方基于LayUI开发的,所以需要先用Layui引入一下文件。layui.config({base:’static/layui/’}).extend({treetable:’treetable-lay/treetab…

    2022年6月13日
    304

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号