vivi与Linux kernel的参数传递情景分析 (转)
在上一部分提到过了,vivi作为bootloader,向内核传递启动参数是其本职工作之一。要把这个情景分析清楚,不仅仅需要分析vivi的参数机 制,而且要分析Linux kernel的接收机制。因为这是一个简单的通信过程,比起本科所学习的TCP/IP来简单的多,但是因为简单,所以在协议上并不规范,理解上反而不如 TCP/IP协议。下面就分为两个方面对此情景分析。
一、综述内核参数传递机制
现在内核参数传递机制有两种:一种是基于struct param_struct,这种已经比较老了。缺点是该结构每个成员的位置是固定的,受限比较大。另外一种就是新的struct tag way。说新是相对的,Linux kernel 2.4.x都希望采用这种tag的方式。关于这方面的资料,可以有如下参考(所给出的目录是基于linux-2.4.18的内核,以顶层Makefile 所在目录为当前目录。这里基于ARM架构的S3C2410,其他的SoC可以类比很容易得到):
1、关于bootloader的理解--【Documentation/arm/booting】
此文档详细的讲述了bootloader的作用,具体内容如下:
[armlinux@lqm arm]$ cat Booting
Booting ARM Linux
=================
Author: Russell King
Date : 18 May 2002
The following documentation is relevant to 2.4.18-rmk6 and beyond.
In order to boot ARM Linux, you require a boot loader, which is a small
program that runs before the main kernel. The boot loader is expected
to initialise various devices, and eventually call the Linux kernel,
passing information to the kernel.
Essentially, the boot loader should provide (as a minimum) the
following:
1. Setup and initialise the RAM.
2. Initialise one serial port.
3. Detect the machine type.
4. Setup the kernel tagged list.
5. Call the kernel image.
1. Setup and initialise RAM
---------------------------
Existing boot loaders: MANDATORY
New boot loaders: MANDATORY
The boot loader is expected to find and initialise all RAM that
相关文档:
名称: dd
使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file
使用方式:
dd [option]
如果你想要在线看 manual, 可以试试:
dd --help
或是
info dd
如果你想要看看这个版本如何:
dd --version
输入或输出
dd if=[STDIN] of=[STDOUT]
强迫输入或输出的Si ......
使用sudo可以在以非root用户登录时临时获得root权限,并执行需要的命令。
可以使用sudo的用户可以叫做sudoer。
添加sudoer的方法(假设您已经安装sudo):
执行
# visudo
或
# sudoedit
提示:
有些发行版的sudo提供了sudoedit,有的则提供了visudo,功能上基本是一样的。
你也可以使用其他编辑器如vi进行 ......
1 引言
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中
期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进
程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Li ......
高级 Linux 命令精通指南,第 3 部分:资源管理
作者:Arup Nanda
2009 年 1 月发表
在此部分中,了解用于监视物理组件的高级 Linux 命令
Linux 系统由若干主要物理组件组成,如 CPU、内存、网卡和存储设备。要有效地管理 Linux 环境,您应该能够以合理的精度测量这些资源的各种指标 — 每个组件处理多少资源、 ......
一、cd用来进入指定的某个目录。
说cd这个命令是Linux上使用率最高的两个命令之一不为过吧(另一个当然是ls了),前两天看到了一个cd命令的小技巧是我一直都不知道的,呵呵,这里顺便记下来。
cd - #回到上次所在目录,感觉还是比较有用,省略了很多输入。
cd !$ ......