内核启动组件式初始化

内核启动组件式初始化
内核启动组件式初始化

Linux内核源码中多处会看到诸如__init,__initdata,__exitdata的关键字,

大部分这样的关键字定义在include/linux/init.h头文件中,它们都会在编译连接阶段被实现处理。

#define __init __section(.init.text) __cold notrace __init标记的数据被存储在.init.text节

#define __initdata __section(.init.data) __initdata标记的数据被存储在.init.data节

#define __initconst __section(.init.rodata) __initconst标记的数据被存储在.init.rodata节

#define __exitdata __section(.exit.data) __exitdata标记的数据被存储在.exit.data节

#define __exit_call __used __section(.exitcall.exit) __exit__call__used标记的数据被存储在.exitcall.exit节我们也经常看到许多诸如subsystem_initcall(fn)的语句,fn为某个函数的名称,也可以在init.h中找到它的踪影。#define __define_initcall(level,fn,id) \

static initcall_t __initcall_##fn##id __used \

__attribute__((__section__(".initcall" level ".init"))) = fn

#define early_initcall(fn) __define_initcall("early",fn,early)

#define pure_initcall(fn) __define_initcall("0",fn,0)

#define core_initcall(fn) __define_initcall("1",fn,1)

#define subsys_initcall(fn) __define_initcall("4",fn,4)

#define core_initcall_sync(fn) __define_initcall("1s",fn,1s)

......

#define late_initcall_sync(fn) __define_initcall("7s",fn,7s)

#define __initcall(fn) device_initcall(fn)

#define __exitcall(fn) \

static exitcall_t __exitcall_##fn __exit_call = fn

可以看出每个与__define_initcall相关的注册函数都被解释为:

static initcall_t __initcall_fn_id, 入口地址将被存储在.initcall"level".init节中。

我们常在Linux模块中用到的module_init和module_exit的真身也可以看到:#define module_init(x) __initcall(x);

#define module_exit(x) __exitcall(x);

init.h中还有一些代码设计boot与kernel的参数交换例如:

#define __setup_param(str, unique_id, fn, early) \ static const char __setup_str_##unique_id[] __initconst \ __aligned(1) = str; \

static struct obs_kernel_param __setup_##unique_id \

__used __section(.init.setup) \

__attribute__((aligned((sizeof(long))))) \

= { __setup_str_##unique_id, fn, early }

#define __setup(str, fn) \

__setup_param(str, fn, fn, 0)

/* NOTE: fn is as per module_param, not __setup! Emits warning if fn * returns non-zero. */

#define early_param(str, fn) \

__setup_param(str, fn, fn, 1)

/* Relies on boot_command_line being set */

void __init parse_early_param(void);

void __init parse_early_options(char *cmdline);

我们经常用到的early_param,__setup用于处理boot传递过来的参数

内核启动后进入组件式初始化的过程如下图所示:

组件的初始化有以下三类:

1.来着bootloader传递的参数,使用do_early_param函数从__setup_start~__setup_end区间搜索完成。

2.中断和时钟的初始化

3.普通的初始化函数,这些主要是通过do_initcalls()函数完成的。

第一类初始化中,bootloader传递给kernel的参数格式为A=B,内核通过__setup和early_param标记来识别参数对应的函数。相当于我们所说的绑定。

#define __setup(str,fn) __setup_param(str,fn,fn,0)

#define early_param(str,fn) __setup_param(str,fn,fn,1)

两者的差别就在最后一个参数,__setup_param内容如下:

#define __setup_param(str,unique_id,fn,early)

static char __setup_str_##unique_id[]__initdata_aligned[1]=str;\

static struct obs_kernel_param __setup_##unique_id \ //实例名称

__used_section(.init.setup)\ //存放到.init.setup节

__attribute__((aligned((sizeof(long)))) \ //对其要求

={__setup_str_##unique_id, fn, early}

可以看出查遍就在obs_kernel_param数据结构的early成员是否置1。

再看一下obs_kernel_param的细节:

struct obs_kernel_param{

const char *str;

int (*setup_func)(char *);//slot用于绑定对应的函数

int early;//执行优先级的标记

}

可见被early_param修饰的函数要先于被__setup标记修饰的函数,

以下是两种函数的调用过程:

对以early_param修饰的函数,是由do_early_param(...)

一般的函数若要在内核启动时背do_early_param调用,需使用early_param(...)"注册“

一个典型的例子是:

调试信息的的显示:

在linux_cmdline中如果加入了debug那么内核启动的信息将逐一打印出来,具体实现是这样的:static int __init debug_kernel(char *str)

{

console_loglevel = 10;

return 0;

}

early_param("debug",debug_kernel);

于是,debug_kernel的入口地址在链接时被”挂“到了.init.setup节,供do_early_param调用。

对于__setup,使用__setup标记挂到.init.setup中的许多选项如今很少使用,除了__setup("init=",init_setup);

常见软件故障及处理方法

常见软件故障及处理方法(转载) 软件故障的原因 软件发生故障的原因有几个,丢失文件、文件版本不匹配、内存冲突、内存耗尽,具体的情况不同,也许只因为运行了一个特定的软件,也许很严重,类似于一个的系统级故障。 为了避免这种错误的出现,我们可以仔细研究一下每种情况发生的原因,看看怎样检测和避免。 丢失文件: 你每次启动计算机和运行程序的时候,都会牵扯到上百个文件,绝大多数文件是一些虚拟驱动程序vir tual device drivers (VxD),和应用程序非常依赖的动态链接库dynamic link library (DLL)。VXD允许多个应用程序同时访问同一个硬件并保证不会引起冲突,DLL则是一些独立于程序、单独以文件形式保存的可执行子程序,它们只有在需要的时候才会调入内存,可以更有效地使用内存。当这两类文件被删除或者损坏了,依赖于它们的设备和文件就不能正常工作。 要检测一个丢失的启动文件,可以在启动PC的时候观察屏幕,丢失的文件会显示一个“不能找到某个设备文件”的信息和该文件的文件名、位置,你会被要求按键继续启动进程。 造成类似这种启动错误信息的绝大多数原因是没有正确使用卸载软件。如果你有一个在WINDOWS启动后自动运行的程序如Norton Utilities、 Nuts and Bolts等,你希望卸载它们,应该使用程序自带的“卸载”选项,一般在“开始”菜单的“程序”文件夹中该文件的选项里会有,或者使用“控制面板”的“添加/卸载”选项。如果你直接删除了这个文件夹,在下次启动后就可能会出现上面的错误提示。其原因是W INDOWS找不到相应的文件来匹配启动命令,而这个命令实际上是在软件第一次安装时就已经置入到注册表中了。你可能需要重新安装这个软件,也许丢失的文件没有备份,但是至少你知道了是什么文件受到影响和它们来自哪里。 对文件夹和文件重新命名也会出现问题,在软件安装前就应该决定好这个新文件所在文件夹的名字。 如果你删除或者重命名了一个在“开始”菜单中运行的文件夹或者文件,你会得到另外一个错误信息,在屏幕上会出现一个对话框,提示“无效的启动程序”并显示文件名,但是没有文件的位置。如果桌面或者“开始”菜单中的快捷键指向了一个被删除的文件和文件夹,你会得到一个类似的“丢失快捷键”的提示。 丢失的文件可能被保存在一个单独的文件中,或是在被几个出品厂家相同的应用程序共享的文件夹中,例如文件夹\SYMANTEC就被Norton Utilities、Norton Antivirus和其他一些 Symantec 出品的软件共享,而对于\WINDOWS\SYSTEM来说,其中的文件被所有的程序共享。你最好搜索原来的光盘和软盘,重新安装被损坏的程序。 文件版本不匹配: 绝大多数的WIN 9X用户都会不时地向系统中安装各种不同的软件,包括WINDOWS的各种补丁例如Y2K,或者将WIN 95 升级到WIN 98,这其中的每一步操作都需要向系统拷贝新文件或者更换现存的文件。每当这个时候,就可能出现新软件不能与现存软件兼容的问题。 因为在安装新软件和WINDOWS升级的时候,拷贝到系统中的大多是DLL文件,而DLL不能与现存软件“合作”是产生大多数非法操作的主要原因,即使会快速关闭被影响的程序,你也没有额外的时间来保存尚未完成的工作。 WINDOWS的基本设计使得上述DLL错误频频发生。和其他版本不同,WIN 95允许多个文件共享\WINDO WS\SYSTEM文件夹的所有文件,例如可以有多个文件使用同一个Whatnot.dll,而不幸的是,同一个DLL文件的不同版本可能分别支持不同的软件,很多软件都坚持安装适合它自己的Whatnot.dll版本来代替以前的,但是新版本一定可以和其他软件“合作愉快”吗?如果你运行了一个需要原来版本的DLL的程序,就会出现“非法操作”的提示。 在安装新软件之前,先备份\WINDOWS\SYSTEM 文件夹的内容,可以将DLL错误出现的几率降低,既然

项目启动会议议程

项目启动会议议程 在初次进入客户现场的时候召开项目启动会议,有助于扩大影响、理念交流、达成共识,这对于项目的顺利实施有非常积极的作用。 项目启动会议可以邀请用户方的主要领导或者分管信息化的分管领导,以及各职能部门的领导参加。主要议程有: 1、双方项目组成员认识; 2、项目计划沟通和通报; 3、用户方期望达到的项目目标; 4、项目经理介绍万户ezOFFICE系统的项目实施经验和心得,对用户方的 期望。 其中,ezOFFICE系统的项目实施经验和心得概要如下。 ezOFFICE系统的项目实施经验和心得 1、协同办公系统首先是管理问题,其次才是技术问题。ezOFFICE是作为一种管 理工具而存在的。在ezOFFICE的实施、推广过程中,我们要多加管理。另外,不能完全依赖技术去实现需求,用技术完全替代管理的想法是片面的、不现实的。 2、目前大部分协同办公系统采用B/S结构,相比其他的历史时期和其他大型软 件系统来说,协同办公系统的使用在国内处在一个最成熟的时期,B/S结构承袭了普通用户的上网习惯,我们有用好它的技术基础。 3、推广协同办公系统,是一把手工程,需要领导的重视与推进。关键领导的支 持:一方面领导干预或授权,推动项目按计划实施,而非不重视、任其发展甚至停滞不前;另一方面,推广系统,使系统能用起来,发挥效益最大化。 这个过程也是促进客户的执行力的过程,保障了项目的成功实施。(为什么说是一把手工程?因为协同办公系统是管理类软件,是对传统办公模式的变革,而能影响整个团队的办公模式的,只有一把手了。一把手不须事必躬亲,只是做三件事:挑得力助手;责令助手去全权实施、规划、推广协同办公系统;

第2章 Win7安装

第2章Windows 7安装 2.1系统安装要求 下面是安装Windows 7 时推荐的最低硬件配置: 如果不能满足这些最低配置,将无法安装Windows 7: 2.2安装途径 可以使用下列方法之一安装Windows 7。

2.3全新安装 2.3.1全新安装的变化 在执行Windows 7 的全新安装时,与Windows Vista 相比有两个明显变化:创建单独的系统分区,以及选择加入无线网络。 在从DVD 启动来执行Windows 7 的全新安装时,如果符合以下的三个条件:?计算机上没有现有的系统分区 ?系统没有3 个现有分区 ?磁盘上具有用于额外分区的未分配空间 安装程序在安装之后创建100 MB的系统分区,将会在“磁盘管理”中发现以下两个分区: 注意,“磁盘管理”中对分区使用的术语容易发生混淆。如上所述,“启动文件”位于“系统”分区上,而Windows 系统文件位于“启动”分区上。 创建此分区有以下几个主要原因: ?Bitlocker 要求分隔启动文件与Windows 文件。这是Windows Vista 需要Bitlocker 驱动器准备工具的原因 ?防止被删除(如在双启动方案中)。在此新配置中,可以格式化Windows 分区而不会影响系统启动。该驱动器没有驱动器号可以进一步防止意外删除启动文件如果不能满足之前的三个条件,Windows 7 安装程序将使用与Windows Vista 安装程序相同的方法继续执行。 如果有活动无线网络适配器,并且范围内有网络,“欢迎使用Windows”将提供一个新步骤来连接到网络。 2.3.2全新安装步骤

Windows 7 的全新安装与升级类似,采用的步骤和结构与在Windows Vista 安装程序中使用的相同。全新安装的阶段如下: 2.3.3从光盘启动安装 2.3.3.1WinPE阶段 从DVD 启动安装的第一步是“按任意键从CD 或DVD 启动”。 WinPE 开始加载,并显示“Windows 正在加载文件”进度指示器,如下图所示。 接下来是“正在启动Windows”图像,这是Windows 7 启动的新“初始屏幕”。

项目启动计划书格式流程

项目启动计划书

一、公司简介 1.1公司基本信息 公司名称大同市天涯拓展有限责任公司 项目名称天涯素质拓展训练培训机构 项目创始人王磊 地址亲水湾 企业性质有限责任公司 注册日期 注册资本100万元人民币 公司网址 天涯拓展有限公司成立于2017年3月13日,作为一家素质拓展公司,就是要把大同市中、小学,各大小教育机构中3到16岁之间的青少年素质拓展项目进行整合,通过营销策划,为相关培训机构提供素质拓展、课外活动的服务;从而把大中小型课外培训机构、企事业单位、民间团体商家结合起来,推动素质拓展活动的联盟,达到资源整合、互惠互利的目的。 1.2公司使命 打造大同市素质拓展活动联盟第一品牌 1.3公司服务范畴 涵盖了幼小衔接亲子营、3到16岁青少年课外素质拓展、企事业单位团体

员工管理培训等多个方面。 二、项目综述 2.1项目简介 素质拓展训练是一种以提高心理素质为主要目的,兼具体能和实践的综合素质教育,它以运动为依托,以培训为方式,以感悟为目的。它与传统的知识培训和技能培训相比,少了一些说教和灌输,多了一些运动中的体验和感悟。拓展训练能使青少年学生激发个人潜能,培养乐观的心态和坚强的意志,提高沟通交流的主动性和技巧性,树立相互配合、相互支持的团队精神,极大增强合作意识,从而达到提高学生心理素质的目的。因此,这种培训方式成为学生学习生活经验、体验社会教育、形成正确的人际、情感和社会性价值观等教育目标的一个重要途径,是青少年学生素质教育中不可缺少的一项。本项目就是要把素质拓展作为一项服务,为社会团体,特别是广大青少年提供一个专业、安全、有价值的培训平台。 2.2项目精髓 实现广大青少年及各大小培训机构素质拓展方面专业性的指导,联合大同市教育商圈,做专业级平台,帮助大同市教育联盟打造一套完整的户外素质拓展活动流程。 2.3关键概念释义 大同市教育培训联盟,是一种创新的商业运营模式,整合同一商圈、同一行业、不同商家资源,为形成必要的规模效应、商业信息网络、增强商家的经济活力及收益,通过联盟的方式组成的利益共同体。项目以整合互动营销为核心,通过资源整合、资源共享,实现多方共赢。 做专业级平台,是本项目的核心概念,以素质拓展活动为开端,不断吸收经验,在稳步发展中吸纳一些教育资源,达到联合其他学校、其他机构,一起做活动的目的。在活动规模、活动专业度来说,做到行业最高标准。 吸引更多的机构一起参与、一起合作,达到资源共享,利益最大化。 2.4具体做法

项目启动会议议程完整版

项目启动会议议程 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

召开项目(实施阶段)启动会议的规定 为了更好地落实、检查项目实施准备工作,每个项目开始实施(施工)前,必须召开启动会议,进行并完成相关议程、签署相关文件后,该项目方能正式进入实施阶段(状态)。 在召开启动会议之前,项目经理应会同项目组成员编写及编制完成《项目管理手册》、《项目实施成本清单》、《项目实施进度计划》、《项目里程碑》、《项目采购计划》等文件,并经技术部(詹锋)、市场部(凌霜)、财务部(秦慧)审核、修改后才能在启动会议上发布。 项目(实施阶段)启动会议详细规定如下: 一、会议组织及主持:项目经理; 二、与会人员: 出席人员:项目组成员、技术部(该项目售前工程师及詹锋)、市场部 (该项目业务经理及凌霜)、财务部(财务人员--雷法清、商务人员及秦 慧); 列席人员:监督人员(市场部—卢建民、技术部—黄海)。 三、会议召开时间:项目开始实施前1-3日内; 四、用时:1~3个小时 五、准备资料:《项目管理手册》项目组成员人手一份;《项目实施成本清 单》之“施工实施费用部分”、《项目实施进度计划》、《项目里程 碑》、《项目采购计划》各一份;《施工方案》(安装工艺、规范标准、 实施指南、作业指导等)初稿一份;《分包协议》初稿一份。 六、会议议程: 1.与会人员签到(记录表保存在内部的《工程文档》中); 2.各部门审阅有关文件; 3.项目经理介绍项目情况; 4.项目经理介绍项目组成员(包括市场部/财务部相关人员)及分工; 5.项目经理讲解《项目管理手册》要点、难点、重点; 6.项目经理介绍项目进度计划、项目里程碑、采购计划、分包协议; 7.财务部、市场部提出意见、建议和注意事项;

WIN7安装问题解决

解决win7安装过程问题 随着电脑知识的普遍化,越来越多的用户会自己重新安装WIN7系统,在重装系统过程当中用户们常常会遇到一些故障,今天小编就列举了安装WIN7系统过程中常见的故障以及解决方案,希望可以帮助到大家。 序号:1 原文:Please wait... 翻译:请稍候... 解决办法:这是安装开始时安装程序加载时的提示语。如果卡在这个地方,请检查硬件是否正常,如果正常请检查MD5是否一致。如果配置低,可能要多等一下,请耐心等待。在PE2.0以下在这一步会提示无法安装,原因是PE版本太低。请使用高于或等于2.0版的PE,论坛有提供 序号:2 原文:Setup is copying temporary files... 翻译:程序正在复制临时文件... 解决办法:同1 序号:3 原文:Setup is starting... 翻译:安装正在启动 解决办法:同1 序号:4 原文:Windows installation cannot be started from the current operating system. To install Windows, boot from the installation media, or upgrade to Windows XP or later and restart the installation. 翻译:无法从当前操作系统启动Windows安装。若要安装Windows,请从安装介质启动,或升级到Windows XP或更高版本,然后重新启动安装。 解决办法:已经说得很清楚了,如果你是从2000系统安装,那是不行的。请在XP或者2003、Vista升级或安装。 序号:5 原文:Install Windows 翻译:安装Windows 解决办法:同1 序号:6 原文:Windows could not load required file. The file may be corrupt. To install Windows, restart the installation. Error code: 0x%2!X! 翻译:Windows无法加载所需的文件。该文件可能已损坏。若要安装Windows,请重新启动安装。错误代码: 0x%2!X! 解决办法:典型的ISO文件损坏情况,请检查ISO的MD5是否一致,ISO损坏的原因很可能是下载时造成的。请使用其他下载工具下载。比如我上次用迅雷下载后发现MD5不一样。只得重新下载,第二次下载后一致了。如果是刻碟安装,很可能是光盘损坏或有些文件刻录时错误。请重新刻录。 序号:7 原文:Y ou must be an administrator to install Windows.

启动过程以及各个脚本的作用

开机自检-----MBR引导-----GRUB菜单------加载内核-----允许init进程 -----读取inittab(该文件中有运行级别,初始化文件,某个运行级别所要读取的文件,然后就执行/etc/rc.d/rcn.d向对应的文件) ----/etc/rc.d/rc.sysinit(由init进程调用执行,完成设置网络主机名加载文件系统等初始化工作------/etc/rc.d/rc(由init进程调用执行,根据指定的运行级别加载或终止相应的系统服务)------/etc/rc.d/rc.nd(是个目录,目录中有级别关闭和开启的服务K S 后的数字表示启动或关闭服务的优先级,越小越好----执行/etc/rc.d/rc.local(由rc脚本执行调用,保存用户定义的所需开机后自动执行的命令,可以开启某些服务,但是却不能关闭服务,因为关机时不读取该脚本,是最后读取的文件) -----启动mingetty(启动一个虚拟终端) init进程和inittab引导指令 init进程是系统所有进程的起点,内核在完成核内引导以后,即在本线程(进程)空间内加载init程序,它的进程号是1。 init程序需要读取/etc/inittab文件作为其行为指针,inittab是以行为单位的描述性(非执行性)文本,每一个指令行都具有以下格式: id:runlevel:action:process其中id为入口标识符,runlevel为运行级别,action为动作代号,process为具体的执行程序。 id一般要求4个字符以内,对于getty或其他login程序项,要求id与tty的编号相同,否则getty程序将不能正常工作。 runlevel是init所处于的运行级别的标识,一般使用0-6以及S或s。0、1、6运行级别被系统保留,0作为shutdown动作,1作为重启至单用户模式,6为重启;S和s意义相同,表示单用户模式,且无需inittab文件,因此也不在inittab中出现,实际上,进入单用户模式时,init直接在控制台(/dev/console)上运行/sbin/sulogin。 在一般的系统实现中,都使用了2、3、4、5几个级别,在Redhat系统中,2表示无NFS支持的多用户模式,3表示完全多用户模式(也是最常用的级别),4保留给用户自定义,5表示XDM图形登录方式。7-9级别也是可以使用的,传统的Unix系统没有定义这几个级别。runlevel可以是并列的多个值,以匹配多个运行级别,对大多数action来说,仅当runlevel与当前运行级别匹配成功才会执行。 initdefault是一个特殊的action值,用于标识缺省的启动级别;当init由核心激活以后,它将读取inittab中的initdefault项,取得其中的runlevel,并作为当前的运行级别。如果没有inittab文件,或者其中没有initdefault 项,init将在控制台上请求输入 runlevel。

中国中铁项目启动会议程及讲稿草案090117

中国中铁股份有限公司 人力资源信息化管理系统项目实施启动会 根据中国中铁人力资源部信息化规划整体部署和安排,报经总经理会及相关业务部门审议并通过,与用友公司结成战略合作伙伴关系,在系统内实施并推广用友e-HR人力资源管理软件。此项工作已于08年底正式启动,为了保证项目的顺利实施和在各单位的成功推广,经双方项目组讨论并报中国中铁相关领导通过,于近期将召开“中国中铁人力资源信息化管理系统建设项目启动会”。 下面将启动会安排汇报如下: 一、启动会议程概述 启动会名称: “中国中铁人力资源信息化管理系统项目实施启动会” 启动会时间:2009年1月XX日上午9:30 启动会地点:中国中铁大厦B座302视频会议室 启动会形式:视频直播 与会人员:中国中铁相关领导及项目组主要成员等5-10人 用友公司领导和项目组主要成员等5-10人主持人:成军总或许部长

二、启动会主要议程。 9:00-9:30 会议前准备(视频设备调试准备,资料发放) 9:30-9:40 主持人宣布会议开始,并宣读会议议程 9:40-10:10 中国中铁马立总讲话 10:10-10:25 用友公司吴晓冬副总裁讲话 10:25-10:45 中铁项目组组长(XXX)宣布项目启动工作布臵10:45-11:00 用友项目经理讲解项目实施计划及实施方法 11:00-11:30 中国中铁刘辉总讲话(信息化) 11:30-11:35 主持人宣布启动会结束 三、参会人员清单 为加大建设人力资源信息化的力度,使之更深入人心,并积极扩大总公司开展信息化建设的影响,拟请相关人员出席:总公司:刘辉总、许成军总 人力资源部:许廷旺部长、赵超英副部长。。。 科技部:高峰部长、王烨、黄丛治。。。 下属单位参加人员:(出席视频会议)

U-BOOT下使用bootm引导内核方法

U-BOOT下使用bootm引导内核方法 注: u-boot使用的是打上: https://www.360docs.net/doc/6212828991.html,/cgi-bin/topic.cgi?forum=3&topic=651&show=0 上keety大侠提供的补丁生成的u-boot-1.1.3 这段时间不断有人问我u-boot启动内核的问题,记得在上次提供的u-boot源码中提到了go的方案,不过其实u-boot本来有一种更好的方案:bootm 花了不少时间,查看了论坛上不少的帖子,认真阅读了bootm的源码,终于使用bootm把内核给跑起来了,现把解决方法介绍如下: 一、在开始之前先说明一下bootm相关的东西。 1、首先说明一下,S3C2410架构下的bootm只对sdram中的内核镜像文件进行操作(好像AT91架构提供了一段从flash复制内核镜像的代码,不过针对s3c2410架构就没有这段代码,虽然可以在u-boot下添加这段代码,不过好像这个用处不大),所以请确保你的内核镜像下载到sdram中,或者在bootcmd下把flash中的内核镜像复制到sdram中。 2、-a参数后是内核的运行地址,-e参数后是入口地址。 3、 1)如果我们没用mkimage对内核进行处理的话,那直接把内核下载到0x30008000再运行就行,内核会自解压运行(不过内核运行需要一个tag来传递参数,而这个tag建议是由bootloader提供的,在u-boot下默认是由bootm命令建立的)。 2)如果使用mkimage生成内核镜像文件的话,会在内核的前头加上了64byte的信息,供建立tag之用。bootm命令会首先判断bootm xxxx 这个指定的地址xxxx是否与-a指定的加载地址相同。

项目启动会流程

一、开项目启动会前,需要准备以下事宜。 1、与项目发起人(销售或公司高层领导,外部项目一般是销售,内部项目一般是公司高层)沟通了解项目整体情况:市场份额、项目情况、分工界面、发起方负责部门和负责人员、关键里程碑等。 2、跟领导确认项目团队框架,开发人员、测试人员、售前、产品、交付、采购等。确认项目预算。 3、跟项目负责人简单沟通项目情况,了解他们目前的工作分配,对此项目的了解和可以参加项目启动会时间 4、找一个最近的且关键团队人员能够参加的时间作为项目启动会召开时间,提前与他们沟通确认时间是否可以,并至少提前两天发邮件通知大家,开会时间、地点和项目议题等。 二、项目启动会一般流程: 1、领导开场,说明项目远景,并指定项目经理及内部关键干系人(售前负责人、研发经理、采购负责人、售前等,一般会前已经沟通好的)。 2、发起人(销售或公司高层领导),说明项目成立背景和成功标准,里程碑规划,项目主要干系人 3、售前,简单介绍项目情况,技术架构,周边项目及厂商 4、研发经理,介绍开发人员配置及入场时间,及相应开发周期 5、测试经理,说明测试人员配置及入场时间 6、采购,说明下项目需采购设备周期 7、交付,说明下实施周期及实施方案讨论

8、项目经理,会议中主持会议,防止会议跑题、时间控制、记录会议要点等,会议后梳理会议结论并给会议参与人员和项目人员群发会议纪要。 项目启动会主要是信息共享,而非问题讨论,最好会前与各方沟通清楚各方的工作职责和事项。项目启动会控制在一个小时为佳,超过2个小时仍在争论,没能达成明确清晰的分工,就算是失败的项目启动会。 三、项目启动会会议纪要要点 参与人员、地点、时间 合同类型、市场份额、涉及省市、周边厂商 公司内部项目相关负责人,各负责人职责;局方相关的联系人公司内部项目流程 关键里程碑(到货、开发、测试等关键时间点) 项目所需注意事项

软件安装故障排除文档

软件安装故障排除文档 1、安装时提示: 抽取:无法写入文件 C:\DOCUME~1\Administrator\LOCALS~1\Temp\nsd26.tmp\System.dll 解答:C盘空间不足,安装傲友软件最少需要240MB存储空间。推荐整理C 盘文件(包括桌面文件)。 2、启动傲友软件系统,欢迎界面一闪而过,无法进入登录界面。 解答:没有配置服务器,或服务器配置失败,需要重新配置服务器。在windows操作系统下: 开始→程序→傲友软件→工具→服务器配置向导。启动服务器配置向导后,点击下一步,稍等片刻,提示配置完成则服务器配置完成,可从新启动傲友软件。 傲友软件安装路径中包含空格或中文字符。在安装傲友软件时,请避免安装路径中包含空格、中文等特殊字符。 3、登录傲友软件时,提示:更新数据失败

解答:多次安装卸载傲友软件,可能造成mida.dll文件丢失。检查midas.dll,在windows系统下:开始→运行,输入“regsvr32 midas.dll”如果提示:midas.dll 中的 DllRegisterServer 失败,请复制 midas.dll文件到“c:\windows\system32\”,再运行“regsvr32 midas.dll”。 4、配置服务器失败:提示 MYSQL数据库系统服务已停止。 解答:傲友软件专业版使用的是MYSQL数据库,请检查服务器端电脑是否安装MYSQL,并启动MYSQL服务(在windows操作系统下:j进入控制面板→管理工具→服务→选择 MYSQL服务,启动MYSQL服务)。重新运行服务器配置向导(在windows操作系统下:开始→程序→傲友软件→工具→服务器配置向导。启动服务器配置向导后,点击下一步,稍等片刻,提示配置完成则服务器配置完成,可从新启动傲友软件。)

linux grub 引导启动过程详解

linux grub 引导启动过程详解 2008-01-08 17:18 这几天看了很多文档,算是对linux的启动过程有了比较细致的了解. 网上有很多文章谈到这方面的内容,但总觉得没有一篇完全的解析linux启动的 细节,下面是我小弟在学习的过程中总结出来的一些东东.这个是完整的linux启动过程, 不涉及内核,但是我觉得比较详细哦. (由于本人比较懒,这一段是从网上抄的) 机器加电启动后,BIOS开始检测系统参数,如内存的大小,日期和时间,磁盘 设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查 软驱或者光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设 备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区, 寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader. linux里面的boot loader通常是lilo或者grub,从Red Hat Linux 7.2起,GRUB( GRand Unified Bootloader)取代LILO成为了默认的启动装载程序。那么启动的时候grub是如何被载入的呢 grub有几个重要的文件,stage1,stage2,有的时候需要stage1.5.这些文件一般都 在/boot/grub文件夹下面.grub被载入通常包括以下几个步骤: 1. 装载基本的引导装载程序(stage1),stage1很小,网上说是512字节,但是在我的系统上用du -b /boot/grub/stage1 显示的是1024个字节,不知道是不是grub版本不同的缘故还是我理解有误.stage1通常位于主引导扇区里面,对于硬盘就是MBR了,stage1的主要功能就是装载第二引导程序(stage2).这主要是归结于在主引导扇区中没有足够的空间用于其他东西了,我用的是grub 0.93,stage2文件的大小是107520 bit. 2. 装载第二引导装载程序(stage2),这第二引导装载程序实际上是引出更高级的功能, 以允许用户装载入一个特定的操作系统。在GRUB中,这步是让用户显示一个菜单或是输入命令。由于stage2很大,所以它一般位于文件系统之中(通常是boot所在的根 分区). 上面还提到了stage1.5这个文件,它的作用是什么呢你到/boot/grub目录下看看, fat_stage_1.5 e2fs_stage_1.5 xfs_stage_1.5等等,很容易猜想stage1.5和文件系统 有关系.有时候基本引导装载程序(stage1)不能识别stage2所在的文件系统分区,那么这 时候就需要stage1.5来连接stage1和stage2了.因此对于不同的文件系统就会有不同的stage1.5.但是对于grub 0.93好像stage1.5并不是很重要,因为我试过了,在没有stage1.5 的情况下, 我把stage1安装在软盘的引导扇区内,然后把stage2放在格式化成ext2或者fat格式的软盘内,启动的时候照常引导,并不需要e2fs_stage_1.5或者fat_stage_1.5. 下面是我的试验: #mkfs.ext2 /dev/fd0 #mount -t ext2 /dev/fd0 /mnt/floppy #cd /mnt/floppy #mkdir boot #cd boot #mkdir grub (以上三步可用mkdir -p boot/grub命令完成) #cd grub #cp /boot/grub/{stage1,stage2,grub.conf} ./ #cd; umount /mnt/floppy

项目启动大会流程

项目启动大会流程 项目启动大会是一二手联动营销开始前动员大会,主要目的是集中向各销售人员展示分销项目,公布分销激励政策充分调动员工积极性快速实现销售目标,具体流程如下: 一、参与人员包括:运营部门职能部门、各加盟商及销售人员、对接人,策划人员、开发商相关人员。 二、大会内容第一项分销项目情况介绍,包括:1、市场动态分析,根据当前房地产市场动态结合分销项目进行分析,为项目分销成功提供理论依据,提升员工分销信心;2、分销项目优劣势分析,进一步挖掘项目亮点为员工提供分销说辞;3、客户分析,协助销售人员根据项目情况进行客户细分,为销售人员拓展客户提供方向性指导;4、周边竞品项目优劣势对比,再次突出本项目分销优势,提升员工信心。5、定房会当天销售政策,客户要求等。 三、大会内容第二项分销项目销售流程,包括:1、明确售楼部与外围分销团队分工,售楼部暂停销售工作,只负责接待来访客户讲解项目基本情况,外围分销团队负责拓展客户渠道,引导意向客户到售楼部看房以及后期逼单;2、外围分销团队带客户到售楼部后,由售楼部人员配合接待讲解项目,客户离开后,由外围分销团队销售人员及接待售楼员共同到项目客户管理人员处核对客户,根据客户来访电话号码进行查重工作,查重期限根据项目情况与开发商进行协商。如客户在查重期限内属无效带看,如客户没有在期限内属有效带看,由接待售楼员填写《客户来访登记表》一式两份与客户管理人员共同

签字确认后交给外围分销团队销售人员。3、客户界定只限于外围分销团队与售楼部客户进行区分,外围分销团队之间客户不区分以最终收取客户意向金为准。客户确定购买意向后由外围分销团队销售人员收取客户一定金额意向金并向客户提供收据。4、客户持意向金收据可参加分销项目开盘定房会,定房会当天交定金确定选房客户可享受相关优惠政策。5、定房会当天客户选房顺序以随机摇号为准,摇号依据是客户意向金收据号。6、定房会当天只收取客户定金确定客户选房楼号,不进行相关优惠政策解释及付款方式的确认,定房结束后七天内客户到售楼部交首期款时再进一步与客户协商付款方式及优惠。7、定房会结束后根据当天定房情况及时向各外围分销团队通报定房情况并要求及时通知客户交首期款并签订购房协议。8、客户交清首期款并签订购房协议后七日内对外围分销团队支付佣金。 四、大会内容第三项分销激励政策,包括:1、对各外围分销团队明确分销周期,确定单套销售佣金标准;2、明确递增式奖励政策,即以每销售团队登记人数为基准,制定每人多销售一套奖励标准;3、即实行奖励政策。 五、大会内容第四项主要销售团队展示公众承诺,包括:运营团队支持承诺,销售团队销售目标承诺等,将各团队承诺上墙公示。 六、分销正式启动。

Windows开机自动启动程序在哪里

Windows开机自动启动程序在哪里? 作者:魏永超整理文章来源:本站原创点击数:16759 更新时间:2005-6-30 上午11:48:13 Windows开机自动启动程序在哪里? 自动启动程序在哪里? 一、当前用户专有的启动文件夹 这是许多应用软件自动启动的常用位置,Windows自动启动放入该文件夹的所有快捷方式。用户启动文件夹一般在:Documents and Settings<用户名字>「开始」菜单程序启动,其中“<用户名字>”是当前登录的用户帐户名称。 二、对所有用户有效的启动文件夹 这是寻找自动启动程序的第二个重要位置,不管用户用什么身份登录系统,放入该文件夹的快捷方式总是自动启动——这是它与用户专有的启动文件夹的区别所在。该文件夹一般在:Documents and SettingsAll Users「开始」菜单程序启动。 三、从自动批处理文件中寻找 在Win 98中,Autoexec.bat和Winstart.bat文件中的程序在开机时自动执行;而在Win Me/2000/XP/2003中,这两个批处理文件默认不被执行。 四、从系统配置文件中寻找 在有些系统配置文件中也可以找到自启动程序的踪迹,如Config.sys、Win.ini、System.ini、Wininit.ini和Msdos.sys等。 五、通过“系统配置实用程序”寻找 在“开始→运行”中键入“msconfig.exe”启动“系统配置实用程序”,进入“启动”选项卡,即可查看随系统启动的程序名称和位置。

注意:Win 2000本身没有Msconfig程序,可以从Win XP/2003中提取。 六、从计划任务中寻找 在“控制面板”中双击“任务计划”就可以查看是否有计划任务随系统一起启动。 七、使用“系统信息”寻找 进入“系统信息”主界面,依次展开分支“软件环境→启动程序”,就可以在右窗格中查看自启动程序名称和位置。 八、使用“组策略”寻找 在Win 2000/XP/2003中,在“开始→运行”中键入“gpedit.msc”,打开“组策略”,依次展开“用户配置→管理模板→系统→登录/注销”,双击“在用户登录时运行这些程序”,单击“显示”按钮,即可查看自启动程序。 九、通过注册表寻找 在注册表中,可以从下列键值中查找自启动程序的名称和位置。 1、Load注册键 介绍该注册键的资料不多,实际上它也能够自动启动程序。位置: HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load值。 2、Userinit注册键 位置: HKEY_LOCAL_MACHINE\SOFTWARE\Microsof\tWindowsNT\CurrentVersion\Winlogon\Userinit。这里也能够使系统启动时自动初始化程序。通常该注册键下面有一个userinit.exe,如图,但这个键允许指定用逗号分隔的多个程序,例如“userinit.exe,OSA.exe”(不含引号)。 3、ExplorerRun注册键 和load、Userinit不同,ExplorerRun键在HKEY_CURRENT_USER和 HKEY_LOCAL_MACHINE下都有,具体位置是:

ERP项目启动大会议程与讲义

E R P项目启动大会议程 与讲义 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

E R P项目启动大会议程与讲义会议时长:90-120分钟 主持人:张** 会议地点:大会议室 会场准备:白**、杨** 道具:横幅(红底白字:巨能ERP项目启动大会)、坐席牌、投影仪、矿泉水若干 议程: 1、项目背景简述(5分钟): 尊敬的王董,公司各领导、同事,以及**软件陈总、总顾问徐工! 下午好! ERP项目启动大会在此隆重召开,正式拉开了我们公司**ERP项目全面实施的序幕。随着近几年企业的快速发展,企业经营规模迅速扩大,迫切需要转变的管理模式,将现代化信息技术与科学管理方法、企业系统建设结合起来。 经过前期周密的筹备与审慎的选型工作,最终选定**公司作为我司合作单位。我们有信心通过与实时软件的合作,把原有的信息孤岛串立起来,把手工变成信息化的。以此提高公司整体产、供、销的运作速度和响应速度;采购、生产计划的精确投放;降低零部件库存成本;压缩中间在制品库存;实现从粗放到精细化管理的转变。 2、下面以热烈的掌声有请我们总经理**做项目动员发言(10分钟) 3、接下来掌声有请金蝶台州总经理,**总做大会发言(10-20分钟) 4、下面由我来介绍本公司项目组的成员和架构、大日程计划、主体实施计划、项目管理制度(20-30分钟)

5、**软件对本次为确保项目的实施成功,实施软件公司由实施部经理**亲自挂帅,下面以热烈的掌声欢迎**做ERP信息化培训(20分钟) 6、誓词:ERP是一项企业管理系统工程,任务很艰巨,为确保项目的顺利开展,我司将建立适当的激励机制和处罚措施,对于工作不认真、不及时等造成ERP数据失真、滞后的进行严厉处罚。反之,通过大家的共同努力,每个阶段行目标都能顺利完成,我们将发放丰厚的项目奖励。 在此我希望每个项目成员和我一起作出承诺,全力以赴,项目只许成功不许失败。 誓词: 我宣誓!全力支持配合ERP项目实施,保证我部门输入系统的资料实时、准确,保证我部门与各部门协同运作,仔细输入每一个数据,认真反馈、解决每一个问题,如果我不能做到的话,愿为此一切承担责任! 7、让我们以热烈的掌声有请**董事长**做总结发言 8、结束语:最后,公司上下高度重视ERP实施工作,各相关部门密切配合,相互协作,以此次ERP的实施为契机,提高我们的信息化建设水平和管理水平。 我相信在大家的共同努力下,在实时公司的指导下,整个项目必定能够顺利开展,同时预祝我们巨能ERP项目能够圆满成功!

操作系统的启动流程

1、预引导(Pre-Boot)阶段 2、引导阶段 3、加载内核阶段 4、初始化内核阶段 5、登陆 每个启动阶段的详细介绍 一、预引导阶段在按下计算机电源使计算机启动, 并且在Windows XP操作系统启动之前这段时间, 我们称之为预引导(Pre-Boot)阶段, 在这个阶段里,计算机首先运行Power On Self Test(POST), POST检测系统的总内存以及其他硬件设备的现状。 如果计算机系统的BIOS(基础输入/输出系统)是即插即用的, 那么计算机硬件设备将经过检验以及完成配置。 计算机的基础输入/输出系统(BIOS)定位计算机的引导设备, 然后MBR(Master Boot Record)被加载并运行。 在预引导阶段,计算机要加载Windows XP的NTLDR文件。 二、引导阶段 Windows XP Professional引导阶段包含4个小的阶段。 首先,计算机要经过初始引导加载器阶段(Initial Boot Loader), 在这个阶段里,NTLDR将计算机微处理器从实模式转换为32位平面内存模式。 在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存, 而在32位平面内存模式中,系统(Windows XP Professional)视所有内存为可用内存。 接着,NTLDR启动内建的mini-file system drivers, 通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区, 以便发现以及加载Windows XP Professional, 到这里,初始引导加载器阶段就结束了。 接着系统来到了操作系统选择阶段, 如果计算机安装了不止一个操作系统(也就是多系统), 而且正确设置了boot.ini使系统提供操作系统选择的条件下, 计算机显示器会显示一个操作系统选单, 这是NTLDR读取boot.ini的结果。 三、加载内核阶段在加载内核阶段,ntldr加载称为Windows XP内核的ntokrnl.exe。 系统加载了Windows XP内核但是没有将它初始化。 接着ntldr加载硬件抽象层(HAL,hal.dll),然后, 系统继续加载HKEY_LOCAL_MACHINE\system键, NTLDR读取select键来决定哪一个Control Set将被加载。 控制集中包含设备的驱动程序以及需要加载的服务。 NTLDR加载HKEY_LOCAL_MACHINE\system\service\...下start键值为0的最底层设备驱动。当作为Control Set的镜像的Current Control Set被加载时, ntldr传递控制给内核,初始化内核阶段就开始了。 四、初始化内核阶段在初始化内核阶段开始的时候, 彩色的Windows XP的logo以及进度条显示在屏幕中央, 在这个阶段,系统完成了启动的4项任务: 内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINE\HARDWARE键。 内核通过引用HKEY_LOCAL_MACHINE\system\Current的默认值复制Control Set来创建了

Windows7安装时出现的错误提示-有效解决办法

Windows7安装时出现的错误提示?有效解决办法 导读:随着系统的不断更新换代,越来越多的windows xp用户也改为使用win7系统,但是使用前遇到的第一个问题是win安装时出现许多的错误提示,该如何解决呢?本教程将为大家讲解这一问题,当然出现的问题同样应用于其他版本的Windows 7,甚至是Vista。 序号:1 原文:Please wait... 翻译:请稍候... 解决办法:这是安装开始时安装程序加载时的提示语。如果卡在这个地方,请检查硬件是否正常,如果正常请检查MD5是否一致。如果配置低,可能要多等一下,请耐心等待。在PE2.0以下在这一步会提示无法安装,原因是PE版本太低。请使用高于或等于2.0版的PE,论坛有提供 序号:2 原文:Setup is copying temporary files... 翻译:程序正在复制临时文件... 解决办法:同1 序号:3 原文:Setup is starting... 翻译:安装正在启动 解决办法:同1 序号:4 原文:Windows installation cannot be started from the current operating system. To install Windows, boot from the installation media, or upgrade to Windows XP or later and restart the installation. 翻译:无法从当前操作系统启动Windows安装。若要安装Windows,请从安装介质启动,或升级到Windows XP或更高版本,然后重新启动安装。 解决办法:已经说得很清楚了,如果你是从2000系统安装,那是不行的。请在XP或者2003、Vista升级或安装。 序号:5 原文:Install Windows 翻译:安装Windows 解决办法:同1 序号:6 原文:Windows could not load required file. The file may be corrupt. To install Windows, restart the installation. Error code: 0x%2!X! 翻译:Windows无法加载所需的文件。该文件可能已损坏。若要安装Windows,请重新启动安装。错误代码: 0x%2!X! 解决办法:典型的ISO文件损坏情况,请检查ISO的MD5是否一致,ISO损坏的原因很可能是下载时造成的。请使用其他下载工具下载。比如我上次用迅雷下载后发现MD5不一样。只得重新下载,第二次下载后一致了。如果是刻碟安装,很可能是光盘损坏或有些文件刻录时错误。请重新刻录。 序号:7

相关文档
最新文档