mkimage的-a 和 –c参数和内核引导】的更多相关文章

目录 一.mkimage工具简介二.-a参数与-e参数和内核引导的关系三.实例测试 3.1 -a参数与-e参数相同,可以将内核下载到SDRAM的任何地址,然后从这启动 3.2 -a参数与-e参数不同,只能将内核下载到-a参数后面的地址,然后从这启动:否则无法引导内核 3.3 -a参数与-e参数不同,下载地址和-a参数后面的地址不同(无法引导) 3.4 覆盖了U-Boot传给内核的参数,会导致这样情形(无法引导) 一.mkimage工具简介 U-Boot源代码的tools/目录下有mkimage工…
概述 内核引导参数大体上可以分为两类:一类与设备无关.另一类与设备有关.与设备有关的引导参数多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导参数.比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导参数,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导参数说明.大多数参数是通过"__setup()"函数设置的,少部分是通过"early_param()"或&qu…
linux kexec 介绍 kexec的功能是用一个运行的内核去运行一个新内核,就像运行一个应用程序一样.这种机制因为跳过了bootloader,可以实现系统的快速重启.另外kdump也是基于kexec实现(示意如下). kexec的实现有几点难点: 在当前内核的上下文中,如何用新内核去替换现有内核? 正常复位启动过程中,设备会被复位(或初始化)到已知状态.跳过了复位阶段,那如何在新内核kexec启动时,保证设备状态的可靠? kexec的使用示例如下,其分为2部分:kexec内核加载和kexe…
Linux 内核引导选项简介 作者:金步国 连接地址:http://www.jinbuguo.com/kernel/boot_parameters.html 参考参数:https://www.cnblogs.com/shengs/p/4608441.html 版权声明 本文作者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布. 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失. 自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加…
Linux源代码阅读——内核引导 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html 目录 Linux 引导过程综述 BIOS POST 自举过程 Boot loader 主引导扇区结构 GRUB stage1 GRUB stage2 内核初始化:体系结构相关部分 内核映像结构 header.S 初始化与保护模式 自解压内核 startup_32 内核初始化:体系结构无关部分 核心数据结构初始化 设备初始化 1 Lin…
写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作.如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我. 你如果是从中间插过来看的,请仔细阅读 羽夏看Linux系统内核--简述 ,方便学习本教程. Linux 0.11 介绍   Linux 0.11 写于 1991 年年底,那时很多计算机都是通过软盘启动的,故该代码是从软盘启动的.目前操作系统启动…
bootm命令只能用来引导经过mkimage构建了镜像头的内核镜像文件以及根文件镜像,对于没有用mkimage对内核进行处理的话,那直接把内核下载到连接脚本中指定的加载地址0x30008000再运行就行,内核会自解压运行(不过内核运行需要一个tag来传递参数,而这个tag是由bootloader提供的,在u-boot下默认是由bootm命令建立的). 通过mkimage可以给内核镜像或根文件系统镜像加入一个用来记录镜像的各种信息的头.同样通过mkimage也可以将内核镜像进行一次压缩(指定-C…
原文标题:The Kernel Boot Process 原文地址:http://duartes.org/gustavo/blog/ [注:本人水平有限,只好挑一些国外高手的精彩文章翻译一下.一来自己复习,二来与大家分享.] 上一篇文章解释了计算机的引导过程,正好讲到引导装载程序把系统内核镜像塞进内存,准备跳转到内核入口点去执行的时刻.作为引导启动系列文章的最后一篇,就让我们深入内核,去看看操作系统是怎么启动的吧.由于我习惯以事实为依据讨论问题,所以文中会出现大量的链接引用Linux 内核2.6…
CentOS 7.0 系统更改内核启动顺序 可以 uname -a查下当前的 由于 CentOS 7 使用 grub2 作为引导程序,所以和 CentOS 6 有所不同,并不是修改 /etc/grub.conf 来修改启动项,需要如下操作: 1. 查看系统内部有多少个内核: cat /boot/grub2/grub.cfg |grep menuentry  2..配置从默认内核启动,下面命令的内核名称根据系统内部查到的实际名称来替换: grub2-set-default “CentOS Linu…
由于 CentOS 7 使用 grub2 作为引导程序,所以和 CentOS 6 有所不同,并不是修改 /etc/grub.conf 来修改启动项,需要如下操作: 1. 查看系统内部有多少个内核: cat /boot/grub2/grub.cfg |grep menuentry 2..配置从默认内核启动,下面命令的内核名称根据系统内部查到的实际名称来替换:   grub2-set-default “CentOS Linux (3.10.0-123.9.3.el7.x86_64) 7 (Core)…
写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.如有好的建议,欢迎反馈.码字不易,如果本篇文章有帮助你的,如有闲钱,可以打赏支持我的创作.如想转载,请把我的转载信息附在文章后面,并声明我的个人信息和本人博客地址即可,但必须事先通知我. 你如果是从中间插过来看的,请仔细阅读 羽夏看Linux系统内核--简述 ,方便学习本教程. 练习及参考 绘制执行进入保护模式的时候的内存布局状态. 点击查看答案   图是我自己画的,有的地方画的有点夸张,不是按照比例画的,仅供参考: 用表格的形…
第三章第二节 mkimage工具制作Linux内核的压缩镜像文件,需要使用到mkimage工具.mkimage这个工具位于u-boot-2013. 04中的tools目录下,它可以用来制作不压缩或者压缩的多种可启动镜像文件.mkimage在制作镜像文件的时候,是在原来的可执行镜像文件的前面加上一个16个byte(0x40)的头,用来记录参数所指定的信息,这样u-boot才能识别出制作出来的这个镜像是针对哪一个CPU体系结构.哪一种OS.哪种类型.加载到内存中的哪个位置.入口点在内存的哪个位置以及…
有助于提高网络性能和吞吐量的参数 net.core.somaxconn = 128 已完成连接队列(completed connection queue) (1)三次握手已经完成,但还未被应用层接收(accept),但也处于ESTABLISHED状态. (2)队列长度由listen的backlog参数和内核的 net.core.somaxconn 参数共同决定. (3)当这个队列满了之后,不管未完成连接队列是否已满,是否启用syncookie,都不在接收新的SYN请求.(该特性跟内核版本有关)…
Linux内核 TCP/IP.Socket参数调优 2014-06-06  Harrison....   阅 9611  转 165 转藏到我的图书馆   微信分享:   Doc1: /proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数: 参数(路径+文件) 描述 默认值 优化值 /proc/sys/net/core/rmem_defau…
U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式.另外一种就是现在的 2.6内核在用的参数链表 (tagged list)  方式.这些参数主要包括,系统的根设备标志,页面大小,内存的起始地址和大小,RAMDISK的起始地址和大小,压缩的RAMDISK根文件系统的起始地址和大小,当前内核命令参数等而这些参数是通过 struct tag来传递的.U…
由于各大平台所带的内核不同,所以编译方式也不同,但方法都是大同小异. 但是,编译内核有时候会提示缺少mkimage这个命令,如何解决? 供应商提供内核的同时也会提供其它的一些,比如Uboot,rootfs等等. 这个mkimage来自于对应的uboot源码包里,对uboot源码包进行解压后,编译uboot,后面会生成uboot.bin 然后在tool目录下: ls mkimage 我们可以看到有mkimgae这个工具生成. 接着,我们用cp命令:cp   mkimage  /usr/bin 接下…
本文总结了常见的 Linux 内核参数及相关问题.修改内核参数前,您需要: 从实际需要出发,最好有相关数据的支撑,不建议随意调整内核参数. 了解参数的具体作用,且注意同类型或版本环境的内核参数可能有所不同. 备份 ECS 实例中的重要数据.参阅文档创建快照. 查看和修改 Linux 实例内核参数 方法一.通过 /proc/sys/ 目录 查看内核参数:使用 cat 查看对应文件的内容,例如执行命令 cat /proc/sys/net/ipv4/tcp_tw_recycle 查看 net.ipv4…
Linux常用内核参数 TCP状态描述 CLOSED:无连接是活动的或正在进行的 LISTEN:服务器在等待进入呼叫 SYN-RECV:一个连接请求已经到达,等待确认 SYN-SENT:应用已经开始,打开一个连接 ESTABLISHED:已经建立的连接 FIN-WAIT1:主动断开一方,第一次发送完FIN FIN-WAIT2:主动断开一方,收到对端确认的ACK TIME-WAIT:主动断开一方,收到FIN-ACK CLOSE-WAIT:被动断开一方,收到对方FIN且发送完ACK后 LAST-AC…
可调优的内核变量存在两种主要接口:sysctl命令和/proc文件系统,proc中与进程无关的所有信息都被移植到sysfs中.IPV4协议栈的sysctl参数主要是sysctl.net.core.sysctl.net.ipv4,对应的/proc文件系统是/proc/sys/net/ipv4和/proc/sys/net/core.只有内核在编译时包含了特定的属性,该参数才会出现在内核中. 对于内核参数应该谨慎调节,这些参数通常会影响到系统的整体性能.内核在启动时会根据系统的资源情况来初始化特定的变…
/proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数: 参数(路径+文件) 描述 默认值 优化值 /proc/sys/net/core/rmem_default 默认的TCP数据接收窗口大小(字节). 229376 256960 /proc/sys/net/core/rmem_max 最大的TCP数据接收窗口(字节). 131071 51…
Linux 内核参数 和 Oracle相关参数调整 分类: Oracle Basic Knowledge2009-10-14 12:23 9648人阅读 评论(0) 收藏 举报 oraclelinuxsemaphorearraysdatabaseoracle10g Linux 内核参数的大小和Oracle 有很大的关闭,比如ORA-27102的错误,就是因为内核参数的大小不当造成.具体参考Blog: Upon startup of Linux database get ORA-27102: ou…
U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式.另外一种就是现在的 2.6内核在用的参数链表 (tagged list) 方式.这些参数主要包括,系统的根设备标志,页面大小,内存的起始地址和大小,RAMDISK的起始地址和大小,压缩的RAMDISK根文件系统的起始地址和大小,当前内核命令参数等而这些参数是通过 struct tag来传递的.U-…
配置NFS服务端 nfs01上安装软件 [root@nfs01 ~]# yum install nfs-utils rpcbind -y nfs-utils:NFS服务的主程序,包括rpc.nfsd.rpc.mountd这两个daemons和相关文档说明,以及执行命令文件等. rpebind:RPC程序,rpcbind服务用来完成端口和功能的对应映射工作,在提供NFS服务之前必须启动rpcbind服务. 检查RPM包: [root@nfs01 ~]# rpm -qa nfs-utils rpcb…
Doc1: /proc/sys/net目录 所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数: 参数(路径+文件) 描述 默认值 优化值 /proc/sys/net/core/rmem_default 默认的TCP数据接收窗口大小(字节). 229376 256960 /proc/sys/net/core/rmem_max 最大的TCP数据接收窗口(字节). 131…
Linux 内核有很多可以定制化的参数 -- 内核参数 ( kernel parameters ), 斟酌设置内核参数对 系统调优 意义重大. 内核参数 涵盖内核的方方面面,包括 网络 ( net ). 文件系统 ( fs )等等. 原文地址:https://linux.fasionchan.com  欢迎关注我们的微信公众号:小菜学编程 (coding-fan) 欢迎加入我们的技术交流群:学习Linux (278378501) 本文以 fs.file-max 参数为例,介绍设置内核参数的几种方…
文章转载自:https://help.aliyun.com/knowledge_detail/41334.html 本文主要介绍如下几点内容,您可以根据实际需要选择. 查看和修改Linux实例内核参数 Linux网络相关内核参数引发的常见问题及处理 文档涉及的Linux内核参数说明 查看和修改Linux实例内核参数 在修改内核参数前,需要注意以下几点. 从实际需求出发,尽量有相关数据的支撑,不建议随意调整内核参数. 了解参数的具体作用,需注意同类型或版本的环境中,内核参数可能有所不同. 备份EC…
参考 一次实验引发的故事 – kernel build system探索—vmlinux是如何炼成的– kernel makefile 深度探索Linux操作系统:系统构建和原理解析.pdf 问题 在前面的博文中,我们先是为自己的Ubuntu安装了一套内核源码树,然后为了方便进行嵌入式交叉编译,我们又为arm板子构建了一套源码树. 那么现在我们已经知道如何自己的电脑上去构建.安装一个定制化的Linux内核,但是我们还是要在唠叨一些. 当你在内核源码路径里敲下make时究竟发生什么 当我们刚刚开始…
移植内核:2.6.30.4内核根目录下的.config为当前配置内核的且已经配置好的内核配置.make zImage以此为依据配置内核的过程:cd linux-2.6.30.4(进入Linux根目录)cp arch/arm/configs/s3c2410_defconfig /linux-2.6.30.4(作为配置参考,考到根目录下)mv s3c2410_defconfig .config(改名为.config)make menuconfig ARCH=arm(ARCH=arm不能少)配置过程退…
uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件. mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么 zengxiaolong@zengxiaolong:~$ mkimage --------------------------…
uboot和内核到底是什么?uboot实质就是一个复杂的裸机程序:uboot可以被配置也可以做移植: 操作系统内核本身就是一个裸机程序,和我们学的uboot和其他裸机程序没有本质的区别:区别就是我们操作系统运行起来后可以分为应用层和内核层,分层后,两层的权限不同,内存访问和设备操作的管理上更加精细(内核可以随便方位各种硬件,而应用程序只能被限制的访问硬件和内存地址) 直观来看:uboot的镜像是u-boot.bin,Linux系统的镜像是zImage,这两个东西其实都是两个裸机程序镜像.从系统启…