U-Boot图形化

65 篇文章 12 订阅


在前两章中我们知道 uboot 可以通过 mx6ull_luatao_emmc_defconfig 来配置,或者通过文件 mx6ull_luatao_emmc.h 来配置 uboot。还有另外一种配置 uboot 的方法,就是图形化配置,以前的 uboot 是不支持图形化配置,只有 Linux 内核才支持图形化配置。不过不知道从什么时候开始,uboot 也支持图形化配置了,

一、U-Boot图形化配置体验

1.图像界面依赖

uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面,menuconfig是一套图形化的配置工具,需要 ncurses 库支持。ncurses 库提供了一系列的 API 函数供调用者生成基于文本的图形界面,因此需要先在 Ubuntu 中安装 ncurses 库,命令如下

sudo apt-get install build-essential
sudo apt-get install libncurses5-dev

menuconfig 重点会用到两个文件:.config 和 Kconfig,.config 文件前面已经说了,这个文件保存着 uboot 的配置项,使用 menuconfig 配置完 uboot 以后肯定要更新.config 文件。Kconfig文件是图形界面的描述文件,也就是描述界面应该有什么内容,很多目录下都会有 Kconfig 文件。

2.图像界面操作

在打开图形化配置界面之前,要先使用“make xxx_defconfig”对 uboot 进行一次默认配置,只需要一次即可。如果使用“make clean”清理了工程的话就那就需要重新使用“make xxx_defconfig”再对 uboot 进行一次配置。进入 uboot 根目录,输入如下命令

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_luatao_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

进入图像化配置界面
在这里插入图片描述
通过键盘上的“↑”和“↓”键来选择要配置的菜单,按下“Enter”键进入子菜单。菜单中高亮的字母就是此菜单的热键,在键盘上按下此高亮字母对应的键可以快速选中对应的菜单。

选中子菜单以后按下“Y”键就会将相应的代码编译进 Uboot 中,菜单前面变为“< * >”。
按下“N”键不编译相应的代码,
按下“M”键就会将相应的代码编译为模块,菜单前面变为“< M >”。
按两下“Esc”键退出,也就是返回到上一级,
按下“?”键查看此菜单的帮助信息,
按下“/”键打开搜索框,可以在搜索框输入要搜索的内容。

在配置界面下方会有五个按钮,这五个按钮的功能如下:

:选中按钮,和“Enter”键的功能相同,负责选中并进入某个菜单。
:退出按钮,和按两下“Esc”键功能相同,退出当前菜单,返回到上一级。
:帮助按钮,查看选中菜单的帮助信息。
:保存按钮,保存修改后的配置文件。
:加载按钮,加载指定的配置文件。

3.使能dns

我们就以如何使能 dns 命令为例,讲解一下如何通过图形化界面来配置 uboot。进入“Command line interface —>”这个配置项,此配置项用于配置 uboot 的命令,进入以后如图

在这里插入图片描述
选择“Network commands—>”,进入网络相关命令配置项,
在这里插入图片描述
uboot 中有很多和网络有关的命令,比如 bootp、tftpboot、dhcp 等等。
选中 dns,然后按下键盘上的“Y”键,此时 dns 前面的“[ ]”变成了“[ * ]”
在这里插入图片描述
每个选项有 3 种编译选项:
编译进 uboot 中(也就是编译进 u-boot.bin 中)、
取消编译(也就是不编译这个功能模块)、
编译为模块。

按下“Y”键表示编译进 uboot 中,此时“[ ]”变成了“[ * ]”;
按下“N”表示不编译,“[ ]”默认表示不编译;
有些功能模块是支持编译为模块的,这个一般在 Linux 内核里面很常用,uboot 下面不使用,如果要将某个功能编译为模块,那就按下“M”,此时“[ ]”就会变为“< M >”。

细心的朋友应该会发现,在 mx6ull_luatao_emmc.h 里面我们配置使能了 dhcp 和 ping 命令,但是在图 中 dhcp 和 ping 前面的“[ ]”并不是“[ * ]”,也就是说不编译 dhcp 和 ping命令,这不是冲突了吗?实际情况是 dhcp 和 ping 命令是会编译的。之所以在图中没有体现出来时因为我们是直接在 mx6ull_luatao_emmc.h 中定义的宏 CONFIG_CMD_PING 和CONFIG_CMD_DHCP,而 menuconfig 是通过读取.config 文件来判断使能了哪些功能,.config里面并没有宏CONFIG_CMD_PING和CONFIG_CMD_DHCP,所以menuconfig就会识别出错。

按两下esc返回上一级界面
如果修改了文件会在退出的时候提示是否保存,选择是。
至此,我们就完成了通过图形界面使能了 uboot 的 dns 命令,打开.config文件,会发现多了“CONFIG_CMD_DNS=y”这一行,

在这里插入图片描述

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4

编译完成以后烧写到 SD 卡中,重启开发板进入 uboot 命令模式,输入“?”查看是否有“dns”命令,一般肯定有的。
在这里插入图片描述
使用 dns 命令来查看一下百度官网“www.baidu.com”的 IP 地址。

要先设置一下 dns 服务器的 IP 地址,也就是设置环境变量 dnsip 的值,命令如下:

setenv dnsip 114.114.114.114
saveenv

设置好以后就可以使用 dns 命令查看百度官网的 IP 地址了,输入命令

dns www.baidu.com

在这里插入图片描述

二、menuconfig图形化配置原理

1.make menuconfig过程分析

当输入 make menuconfig 以后会匹配到顶层 Makefile 的如下代码
在这里插入图片描述
其中 build=-f ./scripts/Makefile.build obj,将 477行的规则展开就是:

@ make -f ./scripts/Makefile.build obj=scripts/kconfig menuconfig

Makefile.build 会读取 scripts/kconfig/Makefile 中的内容,在 scripts/kconfig/Makefile 中可以找到如下代码:
在这里插入图片描述
其中obj= scripts/kconfig,silent是设置静默编译的,在这里可以忽略不计,Kconfig=Kconfig,
因此扩展以后就是:

menuconfig: scripts/kconfig/mconf
scripts/kconfig/mconf Kconfig

目标 menuconfig 依赖 scripts/kconfig/mconf,因此scripts/kconfig/mconf.c 这个文件会被编译,生成 mconf 这个可执行文件。目标 menuconfig 对应的规则为 scripts/kconfig/mconf Kconfig,也就是说 mconf 会调用 uboot 根目录下的 Kconfig 文件开始构建图形配置界面。

2.Kconfig语法简介

接下来简单学习一下 Kconfig 的语法。因为后面学习 Linux 驱动开发的时候可能会涉及到修改 Kconfig,对于 Kconfig 语法我们不需要太深入的去研究,

关于 Kconfig的详细语法介绍,可以参考 linux 内核源码(不知为何 uboot 源码中没有这个文件)中的文件Documentation/kbuild/kconfig-language.txt,本节我们大概了解其原理即可。

打开 uboot 根目录下的Kconfig,这个Kconfig文件就是顶层Kconfig,我们就以这个文件为例来简单学习一下Kconfig语法。

在这里插入图片描述

1.mainmenu

顾名思义 mainmenu 就是主菜单,也就是输入“make menuconfig”以后打开的默认界面,在顶层 Kconfig 中有如下代码

mainmenu "U-Boot $UBOOTVERSION Configuration"

上述代码就是定义了一个名为“U-Boot $UBOOTVERSION Configuration”的主菜单,其中UBOOTVERSION=2016.03,因此主菜单名为“U-Boot 2016.03 Configuration”
在这里插入图片描述

2.调用其他目录下的 Kconfig

和 makefile 一样,Kconfig 也可以调用其他子目录中的 Kconfig 文件,调用方法如下:

source "xxx/Kconfig"    //xxx 为具体的目录名,相对路径

在这里插入图片描述
Kconfig 文件调用了很多其他子目录下的 Kcofig 文件,这些子目录下的 Kconfig 文件在主菜单中生成各自的菜单项。

3.menu/endmenu 条目

menu 用于生成菜单,endmenu 就是菜单结束标志,这两个一般是成对出现的。
在这里插入图片描述
第 14行的“menu “General setup””表示子菜单“General setup”。
在这里插入图片描述
在“General setup”菜单上面还有 “Architecture select (ARM architecture)”和“ARM architecture”这两个子菜单,但是在顶层 Kconfig 中并没有看到这两个子菜单对应的 menu/endmenu 代码块,那这两个子菜单是怎么来的呢?这两个子菜单就是 arch/Kconfig 文件生成的。包括主界面中的“Boot timing”、“Console recording”等等这些子菜单,都是分别由顶层Kconfig 所调用的 common/Kconfig、cmd/Kconfig 等这些子 Kconfig 文件来创建的。

4.config 条目

顶层 Kconfig 中的“General setup”子菜单内容如下
在这里插入图片描述
在 menu/endmenu 代码块中有大量的“config xxxx”的代码块,也就是 config 条目。config 条目就是“General setup”菜单的具体配置项,如图 所示:
在这里插入图片描述
我 们 以 “ config LOCALVERSION ” 和 “ config LOCALVERSION_AUTO”这两个为例来分析一下 config 配置项的语法

假如我们使能了 LOCALVERSION_AUTO这个功能,那么就会下.config 文件中生成 CONFIG_LOCALVERSION_AUTO,由此可知,.config 文件中的“CONFIG_xxx” (xxx 就是具体的配置项名字)就是 Kconfig 文件中 config 关键字后面的配置项名字加上“CONFIG_”前缀。

config 关键字下面的这几行是配置项属性,属性里面描述了配置项的类型、输入提示、依赖关系、帮助信息和默认值等

第 17 行的 string 是变量类型,也就是“CONFIG_ LOCALVERSION”的变量类型。可以为:bool、tristate、string、hex 和 int,一共 5 种。最常用的是 bool、tristate 和 string 这三种,bool 类型有两种值:y 和 n,当为 y 的时候表示使能这个配置项,当为 n 的时候就禁止这个配置项。tristate 类型有三种值:y、m 和 n,其中 y 和 n 的涵义与 bool 类型一样,m 表示将这个配置项编译为模块。

string 为字符串类型,所以 LOCALVERSION 是个字符串变量,用来存储本地字符串,选中以后即可输入用户定义的本地版本号,如图 所示:
在这里插入图片描述

string 后面的“Local version - append to U-Boot release”就是这个配置项在图形界面上的显示出来的标题。
help 表示帮助信息,告诉我们配置项的含义,当我们按下“h”或“?”弹出来的帮助界面就是 help 的内容。
“default y”表示 CONFIG_LOCALVERSION_AUTO 的默认值就是 y,所以这一行默认会被选中。

5.depends on 和 和 select

打开 arch/Kconfig 文件,在里面有这如下代码:

在这里插入图片描述
第 9 行, “depends on”说明“SYS_GENERIC_BOARD”项依赖于“HAVE_GENERIC_BOARD”,也就是说“HAVE_GENERIC_BOARD”被选中以后“SYS_GENERIC_BOARD”才能被选中。

第 17~20 行,“select”表示方向依赖,当选中“ARC”以后,“HAVE_PRIVATE_LIBGCC”、“HAVE_GENERIC_BOARD”、“SYS_GENERIC_BOARD”和“SUPPORT_OF_CONTROL”这四个也会被选中。

6.choice/endchoice

在 arch/Kconfig 文件中有如下代码:
在这里插入图片描述
choice/endchoice 代码段定义了一组可选择项,将多个类似的配置项组合在一起,供用户单选或者多选。以从 ARC、ARM、AVR32 等这些架构中选择,这里是单选
在这里插入图片描述
第 12 行的 prompt 给出这个choice/endchoice 段的提示信息为“Architecture select”。

7.menuconfig

menuconfig 和 menu 很类似,但是 menuconfig 是个带选项的菜单,其一般用法为
在这里插入图片描述
第 1 行,定义了一个可选的菜单 MODULES,只有选中了 MODULES 第 3~5 行 if 到 endif之间的内容才会显示。在顶层 Kconfig 中有如下代码:

在这里插入图片描述
第 74~99 行使用 menuconfig 实现了一个菜单,路径如下:
General setup
-> Configure standard U-Boot features (expert users) —>
在这里插入图片描述
前面有“[ ]”说明这个菜单是可选的,当选中这个菜单以后就可以
进入到子选项中,也就是示例代码 34.2.2.9 中的第 83~99 行所描述的菜单,
在这里插入图片描述

8.comment

comment 用 于 注 释 , 也 就 是 在 图 形 化 界 面 中 显 示 一 行 注 释 , 打 开 文 件drivers/mtd/nand/Kconfig,有如下所示代码:
在这里插入图片描述
第 81 行使用 comment 标注了一行注释,注释内容为:“Generic NAND options”,这行注释
在配置项 NAND_ARASAN 的下面。在图形化配置界面中按照如下路径打开:
-> Device Drivers
-> NAND Device Support
在这里插入图片描述

9.source

source 用于读取另一个 Kconfig,比如:source “arch/Kconfig”

三、添加自定义菜单

图形化配置工具的主要工作就是在.config 下面生成前缀为“CONFIG_”的变量,这些变量一般都要值,为 y,m 或 n,在 uboot 源码里面会根据这些变量来决定编译哪个文件。本小节我们就来学习一下如何添加自己的自定义菜单,自定义菜单要求如下:

①、在主界面中添加一个名为“My test menu”,此菜单内部有一个配置项。
②、配置项为“MY_TESTCONFIG”,此配置项处于菜单“My test menu”中。
③、配置项的为变量类型为 bool,默认值为 y。
④、配置项菜单名字为“This is my test config”。
⑤、配置项的帮助内容为“This is a empty config, just for tset!”。

打开顶层 Kconfig,在最后面加入如下代码:

menu "My test menu"

 config MY_TESTCONFIG
 	bool "This is my test config"
	default y
	help
 		This is a empty config, just for test!

 endmenu # my test menu

在这里插入图片描述
执行

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

在这里插入图片描述
主菜单最后面出现了一个名为“My test menu”的子菜单,这个就是
我们上面添加进来的子菜单。进入此子菜单
在这里插入图片描述
按H打开帮助文档
在这里插入图片描述
帮助信息也正确。配置项 MY_TESTCONFIG 默认也是被选中的,
因此在.config 文件中肯定会有“CONFIG_MY_TESTCONFIG=y”这一行
在这里插入图片描述
我们在主菜单添加自己的自定义菜单就成功了,

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
dosapp-1218.rar usb-hdd-1218.rar usb-zip-fdd-1218.rar usboot-v1.68.rar 最新DOS 制作全攻略 (软盘+光盘+U盘+硬盘+NTFS+应急实用工具)   一、写在前面的话: DOS对从Windows时代开始接触计算机的人来说,有点难懂、有点神秘,也遥远了一点,但这不能成为大家掌握DOS的绊脚石。学会些DOS知识会让你在电脑世界里玩的更痛快,面对棘手问题的时候更加游刃有余。虽然DOS已经很老了但它还没到隐退江湖的年代,我们拥有Windows,但是我们还需要DOS!   二、对“菜鸟”朋友学习DOS的建议: 在“菜鸟”看来,貌似枯燥的DOS的界面、繁多的DOS命令、大量的键盘操作都给大家带来了很多困扰,我想说明的是,GUI图形化的Windows取代命令行界面的DOS是必然的,学习DOS的初期,你可以先掌握一些常用的DOS命令和简单实用技巧,然后根据你的需要再决定是否继续深入学习。我个人认为,起步时就抱着一本《DOS原理手册》死啃不是明智的选择,而根据常见的问题来逐步研究DOS也许是一个更容易弄懂它的方法。 学习中遇到问题时,要习惯于多思考,根据已经掌握的知识举一反三;搞不懂的,可以使用Google搜索引擎,大部分常见的问题都会有答案;遇到问题不论大小马上就去请教“高手”不是明智之举,自己研究出来的答案远比你从“高手”那里得到的现成答案要记忆深刻,也更有利于你今后的学习。希望自己成为高手的人,从不会放弃自己独立思考问题的机会。 DOS启动盘是目前我们最常用的DOS类工具,其中的一些命令和工具会帮助你解决不少问题。本文发表的目的就是想通过这些DOS启动盘,让“菜鸟”朋友们有一个对DOS亲身体验和初步了解。我不是DOS高手(绝非nnmm谦虚),考虑到通用性、兼容性、方便大家学习,我制作的这些启动盘也不是全功能的完美作品,我只是想让“菜鸟”朋友们通过这些启动盘来了解DOS,学习DOS,把它做为学习DOS的一个契机。同时也希望有更多熟悉DOS的朋友来帮助“菜鸟”们,大家互相学习互相帮助,共享DOS的自由与开放!   三、常见各种Windows操作系统启动到纯DOS的途径: 1、Win9x单系统或Win9x与2000、XP、2003混合的多系统: ①、Win9x单系统: 在Win9x启动之前按F8会出现一个选择菜单,选择第5项Command prompt only或第6项Safe mode Command prompt only,回车,即可以进入Win9x自带的基本DOS环境(如下图)。 选第5项启动时会加载config.sys和autoexec.bat这两个系统配置文件及内含的驱动和程序(如果存在的话),键入win回车后可以继续启动Win98(win.com在windows目录下); 选第6项只启动最基本的DOS,不加载config.sys和autoexec.bat及任何驱动和程序,键入win回车后不能启动Win98。 ②、Win9x与Win2000或XP、2003混合的系统: 开机启动后会出现如下图的菜单(以Win98和XP混合为例): 选择Microsoft Windows项,按回车的同时立即按几下F8键就会出现与①相同的启动菜单(下图) 选第5项启动时会加载config.sys和autoexec.bat这两个系统配置文件及内含的驱动和程序(如果存在的话); 选第6项只启动最基本的DOS,不加载config.sys和autoexec.bat及任何驱动和程序。 ①和②方法启动DOS的优点:系统自带DOS不用额外安装。缺点:只能本机使用,不具有移动性,一旦操作系统或硬盘故障可能无法启动DOS。 ③、使用启动盘(软盘、光盘、U盘)启动到纯DOS下(本文的主要内容)。 此方法的优点:具有移动性和通用性,操作系统或硬盘故障时也可以启动DOS。缺点:需要额外的软盘、光盘、U盘硬件支持。   2、纯2K/XP/2003系统: 这些系统没有自带DOS,需要通过启动盘(软盘、光盘、U盘)或虚拟软驱来得到DOS环境 (本文的主要内容)。   四、关于本文中启动盘的一些说明 1、启动盘中的DOS版本均为Windows98附带的DOS7.1。 2、用启动盘启动时,不是加载的功能越多越好,功能越多就意味着可用基本内存越少,产生一些问题的几率也越大,所以请根据自己的实际需要来选择对应的启动菜单。 3、本文各种DOS启动盘中存在的部分文件说明: IO.SYS DOS7.1的三个基本系统文件之一 MSDOS.SYS DOS7.1的三个基本系统文件之二 COMMAND.COM DOS7.1的三个基本系统文件之三 ATTRIB.EXE DOS7.1的文件属性修改工具。 AUTOEXEC.BAT DOS的开机自动执行批处理文件。 CONFIG.SYS DOS的系统配置文件。 DELTREE.EXE DOS7.1自带的删除目录及内嵌文件工具。 D.COM DOS下的系统关机工具,适用于ATX电源。 DI1000DD.SYS U盘的驱动。 DOSKEY.COM DOS7.1的DOSKEY,方便的命令行工具。 EDIT.COM DOS7.1的文本编辑工具。 EMM386.EXE DOS7.1的内存管理工具。 FDISK.EXE 分区工具Free Fdisk 1.2.1,支持100G以上的大硬盘。 FDISK-98.EXE Win98的DOS7.1自带分区工具,不支持60G以上的硬盘。 FDISK-ME.exe WinME自带的分区工具,支持60G的硬盘。 FORMAT.COM DOS7.1自带的格式化工具。 HIMEM.SYS DOS7.1的内存驱动。 JMHDFIX.EXE 江民硬盘修复王,修硬盘的好东东,比较危险,新手慎用。 LCC.COM 一个DOS下管理文件和目录的工具,可对中文目录和文件操作。 MOUSE.COM PS/2、Serial接口鼠标的DOS驱动。 MSCDEX.EXE DOS7.1的光驱管理程序。 OAKCDROM.SYS DOS7.1的通用光驱驱动。 PC.EXE PCTOOLS,一个强大的多功能工具。 R.COM DOS下的系统重启工具。 SCANDISK.EXE DOS7.1的磁盘扫描工具,用来修复一些常见的磁盘问题。 SMARTDRV.EXE DOS7.1的磁盘高速缓冲,加快DOS下文件读写的速度。 SYS.COM DOS7.1的DOS系统传递工具。 USBASPI.SYS U盘的驱动。 XCOPY.EXE DOS7.1的文件目录复制工具,比COPY命令具有更强大的功能。 -------------------------------------------------------------------------------- 一、软盘版的DOS启动盘 适用对象:有1.44MB 3.5英寸软驱的朋友。 基本功能: A、支持himem和emm386的内存管理,可突破DOS的640K常规内存的限制。 B、支持各种常见IDE接口光驱(CDROM、DVD-ROM)。 C、支持smartdrv磁盘加速,大大加快DOS下磁盘读写的速度,尤其是在DOS下安装系统、GHOST镜像操作、扫描病毒木马,会为你节省不少时间。 D、支持串口(Serial)和PS/2口鼠标。 E、支持U盘(闪存盘)。 最新版软盘DOS启动盘下载地址(复制链接,使用工具下载): 地址1: http://nnmm.arongsoft.com/dos/boot/floopy/floopy-1218.rar 地址2: http://nnmm.arongsoft.net/dos/boot/floopy/floopy-1218.rar 制作和使用步骤: 1、把上面下载的文件解压到硬盘上,将一张1.44M的软盘插入软驱,然后运行解压后的EXE文件,根据提示它会自动做出一张具有上述功能的DOS启动盘。 2、不取出软盘,重启电脑,在系统自检的界面上按Del键进入BIOS设置(如果是特殊BIOS,请参考主板手册后确定按哪个键进入BIOS),进入BIOS FEATURES SETUP中,将Boot Sequence(启动顺序)设定为A盘第一,设定的方法是在该项上按PageUP或PageDown键来转换选项。设定好后按ESC一下,退回BIOS主界面,选择Save and Exit(保存并退出BIOS设置,直接按F10也可以,但不是所有的BIOS都支持)回车确认退出BIOS设置。 3、系统重启后会自动从软驱引导DOS系统,出现的引导菜单选项如下: Boot DOS with CDROM 标准功能+光驱驱动 Boot DOS with CDROM + U-DISK 标准功能+光驱驱动+U盘驱动 Boot DOS ONLY (No Any Drivers) 只启动基本DOS系统 REBOOT YOUR PC 重启计算机 SHUTDOWN YOUR PC 关闭计算机 注1:标准功能是指已加载himem.sys和emm386.exe内存驱动、smartdrv磁盘加速、鼠标驱动、doskey。 注2:基本DOS系统是指仅仅加载IO.SYS、MSDOS.SYS和COMMAND.COM这3个DOS核心文件,不加载其他任何驱动和程序。 用↑↓键选择你需要的启动方式,回车确定。这里需要特别说明的是,如果你选择了驱动U盘的选项,在启动过程中会在扫描USB设备时停顿比较久(1-2分钟不等),大家不要以为死机,请耐心等待一下。 4、DOS成功后,会显示DOS LOADING SUCCESSFUL的字样并处于A:\>的提示符下: 至此DOS系统启动完毕,你现在就可以做你该做的事情了。 注意事项: 1、用质量好的软盘来做启动盘,保证软驱工作正常。 2、如果U盘出现问题请参考三、U盘版的DOS启动盘最后的注意事项。 -------------------------------------------------------------------------------- 二、光盘版的DOS启动盘 适用对象:有光驱(刻录机)的朋友 基本功能: A、支持himem和emm386的内存管理,可突破DOS的640K常规内存的限制。 B、支持各种常见IDE接口光驱(CDROM、DVD-ROM)。 C、支持smartdrv磁盘加速,大大加快DOS下磁盘读写的速度,尤其是在DOS下安装系统、GHOST镜像操作、扫描病毒木马,会为你节省不少时间。 D、支持串口(Serial)和PS/2口鼠标。 E、支持U盘(闪存盘)。 F、支持NTFS分区的读写。 最新版光盘DOS启动盘下载地址(复制链接,使用工具下载): 地址1: http://nnmm.arongsoft.com/DOS/boot/cdrom/cdrom-1218.rar 地址2: http://nnmm.arongsoft.net/DOS/boot/cdrom/cdrom-1218.rar 制作和使用步骤: 1、下载上面的rar文件,把里面的ima文件释放到硬盘中。 2、打开刻录软件nero,5.5和6系列版本均可,5.5版本请退出nero的精灵模式,下面以nero6为例讲解。   按上面的步骤可以打开nero6的《高级任务模式》,点击《制作可引导光盘》后会出现下面的对话框。 在nero弹出的窗口左侧会出现《CDROM-引导》; ①在《启动》 项里选择《映像文件》,在《浏览》里选中刚刚释放出的那个ima文件; ②打开高级设置 ③在《虚拟类型》里选中《虚拟2.88MB软盘》; ④点《新建》后进入nero界面。 3、如果你只想拥有本页顶部描述的基本功能,请跳过本条看下一条。 想拥有更强大的DOS功能,请下载下面的压缩包(复制链接,使用工具下载): 地址1: http://nnmm.arongsoft.com/dos/boot/dosapp-1218.rar 地址2: http://nnmm.arongsoft.net/dos/boot/dosapp-1218.rar 这个压缩包里包含了以下内容: BIOS-DOS下模拟AWARD BIOS界面的一个小工具,可以让你在模拟的环境里学习调整BIOS,它不会触及到你真正的BIOS,放心使用,执行文件:bios.exe。 DM955-dm万用版9.55,分区和修复硬盘的常用工具,执行文件:dm.com。 DOSLFN-DOS下支持长文件名的工具DOSLFN 0.32o版,使用方法请看附带说明。 DOS-最常用的DOS外部命令和一些DOS工具,最大限度的扩展你的DOS功能。 HDFIX-江民的硬盘修复王,修硬盘的利器,菜鸟慎用,执行文件:jmhdfix.exe。 HWINFO-DOS下不错的硬件信息查看工具,这个是最新for DOS版本4.95,执行文件:hwinfo.exe。 GHOST-各个DOS版本的GHOST,请选择你需要的。 NDD2004-诺顿的磁盘医生2004的DOS+WIN的2合1版,用来修复硬盘的问题,DOS下的执行文件:ndd.exe,windows下的执行文件:ndd32.exe。 NTFS-可在DOS下读写NTFS分区的工具,对运行DOS版的杀毒软件和操作NTFS分区的数据都有实际用途,可执行文件:ntfspro.exe。(NTFS功能本启动盘已经包括)PQ805-最新的pqmagic的8.05版,DOS下分区的利器,支持200G以上的大硬盘,支持鼠标操作,可执行文件: pqmagic.exe。 SEA-DOS最棒的秀图工具,这个是1.3的注册版,支持鼠标操作,执行文件:sea.exe,退出按F10。 TW-DOS下的汉字平台:天汇3.2,执行文件:tway.bat,会自动加载拼音和五笔输入法,Alt+F2启动拼音输入法,Alt+F3启动五笔输入法,右Shift键中英文输入法切换。 UCDOS-DOS下的汉字平台:UCDOS98袖珍特别版,内含CCED5.18和WPS2.0,自带拼音和五笔输入法,Alt+F2启动拼音输入法,Alt+F5启动五笔输入法,右Shift键中英文输入法切换,启动UCDOS:u.bat,启动CCED:cced.exe,启动WPS:wps.com。(注意,UCDOS目录必须在光盘、硬盘、U盘的根目录下,否则运行起来会有问题,CCED和WPS运行前必须启动UCDOS或TW,否则显示的都是乱码。)VC-Volkov Commander 4.99.08,DOS下支持中文长文件名的文件管理器,具有图形化的界面,支持鼠标操作,执行文件:vc.com。 此压缩包下载后解压缩到硬盘上,在nero中把它们加入到待刻录的内容中(如下图) 待制作成启动光盘后,在DOS下转到光盘盘符,进入相应目录执行相应的程序即可。 4、其实你可以在这张光盘中加入任何你需要的内容,比如Win XP的安装文件或者其他的DOS程序等等。视光盘容量,CDRW一般不超过650MB,CDR一般不超过700MB,已加入文件的大小总值在nero主界面的最下面有刻度显示。 需要特别说明的: ①在nero的刻录界面里是看不到开始时加入的ima文件内容的,因为这个ima文件已被nero“隐藏”起来。 ②为了DOS下能方便进出目录和执行程序,请尽量保证光盘上刻录的内容都使用8.3格式的目录名或文件名。8.3格式是指文件名(或目录名)不超过8个半角英文字符或数字,扩展名不超过3个半角英文字符或数字。如果目录名或文件名是中文,进入目录或执行程序时通常需要加载额外的汉字系统。 ③要运行光盘上的程序必须在启动时选择加载光驱驱动,否则无法转换到光驱的盘符。 你需要的文件都加好之后,就可以刻录光盘了(如下图):   完成后你就有了一张自己的DOS启动光盘喽。 5、将该光盘放入光驱,重启电脑,在系统自检的界面上按Del键进入BIOS设置(如果是特殊BIOS,请参考主板手册后确定按哪个键进入BIOS),进入BIOS FEATURES SETUP中,将Boot Sequence(启动顺序)设定为CDROM第一,设定的方法是在该项上按PageUP或PageDown键来转换选项。设定好后按ESC一下,退回BIOS主界面,选择Save and Exit(保存并退出BIOS设置,直接按F10也可以,但不是所有的BIOS都支持)回车确认退出BIOS设置。 6、系统重启后会自动从光驱引导DOS系统,出现的引导菜单选项如下: Boot DOS with CDROM 标准功能+光驱驱动 Boot DOS with CDROM + U-DISK 标准功能+光驱驱动+U盘驱动 Boot DOS with CDROM + U-DISK + NTFS 标准功能+光驱驱动+U盘驱动+读写NTFS分区 Boot DOS ONLY (No Any Drivers) 只启动基本DOS系统 REBOOT YOUR PC 重启计算机 SHUTDOWN YOUR PC 关闭计算机 注1:标准功能是指已加载himem.sys和emm386.exe内存驱动、smartdrv磁盘加速、鼠标驱动、doskey。 注2:基本DOS系统是指仅仅加载IO.SYS、MSDOS.SYS和COMMAND.COM这3个DOS核心文件,不加载其他任何驱动和程序。 用↑↓键选择你需要的启动方式,回车确定。这里需要特别说明的是,如果你选择了驱动U盘的选项,在启动过程中会在扫描USB设备时停顿比较久(1-2分钟不等),大家不要以为死机,请耐心等待一下。 7、启动成功后,会显示DOS LOADING SUCCESSFUL的字样并处于A:\>的提示符下 至此DOS系统启动完毕,你现在就可以做你该做的事情了。 注意事项: 1、推荐用CDRW盘制作启动盘,将来版本更新可以随时替换,你也可以把你常用的一些DOS工具或操作系统刻录到本光盘中,方便使用。 2、有NTFS分区的硬盘或多硬盘系统,在DOS下其盘符(FAT32或NTFS分区)排列和在Windows中的顺序可能不一样,请大家自行查找确定,以免误操作。 3、如果U盘出现问题请参考三、U盘版的DOS启动盘最后的注意事项。 -------------------------------------------------------------------------------- 三、U盘版的DOS启动盘 特别说明:本文所说的U盘指的是USB接口的闪存盘(俗称U盘),不是USB硬盘。 适用对象:有U盘的朋友(嫌光盘麻烦的朋友) 基本功能: A、支持himem和emm386的内存管理,可突破DOS的640K常规内存的限制。 B、支持各种常见IDE接口光驱(CDROM、DVD-ROM)。 C、支持smartdrv磁盘加速,大大加快DOS下磁盘读写的速度,尤其是在DOS下安装系统、GHOST镜像操作、扫描病毒木马,会为你节省不少时间。 D、支持串口(Serial)和PS/2口鼠标。 E、支持NTFS分区的读写。 新版启动型U盘制作工具下载地址(复制链接,使用工具下载): 地址1: http://nnmm.arongsoft.com/dos/boot/usb/usboot.rar 地址2: http://nnmm.arongsoft.net/dos/boot/usb/usboot.rar 下载后把程序解压缩出来,再把你的U盘插上,按照下面的步骤就可以把你的U盘制作成DOS启动型的(注意事先备份U盘中有用的数据):   USBOOT运行后(见下图): ①选中你的U盘; ②点击蓝色的字选择工作模式; ③强烈建议选择ZIP模式! HDD模式和FDD模式建议在ZIP模式不能正常工作时再试用; ZIP模式是指把U盘模拟成ZIP驱动器模式,启动后U盘的盘符是A: HDD模式是指把U盘模拟成硬盘模式;特别注意:如果选择了HDD模式,那么这个启动U盘启动后的盘符是C:,在对启动分区进行操作时就容易产生很多问题,比如:装系统时安装程序会把启动文件写到U盘而不是你硬盘的启动分区!导致系统安装失败。所以请尽量先选择ZIP模式。 FDD模式是指把U盘模拟成软驱模式,启动后U盘的盘符是A:,这个模式的U盘在一些支持USB-FDD启动的机器上启动时会找不到U盘,所以请酌情使用。   ④点击《开始》,开始制作。 ⑤出现下面这个对话框时,确保你的U盘中数据已没用,再选择《是》。 ⑥启动盘制作时出现下面的提示,请按正常程序拔下U盘: Win9x系统:可直接拔下U盘 Win2000、XP、2003系统:请双击任务栏右侧红色圆圈内的《安全删除硬件》图标,正常卸载U盘。 ⑦请再次插上U盘 ⑧稍后就会出现下面这个成功的提示,说明你的U盘目前已经是可启动基本DOS的了,点击右上角的×关闭USBOOT。   2、根据你U盘的模式,下载下面的rar压缩包,把里面的所有文件释放到U盘的根目录下,注意必须是根目录! 下载地址(复制链接,使用工具下载): ZIP和FDD模式压缩包下载地址1: http://nnmm.arongsoft.com/dos/boot/usb/usb-zip-fdd-1218.rar ZIP和FDD模式压缩包下载地址2: http://nnmm.arongsoft.net/dos/boot/usb/usb-zip-fdd-1218.rar ★★★★★★★★★★★★★★★★★★★★★★★★★★★★ HDD模式压缩包下载地址1: http://nnmm.arongsoft.com/dos/boot/usb/usb-hdd-1218.rar HDD模式压缩包下载地址2: http://nnmm.arongsoft.net/dos/boot/usb/usb-hdd-1218.rar   3、如果你只想拥有本页顶部描述的基本功能,请跳过此条,看下一条。 想拥有更强大的DOS功能,请下载下面的压缩包(复制链接,使用工具下载): 地址1: http://nnmm.arongsoft.com/dos/boot/dosapp-1218.rar 地址2: http://nnmm.arongsoft.net/dos/boot/dosapp-1218.rar 这个压缩包里包含了以下内容: BIOS-DOS下模拟AWARD BIOS界面的一个小工具,可以让你在模拟的环境里学习调整BIOS,它不会触及到你真正的BIOS,放心使用,执行文件:bios.exe。 DM955-dm万用版9.55,分区和修复硬盘的常用工具,执行文件:dm.com。 DOSLFN-DOS下支持长文件名的工具DOSLFN 0.32o版,使用方法请看附带说明。 DOS-最常用的DOS外部命令和一些DOS工具,最大限度的扩展你的DOS功能。 HDFIX-江民的硬盘修复王,修硬盘的利器,菜鸟慎用,执行文件:jmhdfix.exe。 HWINFO-DOS下不错的硬件信息查看工具,这个是最新for DOS版本4.95,执行文件:hwinfo.exe。 GHOST-各个DOS版本的GHOST,请选择你需要的。 NDD2004-诺顿的磁盘医生2004的DOS+WIN的2合1版,用来修复硬盘的问题,DOS下的执行文件:ndd.exe,windows下的执行文件:ndd32.exe。 NTFS-可在DOS下读写NTFS分区的工具,对运行DOS版的杀毒软件和操作NTFS分区的数据都有实际用途,可执行文件:ntfspro.exe。(NTFS功能本启动盘已经包括)PQ805-最新的pqmagic的8.05版,DOS下分区的利器,支持200G以上的大硬盘,支持鼠标操作,可执行文件: pqmagic.exe。 SEA-DOS最棒的秀图工具,这个是1.3的注册版,支持鼠标操作,执行文件:sea.exe,退出按F10。 TW-DOS下的汉字平台:天汇3.2,执行文件:tway.bat,会自动加载拼音和五笔输入法,Alt+F2启动拼音输入法,Alt+F3启动五笔输入法,右Shift键中英文输入法切换。 UCDOS-DOS下的汉字平台:UCDOS98袖珍特别版,内含CCED5.18和WPS2.0,自带拼音和五笔输入法,Alt+F2启动拼音输入法,Alt+F5启动五笔输入法,右Shift键中英文输入法切换,启动UCDOS:u.bat,启动CCED:cced.exe,启动WPS:wps.com。(注意,UCDOS目录必须在光盘、硬盘、U盘的根目录下,否则运行起来会有问题,CCED和WPS运行前必须启动UCDOS或TW,否则显示的都是乱码。)VC-Volkov Commander 4.99.08,DOS下支持中文长文件名的文件管理器,具有图形化的界面,支持鼠标操作,执行文件:vc.com。 此压缩包下载后解压缩到硬盘上,按目录释放到U盘根目录下即可,待启动到DOS后,转到U盘的盘符,进入相应目录执行相应的程序即可。 4、至此,你已经有了一个功能不错的DOS启动U盘了。 5、用这个U盘启动计算机:将U盘插入主板USB接口(最好将其他无关的USB设备暂时拔掉),重启电脑,在系统自检的界面上按Del键进入BIOS设置(如果是特殊BIOS,请参考主板手册后确定按哪个键进入BIOS),进入BIOS FEATURES SETUP中,将Boot Sequence(启动顺序)设定为USB-ZIP(或USB-HDD、USB-FDD,请与你制作的U盘工作模式对应)第一,设定的方法是在该项上按PageUP或PageDown键来转换选项。设定好后按ESC一下,退回BIOS主界面,选择Save and Exit(保存并退出BIOS设置,直接按F10也可以,但不是所有的BIOS都支持)回车确认退出BIOS设置。 注意:有些主板(尤其是老主板)的BIOS中不支持U盘启动,所以会找不到相应的选项。 6、系统重启后会自动从U盘引导DOS系统,出现的引导菜单选项如下: Boot DOS with CDROM 标准功能+光驱驱动 Boot DOS with CDROM + NTFS 标准功能+光驱驱动+读写NTFS分区 Boot DOS ONLY (No Any Drivers) 只启动基本DOS系统 REBOOT YOUR PC 重启计算机 SHUTDOWN YOUR PC 关闭计算机 注1:标准功能是指已加载himem.sys和emm386.exe内存驱动、smartdrv磁盘加速、鼠标驱动、doskey。 注2:基本DOS系统是指仅仅加载IO.SYS、MSDOS.SYS和COMMAND.COM这3个DOS核心文件,不加载其他任何驱动和程序。 用↑↓键选择你需要的启动方式,回车确定。 7、启动成功后,会显示DOS LOADING SUCCESSFUL的字样。 如果是ZIP模式或FDD模式的U盘,会出现A:\>的提示符(如下图) 如果是HDD模式的U盘,会出现C:\>的提示符(如下图)   至此DOS系统启动完毕,你现在就可以做你该做的事情了。 注意事项: 1、制作启动盘之前请备份好U盘上有用的数据,最好能完全格式化一遍U盘。 2、有NTFS分区的硬盘或多硬盘的系统,在DOS下硬盘的盘符排列和在Windows中的顺序可能不一样,请大家自行查找确定,以免误操作。 3、如果启动U盘在使用中发生问题,请试试下面的方法: ①换成其他的工作模式(ZIP、HDD、FDD); ②选择DOS启动菜单中其他的选项; ③更换一个不同品牌的U盘重新制作一次; ④把U盘拿到其他品牌的电脑上试一下能不能正常工作。 4、U盘启动盘出现问题主要原因: ①主板不支持U盘启动(或支持的不完善); ②某些DOS软件(尤其是对磁盘操作类的)对U盘支持的可能不是很好; ③U盘是DOS之后出现的新硬件,种类比较繁杂,而且目前绝大多数的USB设备都没有DOS下的驱动,目前使用的基本都是兼容驱动,所以出现一些问题也在所难免; ④U盘本身质量有问题; ⑤经常对U盘有不正确的操作,比如2000、XP、2003下直接插拔U盘,而不是通过《安全删除硬件》来卸载。 5、关于USBOOT这个工具的使用注意事项和容易产生的问题,请看其压缩包中的PDF文档,里面说的已经很详细了。 -------------------------------------------------------------------------------- 四、硬盘版的DOS启动 适合对象:没有软驱、U盘、光驱(刻录机)的朋友(或喜欢追求速度感的朋友) 方法一: 在新装系统(2K/XP/2003)之前,如果你的C盘是FAT32格式,那么你可以用Win98的DOS启动盘启动系统,再执行sys c:这个命令,向C盘传递DOS的3个基本启动文件,再安装2K/XP/2003(注意安装时不要改变C盘的分区格式),Windows安装完毕后,再开机就会出现两个启动选项,让你选项是启动2K/XP/2003还是启动Microsoft Windows(即DOS7.1),↑↓键选择,回车确认。(如下图) 这个方法适合比较熟悉DOS配置的朋友,因为此方法需要手动配置config.sys和autoexec.bat这个两个文件。 方法二(推荐): 本方法不适用单独的9x系统,只适用于2K、XP、2003或与Win 9x混合的多系统。 如果你已经安装了2K/XP/2003或与Win9x混合的系统,或者系统盘是NTFS格式,但又想再安装DOS,虽然可以通过修改一些系统文件来实现,但比较麻烦,在此推荐这个简单的方法: 基本功能: A、支持himem和emm386的内存管理,可突破DOS的640K常规内存的限制。 B、支持各种常见IDE接口光驱(CDROM、DVD-ROM)。 C、支持smartdrv磁盘加速,大大加快DOS下磁盘读写的速度,尤其是在DOS下安装系统、GHOST镜像操作、扫描病毒木马,会为你节省不少时间。 D、支持串口(Serial)和PS/2口鼠标。 E、支持U盘(闪存盘)。 F、支持NTFS分区的读写。 1、下载下面这个工具VFloopy(虚拟软驱--林超兄的作品),内含nnmm制作的DOS启动的镜像文件NTFS.IMG。(复制链接,使用工具下载): 地址1: http://nnmm.arongsoft.com/dos/boot/hdd/hdd-1218.rar 地址2: http://nnmm.arongsoft.net/dos/boot/hdd/hdd-1218.rar 2、把rar包解压缩到硬盘上,关闭其他无关的程序,运行其中的VFloopy.exe。 ①点击《映像文件》栏后面的选择按钮 ②③选中刚刚解压缩出来的最新版本NTFS.IMG后,按《打开》。 ④此界面的选项一般无需改动,直接点击《应用》按钮。   ⑤可以点《是》查看日志 ⑥显示了日志的详细内容,点击《返回》按钮继续下一步 ⑦vfloopy要求重新启动系统,点击《是》重启系统。 2、系统重启后,在进入2K/XP/2003之前,引导菜单会多出一项《由虚拟启动软盘启动》,这个就是用虚拟软盘启动到DOS的选项了,选中它,回车。 出现了下面这个DOS启动菜单,菜单的含意如下: Boot DOS with CDROM 标准功能+光驱驱动 Boot DOS with CDROM + NTFS 标准功能+光驱驱动+读写NTFS分区 Boot DOS with CDROM + U-DISK 标准功能+光驱驱动+U盘驱动 Boot DOS with CDROM + U-DISK + NTFS标准功能+光驱驱动+U盘驱动+读写NTFS分区 Boot DOS ONLY (No Any Driver). 只启动基本DOS系统 REBOOT YOUR PC. 重启计算机 SHUTDOWN YOUR PC. 关闭计算机 注1:标准功能是指已加载himem.sys和emm386.exe内存驱动、smartdrv磁盘加速、鼠标驱动、doskey。 注2:基本DOS系统是指仅仅加载IO.SYS、MSDOS.SYS和COMMAND.COM这3个DOS核心文件,不加载其他任何驱动和程序。 用↑↓键选择你需要的启动方式,回车确定。这里需要特别说明的是,如果你选择了驱动U盘的选项,在启动过程中会在扫描USB设备时停顿比较久(1-2分钟不等),大家不要以为死机,请耐心等待一下。 3、如果你不需要其他的DOS工具,请跳过本条,直接看下一条。 想拥有更强大的DOS功能,请下载下面的压缩包(复制链接,使用工具下载): 地址1: http://nnmm.arongsoft.com/dos/boot/dosapp-1218.rar 地址2: http://nnmm.arongsoft.net/dos/boot/dosapp-1218.rar 这个压缩包里包含了以下内容: BIOS-DOS下模拟AWARD BIOS界面的一个小工具,可以让你在模拟的环境里学习调整BIOS,它不会触及到你真正的BIOS,放心使用,执行文件:bios.exe。 DM955-dm万用版9.55,分区和修复硬盘的常用工具,执行文件:dm.com。 DOSLFN-DOS下支持长文件名的工具DOSLFN 0.32o版,使用方法请看附带说明。 DOS-最常用的DOS外部命令和一些DOS工具,最大限度的扩展你的DOS功能。 HDFIX-江民的硬盘修复王,修硬盘的利器,菜鸟慎用,执行文件:jmhdfix.exe。 HWINFO-DOS下不错的硬件信息查看工具,这个是最新for DOS版本4.95,执行文件:hwinfo.exe。 GHOST-各个DOS版本的GHOST,请选择你需要的。 NDD2004-诺顿的磁盘医生2004的DOS+WIN的2合1版,用来修复硬盘的问题,DOS下的执行文件:ndd.exe,windows下的执行文件:ndd32.exe。 NTFS-可在DOS下读写NTFS分区的工具,对运行DOS版的杀毒软件和操作NTFS分区的数据都有实际用途,可执行文件:ntfspro.exe。(NTFS功能本启动盘已经包括)PQ805-最新的pqmagic的8.05版,DOS下分区的利器,支持200G以上的大硬盘,支持鼠标操作,可执行文件: pqmagic.exe。 SEA-DOS很棒的秀图工具,这个是1.3的注册版,支持鼠标操作,执行文件:sea.exe,退出按F10。 TW-DOS下的汉字平台:天汇3.2,执行文件:tway.bat,会自动加载拼音和五笔输入法,Alt+F2启动拼音输入法,Alt+F3启动五笔输入法,右Shift键中英文输入法切换。 UCDOS-DOS下的汉字平台:UCDOS98袖珍特别版,内含CCED5.18和WPS2.0,自带拼音和五笔输入法,Alt+F2启动拼音输入法,Alt+F5启动五笔输入法,右Shift键中英文输入法切换,启动UCDOS:u.bat,启动CCED:cced.exe,启动WPS:wps.com。(注意,UCDOS目录必须在光盘、硬盘、U盘的根目录下,否则运行起来会有问题,CCED和WPS运行前必须启动UCDOS或TW,否则显示的都是乱码。)VC-Volkov Commander 4.99.08,DOS下支持中文长文件名的文件管理器,具有图形化的界面,支持鼠标操作,执行文件:vc.com。 把它们按目录释放到出来(强烈建议释放到硬盘的FAT32分区,保存在光盘和U盘也可以),待启动到DOS后,转到该盘的盘符,进入相应目录执行相应的程序即可。 4、启动成功后,会显示DOS LOADING SUCCESSFUL的字样并处于A:\>的提示符下 至此硬盘版的DOS启动已经制作成功,只要你不重装系统或格式化系统盘,这个DOS引导菜单就会一直存在。   给菜鸟朋友的友情提示: 如果开机后《操作系统选择菜单》出现的时间过久或太短,可以用下面这个方法来调整: ①右击桌面《我的电脑》,选择《属性》,点击《高级》,点击《设置》 ②把红色框框里面的选项勾上,再把时间改为10秒(或者你认为合适的数字)   ③点击《确定》、《确定》后即可,系统重启后,操作系统选择菜单显示的时间就变成了你刚刚设定的时长。 注意事项: 1、新手不要随意修改C:\BOOT目录及其内含文件;不要随意修改C:\Boot.ini文件; 2、不要对启动分区进行磁盘整理,否则虚拟软驱启动会失效,如需的确需要整理,整理后再运行Vfloppy重新做一次 ; 3、不要随意用sys命令向系统分区传递DOS系统; 4、启动分区最好不用NTFS的压缩格式,至少保证根目录下的BOOT目录及其内含的文件不能被压缩; 5、有NTFS分区的硬盘或多硬盘的系统,在DOS下其盘符排列和在Windows中的顺序可能不一样,请大家自行查找确定,以免误操作。 6、U盘出现的问题请参考三、U盘版的DOS启动盘最后的注意事项 7、更多关于Vfloopy的注意事项,请看压缩包里的Vfloopy说明文档chm。
9 2.1.2 ARM处理器体系结构........................................................................................ 10 2.1.3 Linux 与ARM处理器........................................................................................ 12 2.2 ARM指令集................................................................................................................... 13 2.2.1 ARM微处理器的指令集概述............................................................................ 13 2.2.2 ARM指令寻址方式............................................................................................ 15 2.2.3 Thumb 指令概述................................................................................................. 17 2.3 典型ARM处理器简介.................................................................................................. 17 2.3.1 Atmel AT91RM9200............................................................................................ 17 2.3.2 Samsung S3C2410 ............................................................................................... 18 2.3.3 TI OMAP1510/1610 系列................................................................................... 19 2.3.4 Freescale i.Max21 ................................................................................................ 22 2.3.5 Intel Xscale PXA系列......................................................................................... 23 2.4 三星S3C2410开发板.................................................................................................... 24 2.4.1 三星S3C2410开发板介绍................................................................................. 24 2.4.2 众多的开发板供应商.......................................................................................... 26 第3 章 Linux 编程环境................................................................................................................ 28 ║2 嵌入式系统开发技术详解——基于ARM 3.1 Linux 常用工具.............................................................................................................. 28 3.1.1 Shell简介............................................................................................................ 28 3.1.2 常用Shell命令.................................................................................................... 30 3.1.3 编写Shell脚本.................................................................................................... 38 3.1.4 正则表达式.......................................................................................................... 42 3.1.5 程序编辑器.......................................................................................................... 44 3.2 Makefile .......................................................................................................................... 48 3.2.1 GNU make ........................................................................................................... 48 3.2.2 Makefile规则语法.............................................................................................. 49 3.2.3 Makefile文件中变量的使用.............................................................................. 51 3.3 二进制代码工具的使用................................................................................................. 52 3.3.1 GNU Binutils工具介绍....................................................................................... 52 3.3.2 Binutils工具软件使用........................................................................................ 54 3.4 编译器GCC的使用....................................................................................................... 54 3.4.1 GCC编译器介绍................................................................................................. 54 3.4.2 GCC编译选项解析............................................................................................. 56 3.5 调试器GDB的使用技巧.............................................................................................. 60 3.5.1 GDB调试器介绍................................................................................................ 60 3.5.2 GDB调试命令.................................................................................................... 61 3.6 Linux 编程库.................................................................................................................. 66 3.6.1 Linux 编程库介绍............................................................................................... 66 3.6.2 Linux 系统调用................................................................................................... 67 3.6.3 Linux 线程库....................................................................................................... 70 第4 章 交叉开发环境.................................................................................................................. 73 4.1 交叉开发环境介绍......................................................................................................... 73 4.1.1 交叉开发概念模型.............................................................................................. 73 4.1.2 目标板与主机之间的连接.................................................................................. 75 4.1.3 文件传输.............................................................................................................. 76 4.1.4 网络文件系统...................................................................................................... 77 4.2 安装交叉编译工具......................................................................................................... 78 4.2.1 获取交叉开发工具链.......................................................................................... 78 4.2.2 主机安装工具链.................................................................................................. 79 4.3 主机开发环境配置......................................................................................................... 80 4.3.1 主机环境配置...................................................................................................... 80 4.3.2 串口控制台工具.................................................................................................. 81 4.3.3 DHCP服务.......................................................................................................... 84 4.3.4 TFTP服务........................................................................................................... 85 4.3.5 NFS服务............................................................................................................. 86 第1 章 目录 3║ 4.4 启动目标板..................................................................................................................... 88 4.4.1 系统引导过程...................................................................................................... 88 4.4.2 内核解压启动...................................................................................................... 89 4.4.3 挂接根文件系统.................................................................................................. 90 4.5 应用程序的远程交叉调试............................................................................................. 91 4.5.1 交叉调试的模型.................................................................................................. 91 4.5.2 交叉调试程序实例.............................................................................................. 92 第5章 交叉开发工具链.............................................................................................................. 94 5.1 工具链软件..................................................................................................................... 94 5.1.1 相关软件工程...................................................................................................... 94 5.1.2 软件版本的匹配.................................................................................................. 95 5.1.3 工具链制作流程.................................................................................................. 97 5.2 制作交叉编译器............................................................................................................. 98 5.2.1 准备编译环境...................................................................................................... 98 5.2.2 编译binutils......................................................................................................... 99 5.2.3 编译GCC的辅助编译器.................................................................................. 100 5.2.4 编译生成glibc库.............................................................................................. 101 5.2.5 编译生成完整的GCC编译器.......................................................................... 105 5.3 制作交叉调试器........................................................................................................... 106 5.3.1 编译交叉调试器................................................................................................ 106 5.3.2 编译gdbserver ................................................................................................... 106 第6章 Bootloader..................................................................................................................... 108 6.1 Bootloader ..................................................................................................................... 108 6.1.1 Bootloader 介绍................................................................................................. 108 6.1.2 Bootloader 的启动............................................................................................. 109 6.1.3 Bootloader 的种类..............................................................................................111 6.2 U-Boot编程...................................................................................................................113 6.2.1 U-Boot工程简介................................................................................................113 6.2.2 U-Boot源码结构................................................................................................113 6.2.3 U-Boot的编译....................................................................................................114 6.2.4 U-Boot 的移植....................................................................................................117 6.2.5 添加U-Boot命令...............................................................................................118 6.3 U-Boot的调试.............................................................................................................. 121 6.3.1 硬件调试器........................................................................................................ 121 6.3.2 软件跟踪............................................................................................................ 121 6.3.3 U-Boot启动过程............................................................................................... 123 6.3.4 U-Boot 与内核的关系....................................................................................... 128 ║4 嵌入式系统开发技术详解——基于ARM 6.4 使用U-Boot.................................................................................................................. 133 6.4.1 烧写U-Boot 到Flash ........................................................................................ 134 6.4.2 U-Boot的常用命令........................................................................................... 134 6.4.3 U-Boot的环境变量........................................................................................... 141 第7 章 配置编译内核................................................................................................................ 143 7.1 Linux 内核特点............................................................................................................ 143 7.1.1 Linux 内核版本介绍......................................................................................... 143 7.1.2 Linux 内核特点................................................................................................. 143 7.1.3 Linux 2.6 内核新特性....................................................................................... 144 7.2 配置编译内核源码....................................................................................................... 147 7.2.1 内核源码结构.................................................................................................... 148 7.2.2 内核配置系统.................................................................................................... 150 7.2.3 Kbuild Makefile ................................................................................................. 157 7.2.4 内核编译............................................................................................................ 169 7.2.5 内核编译结果.................................................................................................... 179 7.3 内核配置选项............................................................................................................... 180 7.3.1 使用配置菜单.................................................................................................... 180 7.3.2 基本配置选项.................................................................................................... 181 7.3.3 驱动程序配置选项............................................................................................ 183 第8 章 内核移植浅析................................................................................................................ 185 8.1 移植内核源码............................................................................................................... 185 8.1.1 移植前的准备工作............................................................................................ 185 8.1.2 开发板内核移植................................................................................................ 186 8.1.3 移植后的工作.................................................................................................... 194 8.2 Linux 内核启动过程分析............................................................................................ 194 8.2.1 内核启动流程源代码分析................................................................................ 194 8.2.2 内核自引导程序................................................................................................ 195 8.2.3 内核vmlinux入口............................................................................................ 199 8.2.4 Linux 系统初始化............................................................................................. 201 8.2.5 挂接根文件系统................................................................................................ 206 8.2.6 初始化设备驱动................................................................................................ 208 8.2.7 启动用户空间init进程..................................................................................... 209 第9 章 内核调试技术................................................................................................................ 212 9.1 内核调试方法............................................................................................................... 212 9.1.1 内核调试概述.................................................................................................... 212 9.1.2 学会分析内核源程序........................................................................................ 213 第1 章 目录 5║ 9.1.3 调试方法介绍.................................................................................................... 213 9.2 内核打印函数............................................................................................................... 216 9.2.1 内核映像解压前的串口输出函数.................................................................... 216 9.2.2 内核错误报告子程序........................................................................................ 218 9.2.3 内核打印函数.................................................................................................... 220 9.3 获取内核信息............................................................................................................... 227 9.3.1 系统请求键........................................................................................................ 227 9.3.2 通过/proc接口................................................................................................... 228 9.3.3 通过/sys 接口..................................................................................................... 229 9.3.4 通过ioctl方法................................................................................................... 232 9.4 处理出错信息............................................................................................................... 233 9.4.1 oops信息........................................................................................................... 233 9.4.2 panic ................................................................................................................... 234 9.5 内核源码调试............................................................................................................... 236 9.5.1 KGDB调试内核源代码.................................................................................... 236 9.5.2 BDI2000 调试内核源代码................................................................................ 237 第10 章 制作Linux根文件系统............................................................................................... 242 10.1 根文件系统目录结构................................................................................................. 242 10.1.1 FHS目录结构................................................................................................. 243 10.1.2 文件存放规则.................................................................................................. 246 10.2 添加系统文件............................................................................................................. 247 10.2.1 添加共享链接库.............................................................................................. 247 10.2.2 添加内核模块.................................................................................................. 249 10.2.3 添加设备文件.................................................................................................. 251 10.3 init系统初始化过程.................................................................................................. 253 10.3.1 inittab 文件....................................................................................................... 253 10.3.2 System V init启动过程................................................................................... 256 10.3.3 Busybox init启动过程分析............................................................................ 258 10.4 定制文件系统............................................................................................................. 260 10.4.1 定制应用程序.................................................................................................. 260 10.4.2 配置应用程序自动启动.................................................................................. 260 第11 章 充分利用开源软件...................................................................................................... 262 11.1 开放源代码工程介绍................................................................................................. 262 11.1.1 Linux 系统和开源软件................................................................................... 263 11.1.2 开源软件的特点.............................................................................................. 264 11.2 Busybox使用.............................................................................................................. 265 11.2.1 Busybox工程介绍........................................................................................... 265 ║6 嵌入式系统开发技术详解——基于ARM 11.2.2 配置编译Busybox........................................................................................... 265 11.3 X11 图形系统............................................................................................................. 270 11.3.1 X Windows介绍.............................................................................................. 270 11.3.2 Tiny-X 介绍..................................................................................................... 270 11.3.3 GTK 图形库..................................................................................................... 271 11.4 Qt图形库.................................................................................................................... 277 11.4.1 Qt介绍............................................................................................................. 277 11.4.2 Qt/Embedded介绍........................................................................................... 278 11.4.3 Qt/Embedded架构........................................................................................... 280 11.4.4 Qt/Embedded软件包与安装........................................................................... 281 11.5 MiniGUI图形系统..................................................................................................... 283 11.5.1 MiniGUI图形系统概述.................................................................................. 283 11.5.2 MiniGUI移植.................................................................................................. 285 11.6 MicroWindows图形系统........................................................................................... 290 11.7 Linux 下的网络应用.................................................................................................. 292 11.7.1 嵌入式设备的网络化...................................................................................... 292 11.7.2 TCP/IP协议概述............................................................................................. 292 11.7.3 Linux 下的Socket编程.................................................................................. 294 11.8 嵌入式Linux 的串行通信......................................................................................... 304 11.8.1 Linux 下的串口操作....................................................................................... 304 11.8.2 Linux 串口编程实例....................................................................................... 309 第12 章 系统集成测试.............................................................................................................. 314 12.1 系统集成测试............................................................................................................. 314 12.1.1 系统集成测试概述.......................................................................................... 314 12.1.2 系统集成测试要求.......................................................................................... 315 12.2 系统跟踪工具............................................................................................................. 315 12.2.1 为什么需要跟踪工具...................................................................................... 315 12.2.2 Strace................................................................................................................ 316 12.2.3 Ltrace ............................................................................................................... 316 12.2.4 LTT................................................................................................................... 317 12.3 系统性能测量工具..................................................................................................... 321 12.3.1 代码效率测量.................................................................................................. 321 12.3.2 LTP................................................................................................................... 324 12.3.3 LMbench .......................................................................................................... 325 12.4 测量内存泄漏............................................................................................................. 326 12.4.1 mtrace............................................................................................................... 326 12.4.2 dmalloc............................................................................................................. 327 12.4.3 memwatch ........................................................................................................ 328 第1 章 目录 7║ 12.4.4 YAMD.............................................................................................................. 330 第13 章 部署Linux系统........................................................................................................... 333 13.1 部署Linux系统概述................................................................................................. 333 13.1.1 部署Linux系统的基本流程.......................................................................... 333 13.1.2 部署Linux系统的关键问题.......................................................................... 334 13.2 文件系统类型............................................................................................................. 335 13.2.1 EXT2/EXT3 ..................................................................................................... 335 13.2.2 JFS.................................................................................................................... 337 13.2.3 cramfs............................................................................................................... 339 13.2.4 JFFS/JFFS2 ...................................................................................................... 340 13.2.5 YAFFS.............................................................................................................. 341 13.3 存储设备..................................................................................................................... 343 13.3.1 MTD 类型设备................................................................................................ 343 13.3.2 磁盘类型设备.................................................................................................. 344 13.4 部署Linux系统......................................................................................................... 346 13.4.1 安装MTD 工具............................................................................................... 346 13.4.2 使用磁盘文件系统.......................................................................................... 347 13.4.3 使用RAMDISK 设备..................................................................................... 348 13.4.4 使用MTD 设备和JFFS2文件系统............................................................... 349 13.4.5 系统启动和升级.............................................................................................. 351 第14 章 系统设计开发实例...................................................................................................... 352 14.1 需求分析..................................................................................................................... 352 14.2 系统硬件设计............................................................................................................. 354 14.3 系统软件设计............................................................................................................. 364 14.4 系统集成与部署......................................................................................................... 366
展讯Spreadtrum MocorDroid 4.0.3 编译及客户化配置文档 本文主要介绍 Spreadtrum MocorDroid 4.0.3 编译命令、注意事项以及基于8810 的 4.0.3、 8825的 4.0.3 版本的客户化配置。即使是展讯平台其他的主芯片,也可以通过此文档来熟悉展讯平台的构架。 1. 简介................................................................................................................................................. 7 1.1 综述 .................................................................................................................................................... 7 1.2 基本内容 ............................................................................................................................................ 7 2. 编译环境......................................................................................................................................... 8 2.1 推荐配置 ............................................................................................................................................ 8 2.2 必须软件安装 .................................................................................................................................... 8 3. 获取展讯源码................................................................................................................................. 9 3.1 展讯的代码包目录结构..................................................................................................................... 9 3.2 idh 目录说明 ..................................................................................................................................... 11 3.3 Image 目录说明 ................................................................................................................................ 12 4. Mocordroid4.0.3 支持工程及差异 ............................................................................................. 15 4.1 8825 的 4.0.3 差异说明.................................................................................................................... 15 4.2 8810 的 4.0.3 差异说明.................................................................................................................... 16 5. 代码目录结构介绍 ....................................................................................................................... 17 5.1 整个代码目录结构........................................................................................................................... 17 5.2 客户需要修改配置的目录............................................................................................................... 18 6. 编译命令....................................................................................................................................... 19 6.1 4.0.3 编译系统的变化....................................................................................................................... 19 6.2 编译整个工程的方法....................................................................................................................... 19 6.2.1 lunch 操作................................................................................................................................ 19 6.2.2 choosecombo 操作................................................................................................................... 19 6.2.3 编译命令用法 ........................................................................................................................ 20 6.2.4 编译模块的命令..................................................................................................................... 20 6.3 编译 eng 版本的方法: ................................................................................................................... 21 7. 内核配置....................................................................................................................................... 23 7.1 基于图形界面方式配置内核........................................................................................................... 23 7.2 直接修改 defconfig 文件配置内核 ................................................................................................. 24 8. 客户化配置................................................................................................................................... 25 8.1 PRODUCT 与 DEVICE 的层次结构关系 ....................................................................................... 25 8.2 功能区分的层次与方法................................................................................................................... 27 8.2.1 功能区分层次 ........................................................................................................................ 27 8.2.2 功能区分方法 ........................................................................................................................ 27 8.3 新建项目的实例 .............................................................................................................................. 29 8.4 用 fork 脚本新建工程项目 .............................................................................................................. 32 8.4.1 fork 脚本位置及功能.............................................................................................................. 32 8.4.2 fork 脚本使用举例 .................................................................................................................. 33 9. 各模块配置方法........................................................................................................................... 35 9.1 PINMAP 的客户化配置 ................................................................................................................... 35 9.1.1 8825 的 PINMAP 配置 ........................................................................................................... 35 9.1.2 8810 的 PINMAP 配置 ........................................................................................................... 38 9.2 GPIO 客户化配置 ............................................................................................................................. 41 9.2.1 8825 的 GPIO 配置 ................................................................................................................. 41 9.2.2 8810 的 GPIO 配置 ................................................................................................................. 44 9.3 CLOCK 的客户化配置 ..................................................................................................................... 48 9.3.1 8825 CLOCK 配置 .................................................................................................................. 48 9.3.2 8810 CLOCK 配置 .................................................................................................................. 49 9.4 Regulator—LDO ............................................................................................................................... 52 9.4.1 8825 Regulator—LDO............................................................................................................. 52 9.4.2 8810 Regulator—LDO............................................................................................................. 53 9.5 LCD 客户化配置 .............................................................................................................................. 55 9.5.1 8825 LCD 配置 ....................................................................................................................... 55 9.5.2 8810 LCD 配置 ....................................................................................................................... 58 9.6 TP 客户化配置 .................................................................................................................................. 60 9.6.1 8825 TP 配置 ........................................................................................................................... 60 9.6.2 8810 TP 配置 ........................................................................................................................... 62 9.7 Keypad 客户化配置 .......................................................................................................................... 64 9.7.1 8825 Keypad 配置 ................................................................................................................... 64 9.7.2 8810 Keypad ............................................................................................................................ 66 9.8 G/P/L/M Sensor 客户化配置 ........................................................................................................... 69 9.8.1 8825 G/P/L/M Sensor 配置 ..................................................................................................... 69 9.8.2 8810 G/P/L/M Sensor 配置 ..................................................................................................... 70 9.9 Camera 驱动配置方法 ...................................................................................................................... 72 9.9.1 8825 Camera 配置 ................................................................................................................... 72 9.9.2 8810 Camera 配置 ................................................................................................................... 73 9.10 BT 配置 ........................................................................................................................................... 76 9.10.1 8825 BT 配置 ........................................................................................................................ 76 9.10.2 8810 BT 配置 ........................................................................................................................ 79 9.11 WIFI 配置 ........................................................................................................................................ 84 9.11.1 8825WIFI 配置 ...................................................................................................................... 84 9.11.2 8810 WIFI 配置 ..................................................................................................................... 85 9.12 Audio 配置....................................................................................................................................... 88 9.12.1 音频参数 .............................................................................................................................. 88 9.12.2 修改外部 pa.......................................................................................................................... 88 9.13 DDR 配置 ........................................................................................................................................ 90 9.13.1 U-boot .................................................................................................................................... 90 9.13.2 Kernel..................................................................................................................................... 90 9.14 EMMC 配置 .................................................................................................................................... 91 9.14.1 EMMC 分区表 ...................................................................................................................... 91 9.15 Nand 配置........................................................................................................................................ 92 9.16 SIM 配置 ......................................................................................................................................... 93 10. 应用模块配置方法....................................................................................................................... 94 10.1 多卡多待 客户化配置................................................................................................................... 94 10.2 第三方提供的 APK 客户化配置................................................................................................... 95 10.3 多国语言 客户化配置................................................................................................................... 95 11. 参考网站....................................................................................................................................... 96 11.1 U-Boot.............................................................................................................................................. 96 11.2 Kernel............................................................................................................................................... 96 11.3 Android ............................................................................................................................................ 96
图形化配置UBOOT的过程如下: 首先,需要配置`mx6ull_zsw_emmc_defconfig`和`mx6ull_zsw_emmc.h`这两个文件。然后,可以通过图形化界面进行配置,但在打开图形化配置界面之前,需要使用`make xxx_defconfig`对UBOOT进行一次默认配置[2]。如果已经使用了`make clean`清理了工程,那么就需要重新对UBOOT进行一次配置。 在图形化配置界面中,可以看到各种配置项和帮助信息。例如,如果配置项`MY_TESTCONFIG`默认被选中,那么在`.config`文件中就会有一行`CONFIG_MY_TESTCONFIG=y`。 总结起来,图形化配置UBOOT的过程包括配置文件、使用默认配置和选择配置项,并在配置完成后在`.config`文件中保存相应的配置信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [uboot图形化配置](https://blog.csdn.net/qq_42824082/article/details/107479972)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [U-Boot 图形化配置](https://blog.csdn.net/weixin_46829095/article/details/128714636)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值