《tiny4412启动》

1.编译uboot

a) 安装好toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并设置好

   环境变量PATH,保证可以正常使用。

 sudo tar -xvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz –C /

 sudo vim /etc/environment修改PATH为:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.5.1/bin"

问题:

  了解几种保存环境变量的方式有什么不同?

b) 解压 uboot_tiny4412-20130729.tgz 并进入相应的目录

   tar xzf uboot_tiny4412-20130729.tgz

c) 配置 uboot 并编译

   cd uboot_tiny4412

   make tiny4412_config

   make

d) 编译 用于生成bl2 的工具

   make -C sd_fuse

2.制作SD卡启动

  假设sd卡在linux中被识别为/dev/sdb。

    cd sd_fuse/tiny4412

  ./sd_fusing.sh /dev/sdb

3.启动uboot

  将sd卡插入开发板,选择SD卡启动,开启后就能看到uboot的启动信息。如果开发板是1506的,那么用光盘中的uboot只有打印ok,因为光盘中的uboot是针对1306,1506相对于1306少了两块ddr。要使用最新的uboot,在友善论坛可以找到最新的uboot。

4.编译内核

  1.cp  tiny4412_linux_defconfig  .config

  2.make menuconfig

  然后将CONFIG_ARM_TRUSTZONE选项去掉,可以在.config中直接去掉。原版的内核配置是和superboot配套的,但是uboot里面暂不支持改功能,如果不去掉,在启动内核的时候,就会提示Uncompressing linux.....done,booting the kernel。

  3.关电取出SD卡,并将PC机上的内核zImage拷到SD卡上的第一个分区 fat32。

  4.fatls mmc 0:1 /      //查看第0个MMC设备 第一个分区 的分区目录

  5.fatload mmc 0:1 0x40008000  zImage    //将SD卡里面的zImage加载到内存地址0x40008000

  6.bootm 0x40008000

问题:

  正常bootm是引导uImage的,这里如果使用go 0x40008000还是启动不了。了解bootm和go的不同之处?

  7.如果可以正常启动内核,那么再次进入uboot:

     set bootcmd "fatload mmc 0:1 0x40008000  zImage ;bootm 0x40008000

          save

5.虚拟机安装nfs

  sudo apt-get install portmap

  sudo apt-get install nfs-kernel-server

  sudo apt-get install nfs-common

猜你喜欢

转载自www.cnblogs.com/zhuangquan/p/11547062.html