当前位置:首页 > > 充电吧
[导读]1 配置编译linux内核  通过make menuconfig编译内核  make zImage  2 制作uImage  在.../linux-2.6.32.2/arch/arm/boot下面可以

1 配置编译linux内核
 通过make menuconfig编译内核
 make zImage
 
2 制作uImage
 在.../linux-2.6.32.2/arch/arm/boot下面可以找到生成的zImage
 把.../u-boot-2010.03-tekkaman-master/tools下的mkimage拷贝到/usr/sbin目录下
 #cd /root
 #ls -a
 #vi .bashrc
 加上路径 PATH=$PATH:/usr/sbin 
 #cd .../linux-2.6.32.2/arch/arm/boot
 #mkimage -n 'mini2440' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage uImage
 此处,注意-a和-e后的地址相差0x40,即64个字节,为了后面,用bootm 30008000来启动内核
 从而生成uImage
 uImage和zImage的区别是,uImage在zImage的前面加上了64字节的启动数据,供bootm来用,如果是zImage的话,只能通过go命令来启动。
 最后,加上可执行权限,将uImage放置到tftpboot目录下。
 chmod +x uImage
 cp uImage /root/tftpboot

3 安装tftp
 3.1 下载tftp服务器、客户端tftp和守护进程xinetd三个包
  yum install xinetd tftp tftp-server
 3.2 建立tftp工作目录并修改属性(不修改属性会出现error)
  cd /
  mkdir tftpboot
  chmod 777 -R tftpboot/
 3.2 配置vi /etc/xinetd.d/tftp
  server_args= -s /tftpboot -c 
  /tftpboot是创建tftpboot的目录,可以修改,我的是/root/src/mini2440/tftpboot
  -s,必须加,否则会出现决定路径之类的错误
  -c, 是允许客户端更改工作目录下的文件
  diable=no
 3.4 启动服务
  在开启服务之前,务必关闭防火墙service iptables stop
  另外需修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。否则,出现Transfer timed out错误。
  service xinetd start
  可能service服务不识别,只需把该命令所在的路径加入路径环境变量即可PATH=$PATH:/sbin
 3.5 查看服务
  可以通过相关命令查看tftp服务是否启动
  netstat -a|grep tftp
  udp        0      0 *:tftp                      *:*
  说明启动了
 3.6 验证tftp服务可以使用
  tftp 127.0.0.1
  tftp> get uImage //uImage是tftpboot目录下的存在的文件
  tftp> q      //退出
  如果在执行此命令的目录下有了uImage文件,则说明tftp安装成功。
  
4 安装NFS
 4.1 查看是否安装了NFS
  rpm -qa|grep nfs
  nfs-utils-lib-1.1.5-3.fc14.i686
  nfs-utils-1.2.3-6.fc14.i686
  如果有这两个包,则说明已安装,否则,用yum进行安装即可。
 4.2 配置NFS
  vi /etc/exports
  /root/src/mini2440/rootfs 192.168.2.*(rw,sync,no_root_squash)
  exports在第一次设置时是空的,在第一行输入上述信息
  /root/src/mini2440/rootfs //允许挂载的目录
  192.168.2.* //允许192.168.2.网段的访问
  (rw,sync)  //访问的模式,可读可写,同步访问
 4.3 开启服务
  前提还是先关闭防火墙
  service nfs start
  查看NFS是否开启
  service nfs status
  关闭服务
  service nfs stop
 4.4 设置系统自动开启NFS
  通过setup,进入system services,找到nfs,然后,按下空格选上,保存即可。
 
5 设置启动参数
 进入u-boot的下载命令界面
 print
 查看环境变量值
 setenv ipaddr=192.168.2.250
 setenv serverip=192.168.2.103
 setenv gatewayip=192.168.2.1
 setenv bootargs noinitrd root=/dev/nfs rw nfsroot=192.168.2.103:/root/src/mini2440/rootfs ip=192.168.2.250:192.168.2.103::255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M

6 下载内核
 6.1 首先验证网络
  在u-boot里 ping 192.168.2.103
  host 192.168.2.103 is alive
  证明网络可行
 6.2 利用tftp命令下载内核uImage,此uImage是处理好之后放在tftpboot目录下的
  tftp 30008000 uImage
  此时,uImage下载到了内存的30008000处
  启动内核
  bootm 30008000
  如果根文件系统制作好了,并且放在了nfsroot知道的地方,即主机中开放出来的NFS挂载点
  则启动成功。
 
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭