(1)内核默认运行地址和加载地址在哪里设置?
由 arch/arm/kernel/vmlinux.lds.S 生成的 arch/armkernel/vmlinux.lds决定
 
(2)从FLASH什么地址找内核和根文件系统,UBOOT在哪里设置?
UBOOT里有环境变量,UBOOT启动后,会根据bootcmd这个环境变量来执行命令,通常这个命令中写明了从哪里读出内核;而至于文件系统在哪里,是由内核来确定的。
在Linux中规定每个分区的,只要把文件系统放到对应的分区,再默认指定就可以了,但是后来的uboot可以支持传递分区信息给Linux了,所以uboot提供的分区,Linux能够识别出来。
 
(3)启动时UBOOT将根文件系统和内核拷贝到RAM中何处在哪里设置?
启动时UBOOT不拷贝根文件系统,把内核拷贝到哪里,请看bootcmd环境变量
 
(4)UBOOT 如何知道内核与根文件系统的格式和大小?
UBOOT不管文件系统,内核就是一个可以直接运行的映象,没什么特殊格式
 
(5)内核启动参数在编译 uboot 时候哪里指定?
参考UBOOT那章
 
(6)内核启动后如何知道在 SDRAM 中何处找到根文件系统来挂载?如何知道根文件系统大小和格式?
内核启动后,不是在SDRAM中找文件系统,而是在FLASH上找,你看内核移植、根文件系统那2章
 
(7)内核如何知道UBOOT欲传递给内核的参数放在SDRAM中何处?
看UBOOT那章
 
(8)内核编译时候的运行地址在哪里指定?内核是位置无关码吗?
看内核那章,内核开始一小部分的代码是位置无关的
 
(9)友善之臂MINI2440的说明书写道:根文件系统不是已经搬运到在RAM中了?COPY文件是在RAM中啊怎么会写到FLASH里呢?
跟RAM没有关系
 
(10)内核启动参数在配置内核时候可以选。BOOTLOADER也可以传参数。这两种参数是互补的关系还是谁优先的关系(如果有冲突的话)?
传递的参数优先
 
(11)友善的板子SUPERVIVI/UBOOT从NOR启动然后可以烧写文件到NAND,但是不能从NAND启动然后烧写文件到NOR ----烧文件到NOR需要JTAG或者JLINK,BOOTLOADER,有UBOOT支持烧写NOR的吗?
有,本论坛的UBOOT就可以直接烧写NOR
 
(12) 配置内核(或VIVI)运行MAKE MENUCONFIG 时是否顶层如果已经有专门配好的设置.config,make就会自动调入.config的配置,但是如果没有.config按照哪个默认值显示呢?
试试就知道
 
(13) LINUX内核和根文件系统映像在NAND中的起始地址和大小的信息,是不是要UBOOT在程序中写死,这样的话,对某一个特定版本的UBOOT,LINUX内核和根文件系统就不能在NAND中任意位置烧写了。还是,内核和根文件系统在NAND中的位置和大小都是可变的,同一个版本的UBOOT可以智能地检测出这些信息从而正常启动linux?
UBOOT只管内核在哪,这个地址可以通过命令设置,不是写死;文件系统由内核来找,这个地址一般是写死在内核中
 
(14) 修改UBOOT代码让UBOOT支持“JFFS2/CRAMFS/YAFFS” -------- 这句话是什么意思? uboot的作用不就是把FLASH里的根文件系统搬运到SDRAM里吗?管它是什么格式能COPY到SDRAM不久行了吗?
支持烧写这些文件系统类型的映象文件
 
(15) 据说lINUX内核可以在FLASH本地也可以加载到内存中运行,UBOOT是哪种方式?编译UBOOT可以选择用哪种方式吗?
内核可以在NOR上直接运行,这跟UBOOT没关系,UBOOT只是负责初始化一下硬件,然后可能的话把内核复制到SDRAM中,然后启动内核;如果是NOR上运行内核,那么UBOOT初始化完硬件后,直接启动内
 
 

关于UBOOT,LINUX内核编译,根文件系统的15个小问题的更多相关文章

  1. Linux内核与根文件系统的关系1

    Linux内核与根文件系统的关系开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用 ...

  2. Linux内核和根文件系统引导加载程序

    续博文<u-boot之u-boot-2009.11启动过程分析> Linux内核启动及文件系统载入过程 当u-boot開始运行bootcmd命令.就进入Linux内核启动阶段,与u-boo ...

  3. Linux内核与根文件系统的关系

    开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!         一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具.这 ...

  4. debian下为stm32f429i-discovery编译uboot、linux内核和根文件系统

    交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 根据<debian下烧写stm32f429I discove ...

  5. linux内核挂载根文件系统时报错”VFS: Cannot open root device "ram0" or unknown-block(0,0): error -6“如何处理?

    1. 通过error -6得到: #define ENXIO            6      /* No such device or address */ 2. 解决办法 使能CONFIG_BL ...

  6. 嵌入式linux加载引导内核和根文件系统的方法

    总体来说,嵌入式Linux内核和根文件的引导与PC机差不多.嵌入式linux内核和根文件系统可以存放在各种可能的存储设备中,一般情况下我 们将内核和根文件系统直接烧入到Flash中(包括NOR和NAN ...

  7. linux内核启动以及文件系统的加载过程

    Linux 内核启动及文件系统加载过程 当u-boot 开始执行 bootcmd 命令,就进入 Linux 内核启动阶段.普通 Linux 内核的启动过程也可以分为两个阶段.本文以项目中使用的 lin ...

  8. Linux内核编译与安装

    2013-04-16    Linux内核介绍  Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统.内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制.L ...

  9. 运行在TQ2440开发板上以及X86平台上的linux内核编译

    一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...

随机推荐

  1. 深入理解JVM虚拟机3:垃圾回收器详解

    JVM GC基本原理与GC算法 Java的内存分配与回收全部由JVM垃圾回收进程自动完成.与C语言不同,Java开发者不需要自己编写代码实现垃圾回收.这是Java深受大家欢迎的众多特性之一,能够帮助程 ...

  2. 走进JavaWeb技术世界13:Hibernate入门经典与注解式开发

    原文地址:Hibernate入门这一篇就够了 前言 本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了! 什么是Hibernate ...

  3. THINKPHP扩展PHPEXCEL,PHP7.2以上版本无法导出Excel

     THINKPHP扩展PHPEXCEL与PHP7.3高版本兼容问题 框架:THINKPHP5,PHPEXCEL版本:1.81 无法导出EXCEL原因为Shared/OLE.php第290行使用cont ...

  4. 微信小程序之分享功能

    说到分享 大家都会想到手机右上角点击不就分享了么?对的没错,那样是分享转发的是小程序  而不是指定的某个页面,所以自己动手丰衣足食,自己写一个转发功能被, 其实也没那么可怕,主要参考的是微信小程序AP ...

  5. 如何配置 VirtualBox 中的客户机与宿主机之间的网络连接

    如何配置 VirtualBox 中的客户机与宿主机之间的网络连接 作者: Aaron Kili 译者: LCTT rusking | 2017-03-01 13:40   评论: 3 收藏: 3 当你 ...

  6. web手工项目01-系统组织框架-测试流程-需求评审-测试计划与方案

    回顾 SVN(定义,作用,使用操作) 软件缺陷(定义,表现形式,原因和根源,基本内容,跟踪流程) JIRA(基本介绍,使用者,工作流,问题,使用) 学习目标 掌握WAMP的环境搭建 掌握熟悉项目的步骤 ...

  7. Python之queue模块以及生产消费者模型

    队列 队列类似于一条管道,元素先进先出,进put(arg),取get() 有一点需要注意的是:队列都是在内存中操作,进程退出,队列清空,另外,队列也是一个阻塞的形态. 队列分类 队列有很多中,但都依赖 ...

  8. Day7作业:选课系统

    这周的作业有点糙,迁就看吧,给大家点思路: readme: 需要安装模块: prettytable 测试帐号: 1.后台管理:admin/admin 只设定了这个后台管理帐号,没有写到数据库中 2.学 ...

  9. Kafka管理与监控——broker宕机后无法消费问题

    背景 因磁盘满了,导致kafka所有的服务器全部宕机了,然后重启kafka集群,服务是启动成功了,但有一些报错: broker1: broker2: broker3:一直在刷以下错误信息 虽然报了这些 ...

  10. RocketMQ共包含9个模块

    rocketmq-common:通用的枚举.基类方法.或者数据结构,包名有admin.consumer.filter.hook.message rocketmq-remoting:使用netty的客户 ...