tiny4412-4412内核用3.14可以吗

1、linux内核五大功能:
进程管理(cpu) &
内存管理(内存)
设备管理(驱动)
网络管理(网络协议tcp/ip)
文件系统(vfs)
2、linux版本号:
linux 2.6 &2---&主版本号 &6----&次版本号:奇数代表测试版本 偶数代表稳定版本
本文使用内核版本为linux3.14
3、linux目录结构:
arch:体系结构相关代码
ipc:进程调度相关代码
mm:内存管理
Documentation:帮助文档
net:网络协议
scripts:编译相关脚本工具
tools:编译相关工具
drivers:设备驱动
fs:文件系统实现
4、编译相关文件:
顶层Makefile 与 子目录下的Makefile
各级目录Kconfig
5、内核的使用流程
a、清除命令
一般在第一次编译时使用
make mrproper&
b、导入默认配置信息(在内核根目录中)
方法1:make exynos_deconfig
方法2:cp &arch/arm/configs/exynos_deconfig &.config
c、详细配置
make menuconfig
make uImage ---生成内核镜像 &/arch/arm/boot/uImag
make dtbs ---生成设备树文件 &/arch/arm/boot/dtb/exynos4412-fs4412.dtb
make modules ---把配置值选成M的代码编译生成模块文件。(.ko) &放在对应的源码目录下。
可以看出,内核编译主要包括两部分:一部分是内核配置;另一部分是内核编译;我们先从内核配置开始:
二、内核的Kconfig分析
a -- 我们解压内核后需要先修改内核顶层目录下的Makefile,配置好交叉编译工具
b -- 然后导入默认配置(使用make exynis_defconfig 或者cp &arch/arm/configs/exynos_deconfig &.config)
可以看到该命令会将 配置信息写入 .config 中,.config 是内核根目录下的隐藏文件,makefile 会根据它里面的内容进行编译,具体的使用我们后面会讲到,可以简单看一下里面的内容。&
c -- 配置内核
使用 make menuconfig 命令进行内核配置(窗口太小打不开,窗口要19行 80列),可能会出现下面的报错:
使用&sudo&apt-get&install&libncurses5-dev命令安装一下接可以了,安装以后再使用
make menuconfig,便可以看到下面的界面了。
& &如上图所示,这就是内核的配置界面。通过配置界面,可以选择芯片类型、选择需要支持的文件系统。去除不需要的选项等,这就称为“配置内核”。注意,也有其他形式的配置界面,比如“make config”命令启动字符配置界面,对于每个选项都会依次出现一行提示信息,组个回答;“make xconfig”命令启动 X-Windows 图形配置界面
& &所有配置工具都是读取arch/$(ARCH)/Kconnfig 文件来生成配置界面,这个文件是所有配置文件的总入口,它会包含其他目录的Kconfig文件。配置界面如上图所示。
& &内核源码每个子目录中,都有一个Makefile文件和Kconfig文件。Makefile的作用下篇文章会讲述,Kconfig用于配置内核,它就是各种配置界面的源文件。内核的配置工具读取各个Kconfig文件,生成配置界面供开发人员配置内核,最后生成配置文件.config。
& &内核的配置界面以树状的菜单形式组织,主菜单下有若干子菜单,子菜单下又有子菜单或配置选项。每个子菜单或选项都有依赖关系,这些依赖关系用来确定它们是否显示。只有被依赖的父项已经被选中,子项才会显示。
下面学习Kconfig文件的简单语法:
1、Kconfig 文件的基本要素:config 条目(entry)
& config 条目常被其他条目包含,用来生成菜单,进行多项选择等。
& config 条目用来配置一个选项,或者这么说,它用于生成一个变量,这个变量会连同它的值一起被写入配置文件 .config 中。比如有一个config 条目用来配置CONFIG_LEDS_FS4412,根据用户的选择,.config文件中可能出现下面3种配置结果中的一个。
CONFIG_LEDS_FS4412=y & # 对应的文件被编进内核
CONFIG_LEDS_FS4412=m & # 对应的文件被编成模块
#CONFIG_LEDS_FS4412
& # 对应的文件没有被使用
以一个例子说明config条目格式,下面代码选自
drviers/char/Kconfig 文件,它用于配置CONFIG_TTY_PRINTK选项
代码中包含了大部分元素,下面一一说明。
第42行,config是关键字,便是一个配置选项的开始;紧跟着的TTY_PRINTK是配置选项的名称,省略了前缀“CONFIG_”。
第43行,boot表示变量类型,即CONFIG_TTY_PRINTK的类型,有五种类型:
Bool &布尔类型,结果是Y[*] , &N[]
Tristate 三项选择,结果是Y[*], N[], M[m]
String &字符串, 结果(arm-linux-)
Hex & 十六进制,(16)
Int & 十进制,(10)
&bool& 之后的字符串提示信息,在配置界面中上下移动光标选中它时,可以通过按空格或回车键来设置CONFIG_TTY_PRINTK的值。
第44行,表示依赖关系,格式如下。只有EXPERT && TTY 配置选项被选中时,当前配置选项的提示信息才会出现,才能设置当前配置选项。注意,如果依赖条件不满足,则它取默认值。
第45行表示默认值为n;
第46行表示下面几行是帮助信息;
2、menu 条目
menu条目用于生成菜单,&在menuconfig 中是以------&形式出现&格式如下:
“menu” &prompt&
&menu options&
&menu block&
它的实际使用并不如它的标准格式那样复杂,下面是一个例子
menu之后字符串是菜单名,“menu”和“endmunu”之间有很多config条目。在配置界面上回出现如下字样的菜单,移动光标选中它后按回车键进入,就会看到这些config条目定义的配置选项。
3、Source条目
xx/kconfig :当前Kconfig可以包含其它目录下的kconfig,用于读入另一个Kconfig文件,格式如下:
“source” &prompt&
下面是一个例子,取自arch/arm/Kconfig文件,它读入arch/arm/mach-mvebu/Kconfig文件
choice条目将多个类似的配置选项组合在一起,供用户单选或多选,格式如下:
“choice”
&choice options&
&choice block&
&end choice&
实际使用中,也是在“choice”和“endchoice”之间定义多个config条目,比如arcg/arm/Kconfig中有如下代码:
prompt “Memory split”给出提示信息“Memory split&,光标选中它后按回车键进入,就可以看到多个config条目定义的配置选项。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:170394次
积分:4443
积分:4443
排名:第4822名
原创:269篇
转载:12篇
评论:54条
文章:26篇
阅读:24004
文章:10篇
阅读:19021
文章:29篇
阅读:35099
(3)(8)(14)(33)(41)(70)(12)(51)(48)(5)本人是第一次在此发帖,希望大家多多支持,发帖目的是为了分享,分享的目的是传递开源的精神。Tiny4412开发板刚拿到手是,看了下介绍,发现superboot是个好东西,但是不开源,这个严重与开源思想不符合。前言:按照光盘介绍编译烧写U-boot也无法启动板子,只有superboot使用后才可以启动板子。到此大家估计很多和我想的一样,如何使用开源的u-boot来启动开发板。言归正传,我们的目的是要用u-boot来运行tiny4412. 正文:首
先要注意的是,原版的内核配置把CONFIG_ARM_TRUSTZONE给打开了,这个与superboot.bin是配套使用的,但是u-boot经
研究发现暂不支持TZ模式,所以内核配置要把这个选项去掉。不然按照教程会出现死机。论坛也有很多网友发现了此现象,不再赘述。(后面有时间本人会研究下
trustzone机制)把TZ选项去掉后,通过SD卡烧录u-boot可以把板子带起来,这个不是我们要讲述的重点,我们要讲的是如何把u-boot烧录到emmc中,这个友善没有提供方法,其实不难。emmc其实和SD卡类似,都是SD设备,emmc是8-bit模式,SD是4-bit模式。TINY4412是eMMC4.4. 既然sd卡能烧,那么emmc一定可以烧。SD卡烧录,其实通过友善教程,在U-boot源码目录下有sd_fusing.sh,打开看下即可知道烧录原理。这个不讲了,有兴趣的朋友可以看下,很见到。就是把各个bin文件按照指定位置烧到SD卡的系统分区中。那
么eMMC如何烧写呢,这是我们要讲的重点。在这里不得不讲一下DNW工具,这个可以通过USB把电脑端的文件烧录到目标板的内存中。附件是dnw
Linux完整源码包,解要到一个文件夹,里面有dnw.c , Makefile, 预编译dnw(x86_64).
大家可以直接使用或是自己编译,编译后的dnw 可以复制到/usr/bin,并chmod 777 /usr/bin/dnw.u-boot中断也支持dnw指令,所以eMMC烧录就有可能了,因为电脑上的u-boot.bin固件可以通过dnw烧录到开发板的内存了。。。。编译uboot过程友善的文档已经写的很完善,大家自己参考并编译u-boot. 编译完成后u-boot目录下有:u-boot.bin进入u-boot/sd_fuse/执行make,可以生成mkbl2工具,进入u-boot/sd_fuse/tiny4412目录下可以看到bl2.bin&&E4412_N.bl1.bin&&E4412_tzsw.bin三个bin,其中bl2.bin在制作SD启动卡时会生成,我们也需要此文件。下面讲如何使用dnw下载固件到开发板内存, 注意本人是以Ubuntu环境来调试,使用Windows的朋友自己对照流程。1 下载附件dnw编译,上面已经讲了,2 按照友善文档,制作SD启动卡,开发板SW2开关选择SD启动.3 把串口先连接PC与开发板。4 插制作好的SD卡到开发板,并给开发板上电SW1.5 键盘按任意键盘进入uboot终端,此时输入help可以看到很多指令。6 现在我们进入了SD卡模式启动的u-boot. 现在我们看下mmc设备信息:u-boot模式下输入:&mmcinfo 0省略......&mmcinfo 1Device: S5P_MSHC4Manufacturer ID: 15OEM: 100Name: M4G1Y Tran Speed: 0Rd Block Len: 512MMC version 4.0High Capacity: YesSize: 3728MB (block: 7634944)Bus Width: 8-bitBoot Partition Size: 2048 KB上面两条指令分别执行,可以发现 mmc 0就是我们的SD卡,mmc 1设备就是我们要烧录的设备eMMC,uboot返回提示是8-bit,内存容量是4G的eMMC卡。7 继续输入:&fdisk -p 0&fdisk -p 1partion #&&&&size(MB)&&&& block start #&&&&block count&&&&partition_Id && 1&&&&&&&&&& 695&&&&&&&&&&6070812&&&&&&&& 1424478&&&&&&&&&&0x0C && 2&&&&&&&&&& 320&&&&&&&&&& 134244&&&&&&&&&&656304&&&&&&&&&&0x83 && 3&&&&&&&&&&2057&&&&&&&&&& 790548&&&&&&&& 4213770&&&&&&&&&&0x83 && 4&&&&&&&&&& 520&&&&&&&&&&5004318&&&&&&&& 1066494&&&&&&&&&&0x83 这两条指令是分别查看mmc 0/1设备的分区表信息。设备mmc1的分区信息,即eMMC分析,注意这个是superboot分区信息,我们就用这个分区。分区1 是FAE分区, 分区2 是给system的,分区3是user-data, 分区4 是 cache.8 格式化eMMC, u-boot模式下输入如下指令来格式化eMMC设备。&fdisk -c 1 320 执行后会返回分区信息,继续格式话分区1,2,3,4&fatformat mmc 1:1这句话意思是对mmc 1设备的第一分区格式作fat格式化。&ext3format mmc 1:2&ext3format mmc 1:3&ext3format mmc 1:4上面三个指令是分别对eMMC的分区2,3,4作ext3格式化。到此我们完成了对eMMC的设备的格式化。接下来我们要想办法烧录bl1.bin, bl2.bin, u-boot.bin, tzsw.bin烧录到eMMC中。9 从PC端下载固件到开发板Memory中。刚才我们重点介绍了dnw, 接下来我们要使用此工具来下载固件到开发板内存中。注意是下载到内存,把固件数据缓存起来,到时要烧录到eMMC中。首先我们要打开emmc设备u-boot下输入:&emmc open 1eMMC OPEN Success.!!&&&&&&&&&&&&&&&&&&&&&&&&!!!Notice!!!!You must close eMMC boot Partition after all image writing!!eMMC boot partition has continuity at image writing time.!!So, Do not close boot partition, Before, all images is written.!上面提示emmc开启成功,注意说明,emmc一旦打开,需要连续烧录,烧录完成后可以关闭emmc.10 接下来我们要运行dnwu-boot下面输入:&dnwOTG cable Connected!Now, Waiting for DNW to transmit data提示等待数据输入,这里就是等待我们从PC端通过DNW传送数据过来。此时在PC端终端串口,cd到u-boot目录所在路径user@~/u-boot/: 输入: dnw sd_fuse/tiny_N.bl1.bin此时u-boot中断会提示传送校验完成,此时已经把bl1.bin通过USB传送到了memeory的0xc0000000起始地址,大小8KB.接下来我们烧录bl1.bin到eMMC中,u-boot下继续输入:&mmc write 1 0xc 0x10会提示写入信息,说明已经写入成功。这个是把刚才从PC端通过dnw下载下来的bl1.bin固件下载到emmc中,起始0, 16个block, 一个block是512B, 16*512=8*1024=8KB. 这个是bl1.bin的存放位置。以此类推,烧录bl2.bin. u-boot.bin, tzsw.bin-----------------------------------------------------------------------------------------------------------------------------------------------------u-boot终端继续输入:&dnwPC端输入: (注意输入内容是以 dnw 开始的,前面是当前路径,便于理解)user@~/u-boot/:&&dnw sd_fuse/tiny4412/bl2.binu-boot下继续输入:&mmc write 1 0xcx10 0x1Cbl2.bin实际大小约14K,分配的空间是16K. 其实是第16个block开始,写入28个block, 28*512B=14*1024=14K注意这个区域预分配是32个Block,所以下一个开始是32+16=48------------------------------------------------------------------------------------------------------------------------------------------------------u-boot终端继续输入:&dnwPC端输入: (注意输入内容是以 dnw 开始的,前面是当前路径,便于理解)user@~/u-boot/:&&dnw u-boot.binu-boot下继续输入:&mmc write 1 0xcx30 0x21Du-boot.bin实际大小约270K,分配的空间是328K. 其实是第48个block开始,写入541个block, 541*512B=270.5*1024 约270K------------------------------------------------------------------------------------------------------------------------------------------------------u-boot终端继续输入:&dnwPC端输入: (注意输入内容是以 dnw 开始的,前面是当前路径,便于理解)user@~/u-boot/:&&dnw sd_fuse/tiny_tzsw.binu-boot下继续输入:&mmc write 1 0xcx2c0 0xB8tzsw.bin实际大小约92K,分配的空间是160K. 其实是第704个block开始,写入184个block, 184*512=92*1024=92K ------------------------------------------------------------------------------------------------------------------------------------------------------ 启动分区到此全部写入完成,注意一定要关闭emmc,u-boot下继续输入:&emmc close 1eMMC CLOSE Success.!!关闭emmc设备,提示关闭成功。此时我们已经把启动文件全部烧录到了eMMC中。-------------------------------------------------------------------------------------------------------------------------------------------------------接下来我们可以把开发板的SW2拨动到NAND启动,同时u-boot中断输入reset, 并在电脑键盘按下任意键,此时我们可以看到:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++U-Boot 00-g3e284d5-dirty (Jul 04 2014 - 17:40:58) for TINY4412CPU:&&&&S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]&&&&&&&&APLL = 1400MHz, MPLL = 800MHzBoard:&&TINY4412DRAM:&& 1023 MiBvdd_arm: 1.2vdd_int: 1.0vdd_mif: 1.1BL1 version:&&N/A (TrustZone Enabled BSP)Checking Boot Mode ... EMMC4.41REVISION: 1.1MMC Device 0: 3728 MBMMC Device 1: 1876 MBMMC Device 2: N/ARead... Bootmode reg 0x Get Bootmode reg 0xf3ca4c36 ModeKey Check... run normal_boot Net:&&&&No ethernet found.Hit any key to stop autoboot:&&0TINY4412 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++大功告成啊,我们的u-boot已经成功写入到了eMMC中,并可以成功启动。还有一件非常重要的事情我们还有做,就是启动参数写入,我们bootargs写入到env分区,注意ENV分区在TZSW分区后面,内核分区之前。即 TZSW | ENV | KERNEL从eMMC启动u-boot后,在u-boot终端输入:&setenv bootargs console=ttySAC0, androidboot.console=ttySAC0 uhost0=n ctp=2 skipcali=y vmalloc=384m lcd=S70&saveenv设置并保存启动参数,此时再重启板子,进入U-boot。u-boot下输入:&printenv 查看刚才烧录的启动参数是否成功。11 烧写kernel, system, ramdisk下面烧kernel, system,ramdisk和SD卡烧录一样。u-boot继续输入&fastboot进入fastboot模式PC
端使用fastboot flash kernel zImag, fastboot flash system system.img,
fastboot flash ramdisk ramdisk-u.img即可把剩下全部的img烧录到eMMC中。重启开发板,就可以启动开发板。虽然没有开源的superboot,但是依然无法阻挡我们一个开源的心。还有本人已经成功在u-boot加入按键启动u-boot的fastboot功能,在此贴一并发出。。。使用开发板底板的K1按键,按住K1,开机即可进入系统的fastboot模式。 同时支持fastboot下载完成后执行fastboot reboot bootloader重启模式。功能已经全部验证。到此位置,针对u-boot烧录eMMC的过程基本已经讲解完毕,希望给大家带来帮助,给友善的开源u-boot添砖加瓦。谢谢Harry
阅读(...) 评论() &当前位置 & &
& Linux内核3.14稳定版发布
Linux内核3.14稳定版发布
15:11:42&&作者:
编辑:刘艺 &&)
让小伙伴们也看看:
阅读更多:
好文共享:
文章观点支持
当前平均分:0(0 次打分)
[04-04][04-04][04-04][04-04][04-04][04-04][04-04][04-04][04-03][04-03]
登录驱动之家
没有帐号?
用合作网站帐户直接登录作者: 彭东林
开发板:tiny4412ADK + S700 + 4GB Flash
要移植的内核版本:Linux-4.4.0 (支持device tree)
u-boot版本:友善之臂自带的 U-Boot 2010.12 (为支持uImage启动,做了少许改动)
busybox版本:busybox 1.25
交叉编译工具链: arm-none-linux-gnueabi-gcc
&&&&& (gcc version 4.8.3
(prerelease) (Sourcery CodeBench Lite ))
&&& 由于目前友善之臂提供的u-boot不支持uImage的引导方式,默认的配置也不支持device tree。同时提供的Linux内核版本是linux-3.0.86,不提供device tree。下面我要做的是修改原生的u-boot,使其支持uImage和device tree,由于Linux-4.4.0已经对tiny4412有很的支持,并且在arch/arm/boot/dts/下已经有了专门针对tiny4412的设备树文件exynos4412-tiny4412.dts,因此需要我们改动的很少。对于最新的Linux-4.4需要使用最新的交叉编译工具链,如果使用友善之臂提供的工具链的话会导致编译错误,工具链的地址可以到下面的地址下载:
&&& 目前首先实现如下功能:用u-boot引导uImage或者zImage,同时将设备信息以设备树的形式传递给Linux内核,而根文件系统以ramdisk的形式传递给内核,因为目前SD卡驱动、eMMC驱动和usb网卡驱动都没有移植。
一、关闭MMU
友善之臂提供的u-boot默认是把MMU打开的,下面我们先关闭MMU:
1、修改include/configs/tiny4412.h
#define CONFIG_ENABLE_MMU
#undef CONFIG_ENABLE_MMU
2、只关闭MMU还不够,还需要修改u-boot的链接地址
修改文件board/samsung/tiny4412/config.mk
CONFIG_SYS_TEXT_BASE = 0xc3e00000
CONFIG_SYS_TEXT_BASE = 0x43e00000
下面是MMU开启时的地址映射:
0x -- 0x1FFF_FFFF =& A:0x -- 0x1FFF_FFFF0x -- 0x3FFF_FFFF =& Not Allowed0x -- 0x5FFF_FFFF =& A:0x -- 0x5FFF_FFFF0x -- 0xBFFF_FFFF =& Not Allowed0xC000_0000 -- 0xDFFF_FFFF =& A:0x -- 0X5FFF_FFFF0xE000_0000 -- 0xFFFF_FFFF =& Not Allowed
上面的意思是:虽然tiny4412只有1GB的内存,可以访问的物理地址空间是0xx,通过MMU后,可以将地址0xC000_0000 -- 0xDFFF_FFFF 映射到0x -- 0X5FFF_FFFF。
二、解决u-boot无法引导uImage问题
友善之臂原生的u-boot使用bootm命令只可以引导zImage类型的kernel,不支持uImage,通过分析bootm命令的实现(common/cmd_bootm.c)发现问题所在。
做如下修改:
修改do_bootm函数,
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 04622dd..a2cb1ec 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -590,6 +590,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
load_end = 0;
boot_os_fn
iszImage = 0;
#ifdef CONFIG_SECURE_BOOT
#ifndef CONFIG_SECURE_BL1_ONLY
@@ -627,6 +628,8 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
images.legacy_hdr_valid = 1;
iszImage = 1;
goto after_header_check;
@@ -723,8 +726,10 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#if defined(CONFIG_ZIMAGE_BOOT)
after_header_check:
images.os.os = hdr-&;ih_
images.ep = image_get_ep (&;images.legacy_hdr_os_copy);
if (iszImage) {
images.os.os = hdr-&;ih_
images.ep = image_get_ep (&;images.legacy_hdr_os_copy);
#ifdef CONFIG_SILENT_CONSOLE
在images.os.os中存放的是加载不同os的函数的索引号,如果是zImage的话,会把hdr-&ih_os设置为5,然后在after_header_check处会强制把hdr-&ih_os赋值为images.os.os。但是如果要引导的是uImage的话,并不会给hdr-&ih_os赋值,即hdr-&ih_os的值是随机的,而是直接给images.os.os赋值为5,在after_header_check处会将images.os.os的值覆盖掉,导致下面找到的索引函数错误。
三、支持设备树
默认的u-boot配置没有打开设备树。
1、修改include/configs/tiny4412.h
增加如下两个宏
#define CONFIG_OF_LIBFDT#define CONFIG_SYS_BOOTMAPSZ (20 && 20)
第一个宏好理解,那么第二个宏的作用是什么呢?
do_bootm_linux
&&& ---& bootm_linux_fdt
&&&&&&&&&&& ---& boot_relocate_fdt
在boot_relocate_fdt中会对设备树镜像重定位:
of_start = (void *)(unsigned long)lmb_alloc_base(lmb, of_len, 0x1000,
CONFIG_SYS_BOOTMAPSZ + bootmap_base));
这个函数的目的是计算将设备树镜像重定位后的目的地址,其中bootmap_base是物理内存的其实地址,即0x,如果(CONFIG_SYS_BOOTMAPSZ + bootmap_base)设置的太小的话,相应的of_start也会很小,那么在内核自解压的时候会导致设备树被覆盖,我在调试的时候就是遇到了这个问题,通过将内核自解压前后的设备树的地址(在内核源码的arch/arm/boot/compress/head.S中,设备树的地址保存在寄存器r2或者r8,具体看代码实现)处的物理内存dump出来发现的,具体怎么dump,下面再介绍。
四、编译u-boot
&make tiny4412_config
五、烧写u-boot到SD卡
cd sd_fuse/tiny4412
./sd_fusing.sh /dev/sdf
六、启动信息
U-Boot 00-gb391276-dirty (Jan 17 2016 - 06:03:22) for TINY4412CPU:&&& S5PC220 [Samsung SOC on SMP Platform Base on ARM CortexA9]&&&&&&& APLL = 1400MHz, MPLL = 800MHzBoard:& TINY4412DRAM:&& 1023 MiBvdd_arm: 1.2vdd_int: 1.0vdd_mif: 1.1BL1 version:& N/A (TrustZone Enabled BSP)Checking Boot Mode ... SDMMCREVISION: 1.1MMC Device 0: 3803 MBMMC Device 1: 3728 MBMMC Device 2: N/A*** Warning - using default environmentNet:&&& No ethernet found.Hit any key to stop autoboot:& 0 TINY4412 # dnw 0x&&&&&
// 下载uImage到内存0x,这个版本的u-boot不能把uImage下载到0x,否则会在检查是否覆盖的时候失败OTG cable Connected!Now, Waiting for DNW to transmit dataDownload Done!! Download Address: 0x, Download Filesize:0x43b798Checksum is being calculated.....Checksum O.K.TINY4412 # dnw 0x&&&&& // 下载ramdisk到内存0xOTG cable Connected!Now, Waiting for DNW to transmit dataDownload Done!! Download Address: 0x, Download Filesize:0x27752eChecksum is being calculated...Checksum O.K.TINY4412 # dnw 0x&&&& // 下载设备树镜像到内存0xOTG cable Connected!Now, Waiting for DNW to transmit dataDownload Done!! Download Address: 0x, Download Filesize:0xa53aChecksum is being calculated.Checksum O.K.TINY4412 # bootm 0xxx&&&
// 启动命令 bootm + uImage 地址 + ramdisk 地址 + 设备树镜像地址,如果没有的话,用 - 代替## Booting kernel from Legacy Image at
...&& Image Name:&& Linux-4.4.0-gbd49c0f-dirty&& Image Type:&& ARM Linux Kernel Image (uncompressed)&& Data Size:&&& 4437848 Bytes = 4333 KiB&& Load Address: && Entry Point:& && Verifying Checksum ... OK## Loading init Ramdisk from Legacy Image at
...&& Image Name:&& ramdisk&& Image Type:&& ARM Linux RAMDisk Image (gzip compressed)&& Data Size:&&& 2585838 Bytes = 2525 KiB&& Load Address: && Entry Point:& && Verifying Checksum ... OK## Flattened Device Tree blob at && Booting using the fdt blob at 0x&& Loading Kernel Image ... OKOK## Loading init Ramdisk from Legacy Image at
...&& Image Name:&& ramdisk&& Image Type:&& ARM Linux RAMDisk Image (gzip compressed)&& Data Size:&&& 2585838 Bytes = 2525 KiB&& Load Address: && Entry Point:& && Verifying Checksum ... OK&& Loading Ramdisk to 43a84000, end 43cfb4ee ... OK&&&&&&& // 重定位ramdisk镜像&& Loading Device Tree to 413f2000, end 413ff539 ... OK&&& // 重定位设备树镜像Starting kernel ...
未完待续。
阅读(...) 评论()

我要回帖

更多关于 tiny4412 linux移植 的文章

 

随机推荐