U-Boot及Linux使用手册(上)

合集下载

AC2440开发系统Linux使用手册

AC2440开发系统Linux使用手册

嵌 入 式 系 统 开 发 套 件AC-2440技术文档杭州先控信息科技有限公司目 录1. utu Linux相关软件功能 (1)1.1. 系统启动 (1)1.2. 通过串口与PC传送文件 (2)1.2.1 使用sz命令向PC机传送文件 (2)1.2.2 使用rz命令接受PC机传送过来的文件 (2)1.3. 如何通过FTP与PC传送文件 (3)1.4. 如何挂载U盘/移动硬盘 (4)1.5. 测试SD/MMC卡 (5)1.6. 测试音频 (5)1.7. 如何中止程序运行 (6)1.8. Usb摄像头的使用 (6)1.8.1 如何将usb摄像头的视频显示在LCD液晶屏上 (6)1.8.2 PC机端使用浏览器访问摄像头 (7)1.9. 测试简单网络功能 (8)1.9.1 Ping命令 (8)1.9.2 PC机使用Telnet命令登录开发板 (9)1.10. 实时时钟设置和保存 (10)1.11. 如何DHCP动态获取IP地址和DNS (10)1.12. 如何连接互联网 (10)1.12.1 使用Telnet在终端登录清华BBS (10)1.12.2 使用浏览器在浏览网页 (11)1.13. 如何开机自动运行程序 (11)2. 如何快速为开发板安装Linux系统 (12)2.1. 安装PC端tftp软件 (12)2.2. 下载utu-bootloader文件u-boot.bin (13)2.2.1 用并口下载u-boot.bin (13)2.2.2 用网络下载u-boot.bin (14)2.3. 网络更新内核文件uImage (16)2.4. 网络更新yaffs文件系统映像 (16)3. 建立Linux下的开发环境 (18)3.1. 建立编译环境 (18)3.2. 建立NFS(网络文件系统)服务器 (19)4. 如何为目标板上的linux 编译用户程序 (19)4.1. 如何编译按键测试程序 (19)4.2. 如何把编译好的程序传到目标板上运行 (19)4.2.1 nfs挂载方式启动开发板的utu-linux (20)4.2.2 把编译好的文件拷贝到开发板的flash上 (21)4.2.3 用nfs启动方式更新整个utu-linux文件系统 (22)5. 编译内核(使用3.4.1的交叉编译器) (25)5.1. 装载默认配置参数 (25)5.2. 执行下面的命令来生成内核映像 (26)5.3. 定制linux内核 (27)5.3.1 如何配置CPU (28)5.3.2 如何配置各个尺寸的LCD 驱动支持 (29)5.3.3 如何配置触摸屏 (31)5.3.4 如何配置USB 鼠标和键盘 (34)5.3.5 如何配置两个USB主口的支持 (35)5.3.6 如何配置优盘的支持 (36)5.3.7 如何配置网眼和中芯微等USB 摄像头 (37)5.3.8 如何配置CS8900 网卡驱动 (39)5.3.9 如何配置声卡驱动 (42)5.3.10 如何配置SD/MMC 卡驱动 (45)5.3.11 如何配置LED 驱动 (46)5.3.12 如何配置串口驱动 (47)5.3.13 如何配置RTC 实时时钟驱动 (47)5.3.14 如何配置yaffs 文件系统的支持 (48)5.3.15 如何配置EXT2/VFAT/ NFS 等文件系统 (50)5.3.16 开机画面的logo文件 (53)6. 编译Qtopia和QT应用程序Hello,World (53)6.1. 编译Qtopia (53)6.2. 编译基于Qtopia的Hello World应用程序 (53)7. 如何建立yaffs文件系统映像 (54)1.utu Linux相关软件功能1.1. 系统启动Windows下的超级终端详细的使用方法请用户自己参考相关资料,这里不再详述。

u-boot简单使用手册

u-boot简单使用手册

u-boot简单使⽤⼿册(转⾃)1.u-boot 简介-----------------------------------------------------------------1.u-boot2.它有两种模式引导模式(⽤于引导OS)下载模式(⽤于开发,在u-boot启动按任意键)进⼊控制台。

在控制台执⾏ boot 命令,则进⼊引导模式去引导OS。

2.u-boot 控制台常⽤命令--------------------------------------------------------------------help 显⽰帮助命令boot ⽤引导常数来引导OS。

bootm 从内存引导OS。

.bootp/tftpboot 从TFTP/BOOTP引导OSgo 从某⼀个地址开始直接运⾏程序mtdparts 管理flash上的分区ping 简单发送⼀个ICMP包测试。

printenv 打印环境变量setenv 设置环境变量saveenv 把内存的环境变量存到flash上的param分区.usbslave 从USB下载⽂件 (PC机要运⾏dnw)version 显⽰u-boot 版本4. 设置环境变量printenv 打印环境变量bootargs=noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0bootcmd=nboot 0x32000000 kernel; bootm 0x32000000bootdelay=0baudrate=115200ethaddr=0a:1b:2c:3d:4e:5fipaddr=192.168.1.6serverip=192.168.1.8netmask=255.255.255.0stdin=serialstdout=serialstderr=serialmtdids=nand0=nandflash0mtdparts=mtdparts=nandflash0:256k@0(bios),128k(params),128k(toc),512k(eboot),1024k(log)partition=nand0,0mtddevnum=0mtddevname=biosEnvironment size: 453/131068 bytes经常修改是 bootargs ( 启动参数)ipaddr (开发板IP地址)serverip( 默认tftp/NFS/...下载主机)setenv 命令只是改变内存的环境变量值,如果不调⽤saveenv,下次的设置仍然是旧的配置。

银河麒麟系统管理员使用手册

银河麒麟系统管理员使用手册

银河麒麟系统管理员使用手册目录一、管理员使用 (3)1.MATE 终端 (3)1.1打开MATE 终端 (3)1.2终端切换root 管理员 (3)2.网络设置 (4)3.软件安装 (5)4.打印机添加 (7)4.1添加USB 打印机 (8)4.2添加网络打印机 (9)4.3设置默认打印机 (10)5.系统安装 (11)6.系统备份/还原 (12)7.固件在线升级 (14)8.systemctl 服务管理 (16)9.安装字体 (17)10.日志查看 (18)11.SSH 登录 (22)二、常见问题 (23)1.不能正常开机/无法进入系统 (23)2.网络不正常 (23)3.电脑死机 (23)4.Windows 安装包是否能在AK 机器上安装使用 (23)5.微信、QQ 等软件能否使用 (23)6.替代工具/软件 (23)7.SSH 无法登录 (24)8.服务器报警 (24)9.常用命令 (25)附录一:操作系统安装 (28)一、管理员使用1.MATE 终端1.1打开MATE 终端MATE 终端是Linux 系统执行系统命令的工具。

方式一:点击【开始菜单】>【所有软件】>【附件】>【MATE 终端】打开方式二:文档管理器中鼠标右键菜单中选择【终端中打开】打开备注:greatwall 代表当前打开MATE 终端的用户;greatwall-os 代表本机的主机名(hostname)。

1.2终端切换root 管理员银河麒麟操作系统root 密码默认为随机的,普通用户可通过sudo 来提高权限(获取root 权限,此时验证的普通用户的密码,默认密码为【123123】)。

例如:普通用户执行sudo fdisk -l 相当于root 用户执行fdisk -l;另外可通过sudo -i 切换到root 用户使用。

备注:命令sudo passwd root 可为root 设置固定密码。

2.网络设置➢选择网卡配置鼠标左键点击桌面右下角的网络图标,点击【编辑连接】,选择【以太网】中的【有线连接1】,点击【编辑】。

Linux_命令_手册

Linux_命令_手册
1.注销系统的logout命令
1.修改/etc/inittab
id:5:initdefault:
注释:
0 – 关机 halt
1 – 单人模式 Single user mode
2 – 多人模式未含网路功能
3 – 完整多人使用者模式(文本模式)
4 – 未使用 unused
重启后失效
开启: service iptables start
关闭: service iptables stop
重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
修改/etc/sysconfig/iptables 文件,添加以下内容:
33.--扫描端口
nmap localhost
34.--查看是否已经安装
rpm -q gcc 查看是否已经安装了gcc
35.--管道过滤
ls -al|grep op
显示所有子目录的内容
ls -R
36.--IP地址对应的域名
/etc/hosts
43.允许anonymous用户下载、上传ftp的服务
2)删除所有的文件
rm *
3)删除目录
rmdir 删除空目录
4)删除目录
rm -rf 删除目录
-r 就是向下递归,不管有多少级目录,一并删除 采本站,必打击者
-f 就是直接强行删除,不作任何提示的意思
26.Linux系统开防火墙时自动开启相对应端口:23
# chmod 730 /var/ftp/incoming
4)日志
/etc/logrotate.d/vsftpd.log

petalinux-build_-c_u-boot的编译流程_概述说明

petalinux-build_-c_u-boot的编译流程_概述说明

petalinux-build -c u-boot的编译流程概述说明1. 引言1.1 概述本文旨在介绍petalinux-build -c u-boot命令的编译流程。

Petalinux是一款面向嵌入式Linux开发的工具,而U-Boot是一款应用于嵌入式系统的开源引导加载程序。

通过深入了解这两个工具,并对petalinux-build -c u-boot命令进行详细分析,我们可以更好地理解和掌握其编译流程。

1.2 文章结构本文主要分为五个部分:引言、编译流程概述、编译流程详解、注意事项和常见问题解答以及结论。

在引言中,我们将简要介绍文章的内容和目的。

接下来,在第二部分中,我们将概述Petalinux和U-Boot,并重点介绍petalinux-build -c u-boot命令的作用。

第三部分将详细解释编译流程,并包括准备工作、设置环境变量和构建U-Boot镜像等步骤。

在第四部分,我们将讨论常见错误和解决方法,提供编译优化技巧和建议,并指出其他注意事项。

最后,在结论部分,我们将对编译流程进行总结,并展望未来发展。

1.3 目的本文旨在帮助读者全面了解petalinux-build -c u-boot命令的编译流程。

通过讲解Petalinux和U-Boot的基本知识以及具体的编译步骤,读者可以深入了解如何正确地使用该命令,并解决在编译过程中可能遇到的问题。

同时,本文还将提供一些实用的编译优化技巧和建议,以帮助读者提高工作效率。

希望通过本文的阅读,读者能够更好地掌握petalinux-build -c u-boot命令的使用技巧,并在嵌入式Linux开发中取得更好的成果。

2. 编译流程概述:2.1 Petalinux简介:Petalinux是由Xilinx开发的一种嵌入式Linux开发工具套件,用于构建、定制和部署基于Xilinx处理器系统的嵌入式Linux系统。

它提供了一系列工具和文档,方便开发人员进行Linux镜像的配置、编译和调试。

2440超详细U-BOOT(UBoot介绍+H-jtag使用+Uboot使用)

2440超详细U-BOOT(UBoot介绍+H-jtag使用+Uboot使用)

凌FL2440超详细U-BOOT作业(UBoot介绍+H-jtag使用+Uboot使用)Bootloader是高端嵌入式系统开发不可或缺的部分。

它是在操作系统内核启动之前运行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

现在主流的bootloader有U-BOOT、vivi、Eboot等。

本次作业先做Uboot的烧写吧。

希望通过这个帖子,能让更多的初学者朋友了解一些UBoot的知识,也希望高手朋友对我的不足予以斧正。

首先说一下什么是Uboot:U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。

从FAD SROM、8xxROM、PPCBOOT逐步发展演化而来。

其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。

但是U-Boot不仅仅支持嵌入式Linu x系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。

其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。

这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。

这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。

Linux操作系统应用编程课件(完整版)


2.Linux操作系统的发行版
Linux操作系统发行版实际就是Linux内核加上外围实用程序 组成的一个大软件包。相对于Linux操作系统的内核版本,发行版 的版本号随发布者的不同而不同,与Linux操作系统内核的版本号 是相对独立的。因此把SUSE、RedHat、Ubuntu、Slackware等直 接称为Linux是不确切的,它们是Linux操作系统的发行版。更确 切地说,应该将它们称为“以Linux为核心的操作系统软件包”。
Shell是Linux操作系统的一种用户界面,它作为操作系统 的“外壳”,为用户提供使用操作系统的接口。Shell主要有以 下两大功能特点。
(1)Shell是一个命令解释器,它拥有自己内建的Shell命令集。 (2)Shell的另一个重要特性是它自身就是一种解释型的程序设 计语言。
当用户成功登录Linux系统后,系统将执行一个Shell程序。 正是Shell进程提供了命令提示符。作为默认值,Shell对普通用 户用“$”作提示符,对超级用户(root)用“#”作提示符。
1.4.4 联机手册
联机手册命令man可向用户提供系统中各种命令、系统调用、 库函数和重要系统文件的详细说明,包括名字、使用语法、功能 描述、应用实例和相关参考文件等。其格式如下:
$ man [拥有哪个级别的帮助。 -k:查看和命令相关的所有帮助。
查看who命令的详细说明示例如下。 $ man who
Linux操作系统 应用编程
本章主要介绍Linux文件系统,包括文件系统的结构、文 件的定义与分类、目录与文件操作命令、文件的权限管理等, 让读者对Linux文件系统有一定的认识和理解,为后文的学习 打下基础。
2.1.1 组织结构
Linux操作系统中所有文件存储在文件系统中,文件被组织 到一棵“目录树”中,其文件系统层次结构(树状目录结构)如 图2.1所示。树根在该层次结构的顶部,树根的下方衍生出子目 录分支。

泰晓科技Linux Lab v1.0 使用手册说明书

Linux Lab v1.0中文手册泰晓科技|June16,2022目录1.Linux Lab概览81.1项目简介 (8)1.2项目主页 (8)1.3演示视频 (9)1.3.1开放教程 (9)1.3.2付费课程 (10)1.4项目功能 (10)1.5项目历史 (11)1.5.1项目起源 (11)1.5.2项目缘由 (11)1.5.3项目诞生 (11)1.6项目变更 (11)1.6.1v0.1@2019.06.28 (11)1.6.2v0.2@2019.10.30 (12)1.6.3v0.3@2020.03.12 (12)1.6.4v0.4@2020.06.01 (13)1.6.5v0.5@2020.09.12 (13)1.6.6v0.6@2021.02.06 (14)1.6.7v0.7@2021.06.03 (14)1.6.8v0.8@2021.10.13 (15)1.6.9v0.9@2022.01.13 (15)1.6.10v1.0@2022.06.16 (16)2.Linux Lab安装172.1软硬件要求 (18)2.2安装Docker (19)2.3选择工作目录 (20)2.4切换到普通用户帐号 (20)2.5下载实验环境 (20)2.6运行并登录Linux Lab (21)2.7更新实验环境并重新运行 (22)2.8快速上手:启动一个开发板 (22)3.Linux Lab入门233.1使用开发板 (23)3.1.1列出支持的开发板 (23)3.1.2选择一个开发板 (25)3.1.3以插件方式使用 (27)3.1.4配置开发板 (27)3.2一键自动编译 (28)3.3详细步骤分解 (28)3.3.1下载 (28)3.3.2检出 (29)3.3.3打补丁 (29)3.3.4配置 (30)3.3.5编译 (31)3.3.6保存 (31)3.3.7启动 (31)4.Linux Lab进阶344.1Linux内核 (34)4.1.1非交互方式配置 (34)4.1.2使用内核模块 (35)4.1.3使用内核特性 (36)4.1.4新建开发分支 (37)4.1.5启用独立内核仓库 (38)4.2Uboot引导程序 (38)4.3Qemu模拟器 (40)4.4Toolchain工具链 (40)4.5Rootfs文件系统 (41)4.6Linux与Uboot调试 (41)4.6.1调试Linux (41)4.6.2调试Uboot (42)4.7自动化测试 (43)4.8文件共享 (45)4.8.1在rootfs中安装文件 (45)4.8.2采用NFS共享文件 (45)4.8.3通过tftp传输文件 (46)4.8.4通过9p virtio共享文件 (46)4.9学习汇编 (47)4.10学习C语言 (48)4.10.1本地编译和运行 (48)4.10.2交叉编译和运行 (48)4.11运行任意的make目标 (49)4.12更多用法 (49)5.Linux Lab开发515.1选择一个qemu支持的开发板 (51)5.2创建开发板的目录 (51)5.3从一个已经支持的开发板中复制一份Makefile (51)5.4从头开始配置变量 (51)5.5同时准备configs文件 (51)5.6选择kernel,rootfs和uboot的版本 (52)5.7配置,编译和启动 (53)5.7.1编译加速并减少磁盘损耗 (53)5.8保存生成的镜像文件和配置文件 (54)5.9上传所有工作 (54)6.常见问题556.1Docker相关 (55)6.1.1docker下载速度慢 (55)6.1.2Docker网络与LAN冲突 (55)6.1.3本地主机不能运行Linux Lab (55)6.1.4非root无法运行tools命令 (55)6.1.5网络不通 (56)6.1.6Client.Timeout exceeded while waiting headers (56)6.1.7关机或重启主机后如何恢复运行Linux Lab (57)6.1.8the following directives are specified both as aflag and in the config-urationfile (57)6.1.9pathspec FETCH_HEAD did not match anyfile known to git (57)6.1.10Docker not work in Ubuntu20.04 (57)6.1.11Error creating aufs mount (58)6.2Qemu相关 (58)6.2.1缺少KVM加速 (58)6.2.2Guest关机或重启后挂住 (58)6.2.3如何退出qemu (59)6.2.4Boot时报缺少sdl2库 (59)6.3环境相关 (59)6.3.1NFS与tftpboot不工作 (59)6.3.2在vim中无法切换窗口 (59)6.3.3长按Backspace不工作 (60)6.3.4如何快速切换中英文输入 (60)6.3.5如何调节Web界面窗口的大小 (60)6.3.6如何进入全屏模式 (61)6.3.7如何录屏 (61)6.3.8Web界面无响应 (62)6.3.9登录WEB界面时超时或报错 (62)6.3.10Ubuntu Snap问题 (63)6.3.11如何退出VNC客户端全屏模式 (63)6.4Linux Lab相关 (63)6.4.1No working init found (63)6.4.2linux/compiler-gcc7.h:No suchfile or directory (63)6.4.3linux-lab/configs:Permission denied (63)6.4.4scripts/Makefile.headersinst:Missing UAPIfile (64)6.4.5unable to createfile:net/netfilter/xt_dscp.c (64)6.4.6如何切到root用户 (64)6.4.7提示指定的版本或者配置不存在 (64)6.4.8is not a valid rootfs directory (65)7.联系并赞助我们66联系方式 (66)关注并参与 (66)付费支持我们 (66)扫码提供赞助 (67)赞助我们 (67)赞助列表 (67)Figure1:Linux Lab Logo订阅公众号,关注项目状态:Figure2:扫码订阅“泰晓科技”公众号1.Linux Lab概览1.1项目简介本项目致力于创建一个基于Docker+QEMU的Linux实验环境,方便大家学习、开发和测试Linux内核。

BOOTICE说明文档

【BOOTICE: 引导扇区维护工具】-(v0.9.2011.0330)BOOTIC.是一个启动相关的维护的小工具, 主要用于安装、修复、备份和恢复磁盘.MBR(Maste.Boo.Record)或分区上.PBR (Partitio.Boo.Record), 以及查看编.Window.Vista/..BCD, 此外还具有磁盘分区管理, 对可移动磁盘的重新分区和格式化功能。

.下载地址——————————————————————————————————v0.9.2011.0330. BOOTICE_0.9.ra.(141..KB).简繁英三语言自适应.(解压后MD5.5084AE92B43C48BFF6B9302D6517CF5F)v0.8.2011.0226. BOOTICE_0.8.ra.(13.KB).简繁英三语言自适应.(解压后MD5.99D17EDB1DA99D9ACD00670D3AFD2D25)若无忧出.Servic.Unavailabl.而无法访问, 请移.www.ipauly.co.获取更新。

I.wuyou.co.i.unavailable.pleas.g.t.www.ipauly.co.fo.upgr ades..更新记录——————————————————————————————————.0.9.2011.03301.修.v0..在某些情况下出现的盘符错乱问题;2.优化代码, 现在打.PB.和分区管理界面时较以前快很多;3.更.PB.时, 如果无法锁定将不再弹出错误对话框, 而是一个警告对话框。

4.修.VH.编辑中的一个潜在错误, 该错误导致在动.VH.的大小不够而增加区块时候出现处理错误;5.修正对不同版.WE.的内置菜单的位置判别问题, 并将内.WE.核心升级.2011-03-2.版;6.增加了语言切换的功能。

在主界面标题栏点击右键, 在弹出的系统菜单最下面有英文、简体中文、繁体中文三个菜单项用于语言切换;e.back..0.9.2011.031.测试1.去掉.1JF9.引导程序, 增加.WE.引导程序的安装和菜单编辑功能。

bootloader总体操作设计

bootloader总体操作设计bootloarder设计蓝图(不想做设计师的程序员不是好程序员):bootloarder的作⽤:将linux内核启动起来设计⽅法:模仿u-bootu-boot:⽀持多种嵌⼊式cpu的bootloarder程序,⾃主模式,⾃动引导内核启动。

u-boot还有⼀种开发模式建⽴U-Boot⼯程:-------------------------------------------------source sight的使⽤:先将u-boot在linux中解压,在window下找到u-boot的⽂件夹并进⼊-》⼯具-》映射到⽹络⽂件夹-》复制当前地址到浏览z盘-》完成-》project project->new project->命名-》ok->project->add and remove file->选择u-boot->输⼊Z:/->enter->add all->勾选添加⼦⽬录-》ok.最终我们发现没有.s,.S⽂件。

添加汇编⽂件:option->document Option->Document Type:C Source File,File filter:添加;*.s;*.S;*.hadd and remove file->add tree--------------------------------------------------------ARM处理器启动流程:启动⽅式:2440:Nor (2m),以及从nand flash(256M)启动mapping在上c2440⼿册的p221页可以看到内存地址分布中没有nand flash ,有bootRAM(stopping stone),nand flash很特殊,不参与地址分配,但确实存在,运⾏的时候,先将nand flash 中的内容复制到stepping stone中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DENX U-Boot及Linux使用手册(上)DENX U-Boot及Linux使用手册(上)译者:coosignlauchanhua@Apr. 21st 2005转贴请注明出处说明:本手册是我毕业设计的外文翻译。

英文原资料来www.denx.de。

我删掉了很多内容,只留下了认为对自己有用的东西,而且章节序号也有变动。

翻译有很多错误或者不妥之处,见谅。

ps: 把翻译贴出来后,很多朋友向我要完全版本。

我把完全版帖到linuxforum上了,大家可以通过链接访问获取:/forum/showflat.php?Cat=&Board=embedded&Number=5 64561&page=0&view=collapsed&sb=5&o=0&fpart=附加档案里。

谢谢。

1. 概要 (2)2. 绪论 (2)3. 嵌入式Linux开发工具套件 (3)3.1 获取ELDK (3)3.2 初始安装 (3)4. 系统设置 (4)4.1 设置串口 (4)4.2 配置“kermit” (4)4.3 使用minicom (5)4.4 配置TFTP服务器 (5)5. Das U-Boot (6)5.1 当前版本 (6)5.2 源代码包的解压 (6)5.3 配置 (7)5.4 安装 (7)5.4.1 动手之前 (7)5.4.1.1 安装所需 (7)5.4.1.2 开发板识别数据 (7)5.4.2 使用BDM/JTAG调试器安装U-Boot.bin (7)5.4.3 使用U-Boot安装U-Boot.bin (7)5.5 工具的安装 (8)5.6 初始化 (9)1. 概要这是嵌入式PowerPC, ARM和MIPS系统中使用DENX U-Boot和Linux的指导手册。

文档中描述了如何在嵌入式PowerPC, ARM和MIPS系统上配置、编译、使用Das U-Boot(常常缩写为“U-Boot”)和Linux操作系统。

本文档写于2005年一月至四月四日十四点十五分。

2. 绪论本文档描述了如何在嵌入式PowerPC, ARM和MIPS系统上配置、编译、使用U-Boot和Linux操作系统。

在这些过程中有太多的步骤,不可能面面俱到、非常深入,但我们会尽力提供所有必需的信息,能够让一个嵌入式系统运行。

文档中涵盖了所有你可能需要的用于配置、编译、运行U-Boot和Linux的工具。

首先,我们介绍如何安装交叉编译开发工具Embedded Linux Development Kit(ELDK),这个开发套件你很有可能会用到——至少当你在标准的x86 PC上使用Linux或者Sun Solaris系统作为开发环境的时候,你会需要它的。

然后,我们会阐述通过串口与你的目标板连接:你需要配置一个终端控制程序,如cu或者kermit。

你常常需要通过网线把映像文件下载到你的目标板上。

为了实现这个目的,你需要TFTP和DHCP/BOOTP服务器。

文档中提供了简要的相关配置说明。

接下来则是描述如何配置和编译U-Boot使之适用于某个特定的平台,以及如何安装和在该硬件平台上运行。

下一步的工作是配置、建立和安装Linux。

我们使用SELF(Simple Embedde d Linux Framework)来展示如何建立一个开发环境(包括通过NFS挂载的根文件系统)和一个嵌入式目标板配置(从基于busybox的ramdisk映像文件中运行)。

本文档不会给出如何把U-Boot或者Linux移植到一个新的硬件平台,而是默认你的开发板已经被U-Boot和Linux所支持。

本文档的侧重点是针对TQM8xxL开发板。

本手册各种文档格式的最新版本可以从以下网址获取:HTML http://www.denx.de/twiki/publish/DULG/DULG-tqm8xxl.htmlPDF http://www.denx.de/twiki/publish/DULG/DULG-tqm8xxl.pdf3. 嵌入式Linux开发工具套件嵌入式Linux开发工具套件(ELDK)包括GNU交叉开发工具,如编译器、bin utils、gdb等工具,和一些已经编译好的目标工具以及负责提供在目标平台上函数调用的库文件。

还免费提供了所有的源代码,包括全部补丁、扩展文件、以及用于编译开发工具使用的程序和脚本。

安装包都是基于RPM包管理器。

3.1 获取ELDK可以通过以下方式获得ELDK。

·DENX计算机系统光盘·从以下服务器中下载FTP方式ftp://mirror.switch.ch/mirror/eldk/eldk/ftp:///pub/linux/eldk/ ftp://ftp.sunet.se/pub/Li nux/distributions/eldk/ftp:///pub/eldk/HTTP方式http://mirror.switch.ch/ftp/mirror/eldk/eldk/http://ftp.sunet.se/pub/Linux/distributions/eldk//pub/comp/os/unix/linux/eldk/3.2 初始安装初始安装可以使用放在ELDK目录树根目录下的安装工具。

安装工具使用语法如下;$ ./install [-d-d 确定ELDK安装在哪个目录。

如果省略ELDK会安装在当前目录。

<cpu_family> 确定目标平台的CPU。

如果此项设置了一项以上的参数,则会将这些CPU的支持都安装。

如果省略将会安装所有CPU的支持。

你也可以把ELDK安装到任何空目录下,这么做的唯一条件是你有那个目录的写和执行权限。

安装过程并不需要超级用户的特权。

由安装时的参数决定安装几个目标组件集合。

ELDT包是肯定会安装的。

4. 系统设置在目标平台上安装和配置U-Boot和Linux需要一些工具。

特别是在开发过程中,你需要和目标平台保持联系。

这一节将告诉你如何配置你的主机以达到上述目的。

4.1 设置串口为了更好地使用U-Boot和Linux,你需要通过串口将目标板和你的主机连接。

U-Boot和Linux可以配置成自动执行而不需要任何用户的干涉。

通过串口有很多种方法来控制你的目标板,比如说使用终端服务器。

不过最常见的做法是使用你本机的串口,这时,你主机需要安装一个终端程序,如cu 或者kermit。

4.2 配置“kermit”kermit这个名字就代表了它是连接串口和网络的通信软件。

事实上在很多计算机和操作系统上使用它,能够很好地满足我们的目的。

kermit在执行其它命令之前,会执行你的用户目录下的初始文件.kermrc,所以可以非常简单的通过初始化命令来定制kermit。

下面是使用U-Boot和Lin ux时推荐配置:~/.kermrc:set line /dev/ttyS0set speed 115200set carrier-watch offset handshake noneset flow-control nonerobustset file type binset file name litset rec pack 1000set send pack 1000set window 5这个设置假定你使用的是主机第一个串口(/dev/ttyS0),以115200这个波特率与目标板的串口连接。

然后你可以连接目标板了:$ kermit -cConnecting to /dev/ttyS0, speed 115200.The escape character is Ctrl-\ (ASCII 28, FS)Type the escape character followed by C to get back,or followed by ? to see other options.----------------------------------------------------下载kermit这个软件时,你会发现有两个kermit包。

你只需要安装ckerm it。

其中gkermit仅仅是实现kermit传输协议的一个命令行工具。

如果你主机上的Linux系统没有安装kermit,你可以到kerimt的官方网站 /kermit/ 下载。

4.3 使用minicomminicom是另外一种非常流行的串口通信终端。

很遗憾的是,很多用户发现在使用U-Boot和Linux时,minicom有很多问题,尤其是试图使用它来下载im age的时候。

因此,不推荐大家使用minicom。

(译者注:我使用minicom也工作的很好,没有碰到什么问题。

)4.4 配置TFTP服务器使用U-Boot下载Linux内核或者应用程序的最快捷的方法是通过网络传输。

为了这一目的,U-Boot实现了TFTP协议(参见U-Boot中的tftpboot命令)。

为了使主机支持TFTP,你必须确保TFTP后台程序/usr/sbin/in.tftpd已经安装。

在RedHat系统中,你可以运行下面的命令来确认:$ rpm -q tftp-server如果没有安装,请从你的Linux安装盘或者其它媒介安装。

大多数的Linux发行版都默认关闭TFTP服务。

以RedHat系统为例,如果要使能TFTP服务,编辑文件/etc/xinetd.d/tftp,移除这一行:disable = yes或者注释掉它:# default: off# description: The tftp server serves files using the trivial file tr ansfer# protocol. The tftp protocol is often used to boot diskless# workstations, download configuration files to network-aware p rinters,# and to start the installation process for some operating syst ems.service tftp{socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpboot# disable = yesper_source = 11cps = 100 2}此外,确保/tftpboot目录存在,而且有访问权限(至少应该"dr-xr-xr-x")。

相关文档
最新文档