工具速览
以下是本文介绍的工具:
工具 | 描述 | 使用方法 | Web |
---|---|---|---|
SourceInsight3 | Windows下的优秀的代码编辑器 | 安装 使用 | 下载 |
install-devel-packages.sh | 基本1:Ubuntu12.04库文件安装脚本 | 使用 | 浏览 |
update_gcc.txt | 基本2:gcc降级命令 | 使用 | 浏览 |
arm-2009q3.tar.bz2 | 基本3:交叉编译器 | 安装 使用 | 下载 |
make | 基本4:make3.8.1执行Makefile的工具 | 使用 | 自带 |
mkfs_2tools.tgz | 2个打包工具,mkimage、make_ext4fs | 安装 使用 | 下载 |
SourceInsight3
安装
-
下载地址:点这
-
解压后如下图
-
双击安装文件进行安装
-
将汉化的入口程序替换安装好的入口程序
-
打开入口程序,按提示输入序列号激活
使用
-
新建一个目录存放SourceInsight的项目文件,我在Linux内核根目录新建了文件夹_SI
-
打开SourceInsight3,选择_SI目录作为项目文件夹,选择内核根目录作为项目文件来源
-
然后会进入“添加删除项目文件”页,选择从列表加入,这里下载导入列表
-
文件出现在下面列表框后,选择关闭即可
install-devel-packages.sh
基本要素:该脚本是安装库文件用的,适用于Ubuntu12.04,从这里下载
无法下载就复制内容到新建的install-devel-packages.sh
文本中
使用
- 给予执行权限
chmod +x install-devel-packages.sh
- 执行脚本
./install-devel-packages.sh
,过程中有些安装需要选择y - 再次运行“./install-devel-packages.sh”之后,提示没有无法安装的库和软件,那么表明已经安装完全了。
update_gcc.txt
基本要素:该文本记录了降级gcc的命令。浏览地址
使用
将文本中的命令依次拷贝到终端中执行。
arm-2009q3.tar.bz2
安装
基本要素:交叉编译工具,用于编译出适用arm的可执行文件。
-
下载地址 点这
-
将下载的压缩文件拷贝到
/usr/local/arm/
(没有arm/文件夹就新建一个) -
解压文件
1
tar -vxf arm-2009q3.tar.bz2
-
修改交叉编译工具的路径(修改环境变量)
1 2
cd /root vim .bashrc
在root用户的用户目录下环境变量文件.bashrc的最后一行添加如下信息:
1
export PATH=$PATH:/usr/local/arm/arm-2009q3/bin
执行
source ~/.bashrc
使其生效。扩展:系统基本的环境变量可修改
/etc/profile
,同样的source /etc/profile
生效 -
在root用户登录下输入
arm-
,多次按tab如果出现arm-none-linux-gnueabi-*
就安装成功
使用
和gcc使用方法一样,只不过生成的执行文件是运行在arm平台的。
编译:
arm-none-linux-gnueabi-gcc hello.c -o hello
瘦身:
arm-none-linux-gnueabi-strip hello
静态编译(库打包在执行文件中):
arm-none-linux-gnueabi-gcc hello.c -o hello -static
make
基本要素:Ubuntu12.04自带make-3.8.1。
使用
最常用的是make
,该命令会寻找当前目录中的Makefile脚本进行执行。
下面是一个Makefile模板:
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
obj-m += hello.o
KDIR := /home/jerry/Projects/iTop4412_Kernel_3.0
PWD ?= $(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -rf *.o
执行make后默认执行make all
,结果是把hello.c
编译成hello.o
以及模块hello.ko
。
执行make clean
会删除当前目录中所有*.o
文件。
mkfs_2tools.tgz
安装
该压缩包用于系统打包,包含两个工具:mkimage和make_ext4fs。
-
下载地址 点这
-
将下载的压缩文件拷贝到根目录/进行解压
1
tar -vxf mkfs_2tools.tgz
解压后在
/usr/local/bin/
目录得到文件mkimage和make_ext4fs。
使用
以下命令是打包最小linux的命令,300M可以调整:
1
make_ext4fs -s -l 300M -a root -L Linux system.img system
-s
表示s模式制作;-l 300M
表示使用大小;-a root
表示安卓挂载点;-L Linux
是一个标签;system.img
是打包生成的文件;最后的system/
是打包的路径。
下面是一个例子,正常生成了system.img,不过目标文件夹里的是测试文件所以生成的镜像没啥意义: