Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3786048
  • 博文数量: 880
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 6155
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-11 09:12
个人简介

To be a better coder

文章分类

全部博文(880)

文章存档

2022年(5)

2021年(60)

2020年(175)

2019年(207)

2018年(210)

2017年(142)

2016年(81)

分类: LINUX

2020-04-09 16:48:59

https://www.cnblogs.com/wxishang1991/p/5322507.html
=========================================================
仅以一个arm-linux-gcc讲解交叉编译工具安装配置,许多用户安装后编译或者查看gcc时出现: not found,出现这种情况是环境配置有问题。当然网上也有许多配置说明,但许多都只能在root用户下使用,切换为普通用户后会又出现: not found,其实还是环境配置不完整,只配置了root用户下的环境变量,而没有配置当前普通用户的环境变量。下面我将介绍一下我的配置方法:
 
一、解压安装交叉编译工具arm-linux-gcc-4.4.3
1、首先打开终端以root用户登入;
2、复制arm-linux-gcc-4.4.3.tar.gz到根目录/mytools/文件夹下(新建文件夹mytools,将工具放到一个文件夹下方便管理);
3、在终端输入解压命令tar zxvf arm-linux-gcc-4.4.3.tar.gz(其中arm-linux-gcc-4.4.3.tar.gz为安装包名称);
 
二、环境配置(root用户和当前普通用户)
1、配置root用户编译环境路径
     打开终端先切换为root用户
     在终端输入cd /root/
     在终端输入 vim .bashrc 命令,在打开的文件最后一行加上下面代码
     export PATH=/mytools/FriendlyARM/toolschain/4.4.3/bin:$PATH (交叉编译工具的位置)
     保存关闭
     在终端 输入 source .bashrc 命令(使刚刚添加的环境变量生效)。
     在终端输入 arm-linux-gcc -v 如果安装成功将会输出arm-linux-gcc的版本号
 
2、若想让它在非超级用户下使用
     在终端输入 vim /etc/bash.bashrc 命令,在打开的文件的末尾加入
     export PATH=/mytools/FriendlyARM/toolschain/4.4.3/bin:$PATH
     在终端输入 vim /etc/profile  命令,在打开的文件的末尾加入
     export PATH=/mytools/FriendlyARM/toolschain/4.4.3/bin:$PATH
     保存对文件bash.bashrc和profile的修改
     在终端输入 source /etc/bash.bashrc 命令,使之生效
     在终端输入 source /etc/profile 命令,使之生效

     执行arm-linux-gcc -v 查看是否成功,若出现gcc版本信息则安装配置成功
————————————————
版权声明:本文为CSDN博主「墨尘笔尖」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kpengk/java/article/details/80845262
========================================================
我的Ubuntu版本是14.04

1、在官网下载Linux内核源码
    官网地址:

2、解压Linux内核源码

3、安装arm-gcc交叉编译工具链:sudo apt-get install arm-linux-gnueabi

4、内核版本大于3.0的方法:(2.6的版本好像更直接一点)
    到Linux内核源码的arch/arm/config找到对应的配置文件,将需要的配置文件拷贝到Linux内核的根目录下,例如:
    我使用的内核版本是:linux-3.16.57.tar.xz
    我到  ./linux-3.16.57/arch/arm/configs目录下,找到我对应的配置文件。我的硬件型号是NXP的IMX7,所以我将imx_v6_v7_defconfig文件拷贝到./linux-3.16.57目录下

    
5、修改Makefile,Makefile在解压的源码的根目录下:
    打开Makefile在Makefile中找到

        ARCH        ?= $(SUBARCH)
        CROSS_COMPILE    ?= $(CONFIG_CROSS_COMPILE:"%"=%)
    并修改成:
        ARCH        ?= arm
        CROSS_COMPILE    ?= arm-linux-gnueabi-
     保存。
        
6、执行命令:make imx_v6_v7_defconfig
    会生成一个.config的隐藏文件,通过ls -a命令可以显示出来

7、安装图形界面:sudo apt-get install ncurses-dev

8、执行make menuconfig打开图形界面,通过对图形界面的选择来配置内核,你想要什么功能,你就选择什么功能。
    按 y 是选中
    按 n 是取消
    按 m 是将改功能编译成模块
    
    选择完毕之后,保存,退出。
    
    
9、执行 make -j2 zImage 开始编译内核
    -j2 :    开启两个线程进行编译。-j4就是开启4个线程编译
    zImage    是我们要生成的目标镜像

 

注:在编译的过程中,有可能会出现错误,我就出现了:

/bin/sh: 1: lzop: not found

出现错误后,我开始很慌张,后来我把错误进行了百度,网上一般都有解决的办法。

我这个问题解决的办法是:

sudo apt-get install lzop

然后 :

      make -j2 zImage

继续编译,编译会从错误处继续。
 
=========================================================

下载 arm-linux-gcc-5.4.0.tar   链接:   提取码:l0wt 

解压并在 /etc/profile 中最后一行添加路径 : export PATH=$PATH:/home/ubt/arm/5.4.0/bin

重启reboot生效

=========================================================

下载arm-linux-gcc 4.2.3

安装arm-linux-gcc 4.2.3
sudo tar  xvzf arm-linux-gcc-4.3.2.tar.gz  -C /

此时将安装到/usr/local/arm下面

设置环境变量

gedit ~/.profile
在打开的文件最后加入以下命令
export PATH=$PATH:/usr/local/arm/4.3.2/bin

接着执行: source ~/.profile

然后输入 arm-linux-gcc -v ,如果能显示到版本就代表成功了

要编译内核之前,需要先注销一下再进入系统,我也不知道为什么


linux 内核编译

下载linux 2.6.26 内核源代码

解压下载下来的压缩包,修改解压出来的根目录中的makefile文件,定位到193行处

更改为
#ARCH  ?= $(SUBARCH)
#CROSS_COMPILE ?=
ARCH  ?= arm
CROSS_COMPILE ?= arm-linux-

make menuconfig 
选择 Load an Alternate Configation File 回车
删除.config,  输入linux-2.6.26/arch/arm/configs中你要选择的XXXXX_defconfig文件的绝对路径

选择 save an Alternate Configation File 回车此处显示的是我们刚选择的defconfig文件路径,删除掉,改为linux 2.6.26 解压路径下的.config(XXXXXX/.config)

make zImage

编译顺利的话,几分钟后会在arm/boot 下生成 zImage


=========================================================
1、配置root用户编译环境路径
     打开终端先切换为root用户
     在终端输入cd /root/
     在终端输入 vim .bashrc 命令,在打开的文件最后一行加上下面代码
     export PATH=/mytools/FriendlyARM/toolschain/4.4.3/bin:$PATH (交叉编译工具的位置)
     保存关闭
     在终端 输入 source .bashrc 命令(使刚刚添加的环境变量生效)。
     在终端输入 arm-linux-gcc -v 如果安装成功将会输出arm-linux-gcc的版本号
————————————————
版权声明:本文为CSDN博主「墨尘笔尖」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kpengk/java/article/details/80845262

阅读(790) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~