专栏中心

EEPW首页 > 专栏 > 使用skyeye运行uboot, linux-2.6.31和busybox (转载)

使用skyeye运行uboot, linux-2.6.31和busybox (转载)

发布人:HXW718059156 时间:2010-12-18 来源:工程师 发布文章
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://21cnbao.blog.51cto.com/109393/213771
LDD6410工程网址为:
http://code.google.com/p/ldd6410
代码通过svn管理,获取方法:
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://ldd6410.googlecode.com/svn/trunk/ ldd6410-read-only

本页讲解如何使用LDD6410工程的代码在skyeye中运行uboot、2.6.31内核及文件系统。由于目前skyeye还不支持s3c6410,所以我们生成的映像都是s3c2410的。 支持如何功能:
  • cs8900网卡
  • 320*240 16bpp LCD
  • tftp
  • nfs
  • u-boot
  • linux-2.6.31
  • busybox
  • 从u-boot引导linux-2.6.31
主机端配置 安装skyeye
  sudo apt-get install skyeye
安装配置tftp服务器
在主机端执行:
  sudo apt-get install tftpd-hpa
  sudo mkdir /home/tftp
  sudo chmod 777 /home/tftp
sudo vim /etc/default/tftpd-hpa修改文件内容为:
  RUN_DAEMON="yes
  OPTIONS="-l -c -s /home/tftp"
开启tftp服务:
  sudo /etc/init.d/tftpd-hpa start
  Starting HPA's tftpd: in.tftpd.
skyeye target从主机下载文件的方式是:
  tftp -r file -g 10.0.0.1
安装配置NFS服务器
在主机端执行:
  apt-get install nfs-kernel-server
  cd /home
  sudo ln -s tftp nfs
sudo vim /etc/exports修改该文件内容为:
  /home/nfs *(sync,rw)
运行exportfs -rv 开启NFS服务:
   /etc/init.d/nfs-kernel-server restart
在skyeye target上mount nfs的方法是:
   mount -t nfs -o nolock 10.0.0.1:/home/nfs /mnt
编译uboot、内核和文件系统 编译u-boot
进入工程源代码目录ldd6410/s3c-u-boot-1.1.6,运行make smdk2410_config,接着运行make得到u-boot映像。
编译内核
将ldd6410项目ldd6410/patches/2410-skyeye_ldd6410-project.patch拷贝到linux 2.6.31源代码目录,打patch:
  patch -p0 < 2410-skyeye_ldd6410-project.patch
接着运行: make smdk2410_skyeye_defconfig配置内核 make vmlinux得到内核的vmlinux映像。
制作根文件系统initrd.img
进入ldd6410工程代码的如下目录:ldd6410/utils/busybox-1.15.1 运行make menuconfig选择必要的项目,然后运行make,make install。make install运行的结果是会生成install,busybox对应的linuxrc, /bin, /sbin, /usr就在该目录了。 有了 busybox 后制作 initrd.img 就容易多了,只是说起来比较烦琐。以命令演示如下: 创建映像文件并挂到 initrd 目录
  mkdir initrd
  dd if=/dev/zero of=initrd.img bs=1k count=4096
  mke2fs -F -v initrd.img
  mount -o loop initrd.img initrd
将添加 busybox 到此映像文件
  cd initrd
  cp -r ../_install/* .
创建必要的目录
  mkdir proc lib etc dev root home var tmp
  chmod 777 tmp
建立设备文件
  cd dev
  mknod -m 644 console c 5 1
  mknod -m 644 null c 1 3
  mknod -m 640 ram b 1 1
  mknod -m 644 mem c 1 1
  cd ..
创建脚本文件 etc/inittab, 内容如下:
  ::sysinit:/etc/init.d/rcS
  ::askfirst:-/bin/sh
  ::restart:/sbin/init
  ::ctrlaltdel:/sbin/reboot
  ::shutdown:/bin/umount -a -r
  ::shutdown:/sbin/swapoff -a
设置此脚本执行权限
  chmod 644 etc/inittab
创建脚本文件 etc/init.d/rcS, 内容如下:
  #!/bin/sh
  /bin/mount -t proc none /proc
  /sbin/ifconfig lo 127.0.0.1 up
  /sbin/ifconfig eth0 10.0.0.2 netmask 255.0.0.0 up
  hostname skyeye
  mkdir /var/tmp
  mkdir /var/log
  mkdir /var/run
  mkdir /var/lock
  /bin/ash
设置此脚本执行权限
  chmod 755 etc/init.d/rcS
最后一步,执行实际的写入操作,生成 initrd.img
  cd ..
  umount initrd
运行
将编译得到的u-boot、vmlinux、initrd.img放入同一目录,将vmlinux拷入tftp服务器根目录。 可以直接运行Linux,使用http://ldd6410.googlecode.com/files/ldd6410-skyeye-pack.tar.gz 中的skyeye-standalone.conf配置文件,结合内核映像vmlinux:
sudo skyeye -e vmlinux -c skyeye-standalone.conf
也可以先启动u-boot,然后在uboot中下载vmlinux并启动它,使用http://ldd6410.googlecode.com/files/ldd6410-skyeye-pack.tar.gz 中的skyeye-with-uboot.conf 配置文件,结合先前编译得到的u-boot:
   sudo skyeye -e u-boot -c skyeye-with-uboot.conf
在u-boot正常启动后,从tftp服务器下载vmlinux:
   tftp 0xc0000000 vmlinux
接着运行bootelf 0xc0000000,Linux内核开始启动。
 
http://ldd6410.googlecode.com/files/ldd6410-skyeye-pack.tar.gz 包含了已经做好的映像,可以直接运行。

本文出自 “Inside SW,FW and HW R&D” 博客,请务必保留此出处http://21cnbao.blog.51cto.com/109393/213771

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

意大利 EMS 交易将促进芬兰制造业巨头

电子科技大学--嵌入式系统应用开发技术16

电子科技大学--嵌入式系统应用开发技术15

电源设备安全标准 中文

选型必看!MOSFET四大非理想参数详解

对数型增益控制电路

美国支持 MP 材料公司提供价格担保以遏制中国稀土垄断;苹果锁定供应

非对称功率偏置对关键等离子体半导体工艺

EDA/PCB 2025-07-16

特朗普的关税对欧洲半导体产业意味着什么?

高压浮动MOS栅极驱动集成电路 -- 应用手册

英伟达的 Arm CPU 梦想遭遇硬件障碍,发布推迟至 2026 年

智能计算 2025-07-16

鼎芯通讯--“鼎力打造中国无线之芯”

英伟达 H20 销售重启引发关注:可能库存甩卖;预计将为中国推出新的 Blackwell GPU

从YU7看华为系为何打不过小米?

车规级芯片 与 消费级芯片 有什么差别?

电子科技大学--嵌入式系统应用开发技术17

电子科技大学--嵌入式系统应用开发技术13

电子科技大学--嵌入式系统应用开发技术14

宽带调频信号简介

更多 培训课堂
更多 焦点
更多 视频

技术专区