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文件系统。