Linux的安装与编译
建立工作目录并解压源码包到工作目录
- 建立工作目录:(WORKDIR是用户建立的工作目录的路径)
$ mkdir <WORKDIR> -p
- 将光盘中05-Linux_Source目录下的软件包解压到工作目录:
$ cd <WORKDIR>
$ tar xvjf /media/cdrom/05-Linux_Source/U-Boot/u-boot.tar.bz2
$ tar xvjf /media/cdrom/05-Linux_Source/Linux_Kernel/linux-3.2.0.tar.bz2
$ tar xvjf /media/cdrom/05-Linux_Source/Rootfs/myd-am335x_rootfs.tar.bz2
安装交叉编译工具
- 安装必要的工具:
$ sudo apt-get install build-essential git-core libncurses5-dev
$ sudo apt-get install flex bison texinfo zip unzip zlib1g-dev gettext
$ sudo apt-get install gperf libsdl-dev libesd0-dev libwxgtk2.6-dev
$ sudo apt-get install uboot-mkimage
$ sudo apt-get install g++ xz-utils
- 解压交叉编译工具到指定目录(这里以解压到 WORKDIR 为例):
$ cd <WORKDIR>
$ cd /media/cdrom/03-Tools/Cross_compiler
$ tar xvjf \
gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2 -C <WORKDIR>
- 添加环境变量:
$ export PATH=$PATH:<WORKDIR>/\ gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin $ export CROSS_COMPILE=arm-linux-gnueabihf-
Uboot编译及参数设置
- 编译配置:
注:这里以编译使用4.3寸 LCD的u-boot为例,如果要编译使用7.0寸LCD或HDMI的u-boot,请使用相对应的配置文件:
显示模式 | 配置项 |
---|---|
LCD 4.3 inch (480 x 272) | myd_am335x_lcd4.3_config |
LCD 7.0 inch (800 x 480,电阻式) | myd_am335x_lcd7.0r_config |
LCD 7.0 inch (800 x 480,电容式) | myd_am335x_lcd7.0c_config |
HDMI 720P (1280 x 720) | myd_am335x_hdmi720p_config |
HDMI 640x480 | myd_am335x_hdmi640x480_config |
表 1-2
$ cd <WORKDIR>/u-boot
$ make distclean
$ make myd_am335x_lcd4.3_config
$ make
执行完上述操作后,当前目录下会生成启动代码映像MLO和u-boot.img文件。
- 启动配置:
MYD-AM335X有多种硬件配置,需要根据实际的硬件情况设置相应的参数。下面列出了u-boot参数与硬件的关系:
内存参数 | mem |
---|---|
DDR 256MB | 256M |
DDR 512MB | 512M |
表 1-3
显示和触摸屏参数 | board-am335xevm.display_mode |
---|---|
4.3寸电阻式触摸屏 | lcd4i3 |
7寸电阻式触摸屏 | lcd7ir |
7寸电容式触摸屏 | lcd7ic |
HDMI 720P | hdmi720p |
HDMI 640x480 | hdmi640x480 |
表 1-4
例如,在U-boot命令行中输入如下命令,将硬件设置为7.0寸电阻式触摸屏和256M内存:
# setenv optargs board-am335xevm.display_mode=lcd7ir mem=256M
# saveenv
安装Linux kernel源码并编译
- 安装必要工具:
$ sudo apt-get install ncurses-dev
$ sudo apt-get install uboot-mkimage
- 配置内核:
$ cd <WORKDIR>/linux-3.2.0
$ make distclean
$ make myd_am335x_defconfig
- 编译内核:
$ make uImage
执行完,上述操作后,在arch/arm/boot目录下会生成uImage文件。
文件系统制作
- 安装必要工具:
$ sudo apt-get install mtd-utils
- 从光盘中复制必要的工具:
$ cp /media/cdrom/03-Tools/mk-ubi-256mb <WORKDIR>
$ cp /media/cdrom/03-Tools/mk-ubi-512mb <WORKDIR>
$ cp /media/cdrom/03-Tools/ubinize_256M.cfg <WORKDIR>
$ cp /media/cdrom/03-Tools/ubinize_512M.cfg <WORKDIR>
如果某个工具没有可执行的权限,需要使用chmod命令给它添加可执行的权限,比如:
$ chmod +x WORKDIR/mk-ubi-256mb
- 制作适用于256M NandFlash的文件系统:
$ cd WORKDIR# ./mk-ubi-256mb myd-am335x_rootfs
执行完上述操作后,当前目录下生成的ubi.img文件,就是我们需要的适用于256M NandFlash的ubi文件系统。
- 制作适用于512M NandFlash的文件系统:
$ cd <WORKDIR>
$ ./mk-ubi-512mb myd-am335x_rootfs
执行完上述操作后,当前目录下生成的ubi.img文件,就是我们需要的适用于512M NandFlash的ubi文件系统。