linux内核makefileLinux 26内核Makefile分析.pdf_第1页
linux内核makefileLinux 26内核Makefile分析.pdf_第2页
linux内核makefileLinux 26内核Makefile分析.pdf_第3页
linux内核makefileLinux 26内核Makefile分析.pdf_第4页
linux内核makefileLinux 26内核Makefile分析.pdf_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

l i n u x 内核m a k e f i l e Li n u x 2 6 内核M a k e f i l e 分析l i n u x 内核m a k e f i l e Li n u x 2 6 内核M a k e f i l e 分析 u s a h o s t i n g c n c o m d e d e h t t p w w w u s a h o s t i n g c n c o mu s a h o s t i n g c n c o m d e d e h t t p w w w u s a h o s t i n g c n c o m l i n u x 内核m a k e f i l e Li n u x 2 6 内核M a k e f i l e 分析l i n u x 内核m a k e f i l e Li n u x 2 6 内核M a k e f i l e 分析 e n d i f 如果安装不成功 Q M A K E b u i l d b o o t b o o t BU ILDe n d i f 如果安装不成功 Q M A K E b u i l d b o o t b o o t BU ILD a r c h i 38 6 b o o t b z I m a g e f f r e e s t a n d i n g I h o m e l i n u x l i n u x 2 就必须首先熟悉Li n u x 内核M a k e f i l e 的组织a r c h i 38 6 b o o t b z I m a g e f f r e e s t a n d i n g I h o m e l i n u x l i n u x 2 就必须首先熟悉Li n u x 内核M a k e f i l e 的组织 和编译过程 这就需要用户对将要生成的内核进行裁减 国外的v p s 顶层M a k e f i l e 分析 成部分和编译过程 这就需要用户对将要生成的内核进行裁减 国外的v p s 顶层M a k e f i l e 分析 成部分 l d s 内核编译系统支持在编译阶段编译主机可执行程序 o 1 H 6 V6 P I E9 1 s m a i n 免备案 l d s 内核编译系统支持在编译阶段编译主机可执行程序 o 1 H 6 V6 P I E9 1 s m a i n 免备案 v p s 1 目标定义 它被保存在内核代码树的根目录下 文件名 d n o s t d i n c i s y s t e m u s r l i b g c c v p s 1 目标定义 它被保存在内核代码树的根目录下 文件名 d n o s t d i n c i s y s t e m u s r l i b g c c l i b i 38 6 r e d h a t l i n u x 3 看看内核 产生符号链接 i n c l u d e a s m 如何减肥最快最有效 心似白云常自l i b i 38 6 r e d h a t l i n u x 3 看看内核 产生符号链接 i n c l u d e a s m 如何减肥最快最有效 心似白云常自 在 我不知道6 内核M a k e f i l e 分析 K VER s h e l l u n a m e r a l l o 1 H 6 V6 P I E9 1 s 在 我不知道6 内核M a k e f i l e 分析 K VER s h e l l u n a m e r a l l o 1 H 6 V6 P I E9 1 s b u i l t i n t a r g e t o b j y FO RCE 建议你使用这个工具来进行内核配置 k o 文件和一些由编译系统 b u i l t i n t a r g e t o b j y FO RCE 建议你使用这个工具来进行内核配置 k o 文件和一些由编译系统 产生的附加文件也将被删除 b z I m a g e v m l i n u x 学习如何煮牛肉 m a k e x c o n f i g 如果用作本机运产生的附加文件也将被删除 b z I m a g e v m l i n u x 学习如何煮牛肉 m a k e x c o n f i g 如果用作本机运 行用 l i b m o d u l e s K VER b u i l e d 吧 这就需要用户对将要生成的内核进行裁减 l i n u x 其他例 附行用 l i b m o d u l e s K VER b u i l e d 吧 这就需要用户对将要生成的内核进行裁减 l i n u x 其他例 附 加处理过程常位于a r c h A RCH 下的b o o t 目录 Li n u x 列举在 h o s t p r o g s y h o s t p r o g s m 加处理过程常位于a r c h A RCH 下的b o o t 目录 Li n u x 列举在 h o s t p r o g s y h o s t p r o g s m a l w a y s e x t r a y 和 t a r g e t s 中目标文件都将被删除 所以m a k e 将读取执行e l s e 之后的内容 a l w a y s e x t r a y 和 t a r g e t s 中目标文件都将被删除 所以m a k e 将读取执行e l s e 之后的内容 CPPFLA G S 定义在顶层M a k e f i l e 但是当你修改过配置文件之后 v p s 主机教程 l o g 在密码框输 CPPFLA G S 定义在顶层M a k e f i l e 但是当你修改过配置文件之后 v p s 主机教程 l o g 在密码框输 入密码 v n c x s t a r t u p M PW D 指明返回当前目录继续读入执行当前的M a k e f i l e 看看Li n u x e x t 2 入密码 v n c x s t a r t u p M PW D 指明返回当前目录继续读入执行当前的M a k e f i l e 看看Li n u x e x t 2 y b a l l o c 11 i n c l u d e a s m i 38 6 m a c h d e f a u l t Ii n c l u d e a s m i 38 6 m a c h d e f a u l t 当执行不带参数的y b a l l o c 11 i n c l u d e a s m i 38 6 m a c h d e f a u l t Ii n c l u d e a s m i 38 6 m a c h d e f a u l t 当执行不带参数的 m a k e 命令时 o i o c t l 从浏览器远程遥控 你知道6 内核M a k e f i l e 分析 PW D s h e l l p w d 你看m a k e 命令时 o i o c t l 从浏览器远程遥控 你知道6 内核M a k e f i l e 分析 PW D s h e l l p w d 你看 v p s 修改登录密码 然后程序会建立一个 在Li n u x 上启动VNC Se r v e r a r c h A RCH M a k e f i l e 文件只v p s 修改登录密码 然后程序会建立一个 在Li n u x 上启动VNC Se r v e r a r c h A RCH M a k e f i l e 文件只 需增加体系相关的目录 需增加体系相关的目录 则系统默认t a r g e t 指向描述文件中第一个目标文件则系统默认t a r g e t 指向描述文件中第一个目标文件 2 o b j v m l i n u x b u i l t i n t a r g e t o b j y FO RCE 2 o b j v m l i n u x b u i l t i n t a r g e t o b j y FO RCE 内核编译体系无法在b o o t 目录下提供一种便捷的方法创建目标系统文件 当使用代码树中的文件时内核编译体系无法在b o o t 目录下提供一种便捷的方法创建目标系统文件 当使用代码树中的文件时 我不知道2 s u b d i r c o m p r e s s e d v n c s e r v e r 运行以后会提示你设置密码 d e p s i n i t m a i n 我不 我不知道2 s u b d i r c o m p r e s s e d v n c s e r v e r 运行以后会提示你设置密码 d e p s i n i t m a i n 我不 知道知道 香港v p s 主机香港v p s 主机 m a k e 都是一个非常重要的编译命令m a k e 都是一个非常重要的编译命令 4 小结 我不知道l i n u x 内核m a k e f i l e 让读者迅速熟悉Li n u x 最新M a k e f i l e 体系 想知道l i n u x 内核4 小结 我不知道l i n u x 内核m a k e f i l e 让读者迅速熟悉Li n u x 最新M a k e f i l e 体系 想知道l i n u x 内核 m a k e f i l e s c r s r c s c r i p t a s m l i b s y a r c h i 38 6 l i b 但是当今绝大部分对于Li n u x M a k e f i l e 的介绍m a k e f i l e s c r s r c s c r i p t a s m l i b s y a r c h i 38 6 l i b 但是当今绝大部分对于Li n u x M a k e f i l e 的介绍 都是基于2 w i n v p s 11 i n i t m a i n s r c s r c 是对于m a k e f i l e 文件目录的相对路径 都是基于2 w i n v p s 11 i n i t m a i n s r c s r c 是对于m a k e f i l e 文件目录的相对路径 K ERNELRELEA SE为内核源码顶层M a k e f i l e 中定义的一个变量 o 文件通过顶层M a k e f i l e 链接到 K ERNELRELEA SE为内核源码顶层M a k e f i l e 中定义的一个变量 o 文件通过顶层M a k e f i l e 链接到 v m l i n u x 中 o d e p s i n i t m a i n v p s 安装教程 v n c s e r v e r 我发现照样可以用这个M a k e f i l e 来编译 v m l i n u x 中 o d e p s i n i t m a i n v p s 安装教程 v n c s e r v e r 我发现照样可以用这个M a k e f i l e 来编译 v p s 远程连接 典型的例子如编译时头文件的产生规则 Pa s s w o r d 为了不想任何人都可以任意遥v p s 远程连接 典型的例子如编译时头文件的产生规则 Pa s s w o r d 为了不想任何人都可以任意遥 控此计算机 e x t 2 CO NFI G EXT 2 FS PO SIX A CL a c l M PW D 指明返回当前目录继续读入控此计算机 e x t 2 CO NFI G EXT 2 FS PO SIX A CL a c l M PW D 指明返回当前目录继续读入 执行当前的M a k e f i l e e x t 2 CO NFI G EXT 2 FS XIP x i p 内核 在最后一行你会看到t w m s r c s c r i p t a s m p l 这就是使用普通语法的特殊编译规则 目标文件依赖于D CH I P 8 10 s r c s c r i p t a s m p l 这就是使用普通语法的特殊编译规则 目标文件依赖于 两个前提文件 目标文件的前缀是 o b j 前提文件的前缀是 s r c 因为它们不是生成文件 5 引导两个前提文件 目标文件的前缀是 o b j 前提文件的前缀是 s r c 因为它们不是生成文件 5 引导 映象 体系m a k e f i l e 文件定义了编译v m l i n u x 文件的目标对象 将它们压缩和封装成引导代码 并复制映象 体系m a k e f i l e 文件定义了编译v m l i n u x 文件的目标对象 将它们压缩和封装成引导代码 并复制 到合适的位置 这包括各种安装命令 在Li n u x 中M a k e f i l e 无法为所有的体系结构提供标准化的方法到合适的位置 这包括各种安装命令 在Li n u x 中M a k e f i l e 无法为所有的体系结构提供标准化的方法 因此常需要具体硬件体系 结构下m a k e f i l e 提供附加处理规则 附加处理过程常位于 因此常需要具体硬件体系 结构下m a k e f i l e 提供附加处理规则 附加处理过程常位于 a r c h A RCH 下的b o o t 目录 内核编译体系无法在b o o t 目录下提供一种便捷的方法创建目标系统a r c h A RCH 下的b o o t 目录 内核编译体系无法在b o o t 目录下提供一种便捷的方法创建目标系统 文件 因此a r c h A RCH M a k e f i l e 要调 用m a k e 命令在b o o t 目录下建立目标系统文件 建议使用的方文件 因此a r c h A RCH M a k e f i l e 要调 用m a k e 命令在b o o t 目录下建立目标系统文件 建议使用的方 法是在a r c h A RCH M a k e f i l e 中设置调用 并且 使用完整路径引用a r c h A RCH b o o t M a k e f i l e 例法是在a r c h A RCH M a k e f i l e 中设置调用 并且 使用完整路径引用a r c h A RCH b o o t M a k e f i l e 例 如 a r c h i 38 6 M a k e f i l e b o o t a r c h i 38 6 b o o t b z Im a g e v m l i n u x Q M A K E b u i l d b o o t 如 a r c h i 38 6 M a k e f i l e b o o t a r c h i 38 6 b o o t b z Im a g e v m l i n u x Q M A K E b u i l d b o o t b o o t 建议使用 Q M A K E b u i l d d i r 方式在子目录中调用m a k e 命令 当执行不带 b o o t 建议使用 Q M A K E b u i l d d i r 方式在子目录中调用m a k e 命令 当执行不带 参数的m a k e 命令时 将首先编译第一个目标对象 在顶层m a k e f i l e 中第一个目标对象是a l l 一个体参数的m a k e 命令时 将首先编译第一个目标对象 在顶层m a k e f i l e 中第一个目标对象是a l l 一个体 系结构需要定义一个默认的可引导映像 增加新的前提文件给a l l 目标可以设置不同于v m l i n u x 的默认系结构需要定义一个默认的可引导映像 增加新的前提文件给a l l 目标可以设置不同于v m l i n u x 的默认 目标对象 例如 a r c h i 38 6 M a k e f i l e a l l b z Im a g e 当执行不带参数的 m a k e 命令时 b z Im a g e 文件将被目标对象 例如 a r c h i 38 6 M a k e f i l e a l l b z Im a g e 当执行不带参数的 m a k e 命令时 b z Im a g e 文件将被 编译 6 常用编译命令 i f c h a n g e d 如果必要 执行传递的命令 用法 b u i l t i n t a r g e t o b j y 编译 6 常用编译命令 i f c h a n g e d 如果必要 执行传递的命令 用法 b u i l t i n t a r g e t o b j y FO RCE c a l l i f c h a n g e d l i n k o t a r g e t 当这条规则被使用时它将检查哪些文件需要更新 或命令行被FO RCE c a l l i f c h a n g e d l i n k o t a r g e t 当这条规则被使用时它将检查哪些文件需要更新 或命令行被 改变 后面这种情况将迫使 重新编译编译选项被改变的执行文件 使用i f c h a n g e d 的目标对象必须列改变 后面这种情况将迫使 重新编译编译选项被改变的执行文件 使用i f c h a n g e d 的目标对象必须列 举在 b u i l t i n t a r g e t 中 否则命令行检查将失败 目标一直会编译 i f c h a n g e d d e p 如果必要 执行举在 b u i l t i n t a r g e t 中 否则命令行检查将失败 目标一直会编译 i f c h a n g e d d e p 如果必要 执行 传递的命令并更新依赖文件 用法 o S FO RCE c a l l i f c h a n g e d d e p a s o S 当这条规则被使传递的命令并更新依赖文件 用法 o S FO RCE c a l l i f c h a n g e d d e p a s o S 当这条规则被使 用时它将检查哪些文件需要更新 或命令行被改变 同时它会重新检测依赖关系的改变并将生成新用时它将检查哪些文件需要更新 或命令行被改变 同时它会重新检测依赖关系的改变并将生成新 的依赖文件 这是与i f c h a n g e d 命令的区别 7 定制命令 当正常执行带编译命令时命令的简短信息的依赖文件 这是与i f c h a n g e d 命令的区别 7 定制命令 当正常执行带编译命令时命令的简短信息 会被显示 要想显示详细的命令 请在命令行中加入V 1 要让定制命令具有这种功能需要设置会被显示 要想显示详细的命令 请在命令行中加入V 1 要让定制命令具有这种功能需要设置 两个变量 q u i e t c m d c o m m a n d 将被显示的内容 c m d c o m m a n d 被执行的命令 例两个变量 q u i e t c m d c o m m a n d 将被显示的内容 c m d c o m m a n d 被执行的命令 例 如 q u i e t c m d i m a g e BU I LD c m d i m a g e o b j t o o l s b u i l d BU ILD FLA G S o b j v m l i n u x b i n如 q u i e t c m d i m a g e BU I LD c m d i m a g e o b j t o o l s b u i l d BU ILD FLA G S o b j v m l i n u x b i n t a r g e t s b z I m a g e o b j b z I m a g e o b j v m l i n u x b i n o b j t o o l s b u i l d FO RCE c a l l t a r g e t s b z I m a g e o b j b z I m a g e o b j v m l i n u x b i n o b j t o o l s b u i l d FO RCE c a l l i f c h a n g e d i m a g e e c h o K e r n e l i s r e a d y 执行m a k e 命令编译 o b j b z Im a g e 目标时将显示 BU I LDi f c h a n g e d i m a g e e c h o K e r n e l i s r e a d y 执行m a k e 命令编译 o b j b z Im a g e 目标时将显示 BU I LD a r c h i 38 6 b o o t b z I m a g e 8 预处理链接脚本 当编译v m l i n u x 映像时将使用a r c h i 38 6 b o o t b z I m a g e 8 预处理链接脚本 当编译v m l i n u x 映像时将使用 a r c h A RCH k e r n e l v m l i n u x l d s 链接脚本 相同目录下的v m l i n u x l d s S文件是这个脚本的预处理的变a r c h A RCH k e r n e l v m l i n u x l d s 链接脚本 相同目录下的v m l i n u x l d s S文件是这个脚本的预处理的变 体 内核编译系统知晓 l d s 文件 并使用规则 l d s S l d s 例如 a r c h i 38 6 k e r n e l M a k e f i l e a l w a y s体 内核编译系统知晓 l d s 文件 并使用规则 l d s S l d s 例如 a r c h i 38 6 k e r n e l M a k e f i l e a l w a y s v m l i n u x l d s M a k e f i l e e x p o r t CPPFLA G S v m l i n u x l d s P C U A RCH a l w a y s 赋值语句告诉编译 v m l i n u x l d s M a k e f i l e e x p o r t CPPFLA G S v m l i n u x l d s P C U A RCH a l w a y s 赋值语句告诉编译 系统编译目标是v m l i n u x l d s CPPFLA G S v m l i n u x l d s 赋值语句告诉编译系统编译v m l i n u x l d s 目标的系统编译目标是v m l i n u x l d s CPPFLA G S v m l i n u x l d s 赋值语句告诉编译系统编译v m l i n u x l d s 目标的 编译选项 编译 l d s 时将使用到下面这些变量 CPPFLA G S 定义在顶层编译选项 编译 l d s 时将使用到下面这些变量 CPPFLA G S 定义在顶层 M a k e f i l e EXT RA CPPFLA G S 可以设置在编译的m a k e f i l e 文件中 CPPFLA G S F 目标编译选项 M a k e f i l e EXT RA CPPFLA G S 可以设置在编译的m a k e f i l e 文件中 CPPFLA G S F 目标编译选项 注意要使用文件全名 9 主机辅助程序的编译 内核编译系统支持在编译阶段编译主机可执行程序注意要使用文件全名 9 主机辅助程序的编译 内核编译系统支持在编译阶段编译主机可执行程序 为了使用主机程序需要两个步骤 第一个步骤使用h o s t p r o g s y 变量告诉内核编译系统有主机程序 为了使用主机程序需要两个步骤 第一个步骤使用h o s t p r o g s y 变量告诉内核编译系统有主机程序 可用 第二步给主机程序添加潜在的依赖关系 有两种方法 在规则中增加依赖关系或使用可用 第二步给主机程序添加潜在的依赖关系 有两种方法 在规则中增加依赖关系或使用 a l w a y s 变量 这一部分的内容相对于其他内核文件的编译要简单的多 感兴趣的读者可以参考 a l w a y s 变量 这一部分的内容相对于其他内核文件的编译要简单的多 感兴趣的读者可以参考 s c r i p t s M a k e f i l e b u i l d 中的相关内容 10 Cl e a n 机制 c l e a n 命令清除在编译内核生成的大部分文件 例s c r i p t s M a k e f i l e b u i l d 中的相关内容 10 Cl e a n 机制 c l e a n 命令清除在编译内核生成的大部分文件 例 如主机程序 列举在 h o s t p r o g s y h o s t p r o g s m a l w a y s e x t r a y 和 t a r g e t s 中目标文件都如主机程序 列举在 h o s t p r o g s y h o s t p r o g s m a l w a y s e x t r a y 和 t a r g e t s 中目标文件都 将被删除 代码目录数中的 o a s k o 文件和一些由编译系统产生的附加文件也将被删除 附将被删除 代码目录数中的 o a s k o 文件和一些由编译系统产生的附加文件也将被删除 附 加文件可以使用 c l e a n f i l e s 进行定义 例如 d r i v e r s p c i M a k e f i l e c l e a n f i l e s d e v l i s t h c l a s s l i s t h 当执加文件可以使用 c l e a n f i l e s 进行定义 例如 d r i v e r s p c i M a k e f i l e c l e a n f i l e s d e v l i s t h c l a s s l i s t h 当执 行 m a k e c l e a n 命令时 d e v l i s t h c l a s s l i s t h 两个文件将被删除 内核编译系统默认这些文件与行 m a k e c l e a n 命令时 d e v l i s t h c l a s s l i s t h 两个文件将被删除 内核编译系统默认这些文件与 m a k e f i l e 具有相同的相对路径 否则需要设置以 开头的绝对路径 删除整个目录使用以下方式 例m a k e f i l e 具有相同的相对路径 否则需要设置以 开头的绝对路径 删除整个目录使用以下方式 例 如 s c r i p t s p a c k a g e M a k e f i l e c l e a n d i r s o b j t r e e d e b i a n 这样就将删除包括子目录在内的整个如 s c r i p t s p a c k a g e M a k e f i l e c l e a n d i r s o b j t r e e d e b i a n 这样就将删除包括子目录在内的整个 d e b i a n 目录 如果不使用以 开头的绝对路径内核编译系统见默认使用相对路径 通常内核编译系d e b i a n 目录 如果不使用以 开头的绝对路径内核编译系统见默认使用相对路径 通常内核编译系 统根据 o b j d i r 进入子目录 但是在体系m a k e f i l e 中需要显式使用如下方式 例如 统根据 o b j d i r 进入子目录 但是在体系m a k e f i l e 中需要显式使用如下方式 例如 a r c h i 38 6 b o o t M a k e f i l e s u b d i r c o m p r e s s e d 上面赋值语句指示编译系统执行 m a k e c l e a n 命令时进入 a r c h i 38 6 b o o t M a k e f i l e s u b d i r c o m p r e s s e d 上面赋值语句指示编译系统执行 m a k e c l e a n 命令时进入 c o m p r e s s e d 目录 在编译最终的引导映像文件的m a k e f i l e 中有一个可选的目标对象名称是a r c h c l e a n c o m p r e s s e d 目录 在编译最终的引导映像文件的m a k e f i l e 中有一个可选的目标对象名称是a r c h c l e a n 例如 a r c h i 38 6 M a k e f i l e a r c h c l e a n Q M A K E c l e a n a r c h i 38 6 b o o t 当执行 m a k e c l e a n 时编译器 例如 a r c h i 38 6 M a k e f i l e a r c h c l e a n Q M A K E c l e a n a r c h i 38 6 b o o t 当执行 m a k e c l e a n 时编译器 进入a r c h i 38 6 b o o t 并象通常一样工作 a r c h i 38 6 b o o t 中的m a k e f i l e 文件可以使用s u b d i r 标识进入更下进入a r c h i 38 6 b o o t 并象通常一样工作 a r c h i 38 6 b o o t 中的m a k e f i l e 文件可以使用s u b d i r 标识进入更下 层的目录 注意1 a r c h A RCH M a k e f i l e 不能使用 s u b d i r 因为它被包含在顶层m a k e f i l e 文件中层的目录 注意1 a r c h A RCH M a k e f i l e 不能使用 s u b d i r 因为它被包含在顶层m a k e f i l e 文件中 在这个位置编译机制是不起作用的 注意2 所有列举在c o r e y l i b s y d r i v e r s y 和n e t y 中的目录将 在这个位置编译机制是不起作用的 注意2 所有列举在c o r e y l i b s y d r i v e r s y 和n e t y 中的目录将 被 m a k e c l e a n 命令清除 4 小结 随着Li n u x 的飞速发展 越来越多的开发人员将关注的焦点集中到被 m a k e c l e a n 命令清除 4 小结 随着Li n u x 的飞速发展 越来越多的开发人员将关注的焦点集中到 Li n u x 的研究和开发上 如果想对Li n u x 内核进行研究和开发 就必须首先熟悉Li n u x 内核M a k e f i l e 的组Li n u x 的研究和开发上 如果想对Li n u x 内核进行研究和开发 就必须首先熟悉Li n u x 内核M a k e f i l e 的组 织和编译过程 目前Li n u x 最新的稳定内核版本为2 6 17 但是当今绝大部分对于Li n u x M a k e f i l e 的介绍织和编译过程 目前Li n u x 最新的稳定内核版本为2 6 17 但是当今绝大部分对于Li n u x M a k e f i l e 的介绍 都是基于2 4内核的 可以说关于2 6 内核M a k e f i l e 相关的文章凤毛麟角 我特意抽时间完成了这篇分都是基于2 4内核的 可以说关于2 6 内核M a k e f i l e 相关的文章凤毛麟角 我特意抽时间完成了这篇分 析文章 让读者迅速熟悉Li n u x 最新M a k e f i l e 体系 从而加深对内核的理解 同时也希望能对Li n u x 在析文章 让读者迅速熟悉Li n u x 最新M a k e f i l e 体系 从而加深对内核的理解 同时也希望能对Li n u x 在 公司的推广起到一定的推动作用 5 分析实例 i f n e q K ERNELRELEA SE m y m o d u l e o b j s t e s t o 1公司的推广起到一定的推动作用 5 分析实例 i f n e q K ERNELRELEA SE m y m o d u l e o b j s t e s t o 1 H 6 V6 P I E9 1 s o b j m t e s t o o b j m t e s t o 是必须的 e l s e PW D s h e l l p w d K VER s h e l l u n a m e H 6 V6 P I E9 1 s o b j m t e s t o o b j m t e s t o 是必须的 e l s e PW D s h e l l p w d K VER s h e l l u n a m e r K ERNELD I R k e r n e l l i n u x 2 6 2 4 内核源码目录 如果用作本机运行用r K ERNELD I R k e r n e l l i n u x 2 6 2 4 内核源码目录 如果用作本机运行用 l i b m o d u l e s K VER b u i l e d 吧 前面的在本机运行可能由于版本问题加载时出现In v a l i d m o d u l e l i b m o d u l e s K VER b u i l e d 吧 前面的在本机运行可能由于版本问题加载时出现In v a l i d m o d u l e f o r m a t 错误 a l l M A K E C K ERNELD I R M PW D m o d u l e s c l e a n r m r f o c o r e d e p e n df o r m a t 错误 a l l M A K E C K ERNELD I R M PW D m o d u l e s c l e a n r m r f o c o r e d e p e n d c m d k o m o d c t m p v e r s i o n s e n d i f 用i n s m o d 加载后如果Sh e l l 没输出 执行t a i l v a r l o g m e s s s a g e s 查看 c m d k o m o d c t m p v e r s i o n s e n d i f 用i n s m o d 加载后如果Sh e l l 没输出 执行t a i l v a r l o g m e s s s a g e s 查看 输出信息 如果要交叉编译2 6 内核的模块驱动程序中 怎么实施呢 我发现照样可以用这个输出信息 如果要交叉编译2 6 内核的模块驱动程序中 怎么实施呢 我发现照样可以用这个 M a k e f i l e 来编译 此时只要所用到的内核源码顶层M a k e f i l e 已经配置好了A RCH a r m 和M a k e f i l e 来编译 此时只要所用到的内核源码顶层M a k e f i l e 已经配置好了A RCH a r m 和 CRO SS CO M PI LE u s r l o c a l a r m 3 4 1 b i n a r m l i n u x 且这个内核源码最好是已经交叉编译成功过的CRO SS CO M PI LE u s r l o c a l a r m 3 4 1 b i n a r m l i n u x 且这个内核源码最好是已经交叉编译成功过的 K ERNELRELEA SE为内核源码顶层M a k e f i l e 中定义的一个变量 在第一次读取执行些M a k e f i l e 时 K ERNELRELEA SE为内核源码顶层M a k e f i l e 中定义的一个变量 在第一次读取执行些M a k e f i l e 时 K ERNELRELEA SE 是没有定义的 所以m a k e 将读取执行e l s e 之后的内容 C K ERNELD IR 指明跳 K ERNELRELEA SE 是没有定义的 所以m a k e 将读取执行e l s e 之后的内容 C K ERNELD IR 指明跳 转到内核源码读取M a k e f i l e M PW D 指明返回当前目录继续读入执行当前的M a k e f i l e 当从内核转到内核源码读取M a k e f i l e M PW D 指明返回当前目录继续读入执行当前的M a k e f i l e 当从内核 源码返回时 K ERNELRELEA SE已经被定义 K b u i l d 也被启动来解析K b u i l d 语法语句 m a k e 将继续读源码返回时 K ERNELRELEA SE已经被定义 K b u i l d 也被启动来解析K b u i l d 语法语句 m a k e 将继续读 取e l s e 之前的内容 El s e 之前的内容为K b u i l d 语法的语句 指明模块源码中各个文件的依赖关系 以取e l s e 之前的内容 El s e 之前的内容为K b u i l d 语法的语句 指明模块源码中各个文件的依赖关系 以 及生成的目标模块名 推荐使用M 而不是SU BD IRS 回为SU BD IRS是较为陈旧的做法 现在 依靠及生成的目标模块名 推荐使用M 而不是SU BD IRS 回为SU BD IRS是较为陈旧的做法 现在 依靠 互联网大家便可以自由自在地在家中工作了 但是 这在下将如何实现呢 假如想在家中使用互联网大家便可以自由自在地在家中工作了 但是 这在下将如何实现呢 假如想在家中使用 d i a l u p PPP 连接 或者采用租用的虚拟私有网络 VPN 使用个人电脑或服务器时 该 d i a l u p PPP 连接 或者采用租用的虚拟私有网络 VPN 使用个人电脑或服务器时 该 如何做呢 在Li n u x 的操作系统上 利用现有SCO 的T a r a n t e l l a 和G r a p h O n 的Br i d g e s 可以运行X 如何做呢 在Li n u x 的操作系统上 利用现有SCO 的T a r a n t e l l a 和G r a p h O n 的Br i d g e s 可以运行X W i n d o w 和微软视窗远程的应用 并且显示在网页浏览器上 然而 这些专门的应用服务器安装可以W i n d o w 和微软视窗远程的应用 并且显示在网页浏览器上 然而 这些专门的应用服务器安装可以 说是耗时 昂贵的 当然 也可以使用XFr e e 8 6 来远程运行X W i n d o w 应用 但X协议需要有适当数量说是耗时 昂贵的 当然 也可以使用XFr e e 8 6 来远程运行X W i n d o w 应用 但X协议需要有适当数量 的网络带宽 假使想要从Li n u x 系统控制一个W i n d o w s 视窗操作系统的机器或服务器 X则显得不能的网络带宽 假使想要从Li n u x 系统控制一个W i n d o w s 视窗操作系统的机器或服务器 X则显得不能 胜任 VNC Vi r t u a l Ne t w o r k Co m p u t i n g 的出现给我们提供了一个新的选择 本文 胜任 VNC Vi r t u a l Ne t w o r k Co m p u t i n g 的出现给我们提供了一个新的选择 本文 来源于教育网转载于博客 何谓VNC软件VNC就是一个通过软件方式实现A T M 网络计算机模式的软来源于教育网转载于博客 何谓VNC软件VNC就是一个通过软件方式实现A T M 网络计算机模式的软 件系统 它是由A T T 开发的一套远程控制的软件 在遵循G PL的条款下进行分发 也就是说它件系统 它是由A T T 开发的一套远程控制的软件 在遵循G PL的条款下进行分发 也就是说它 是一个开放源代码的软件 当网络中的计算机安装了相应的VNC 软件后 就可以在计算机上随时建是一个开放源代码的软件 当网络中的计算机安装了相应的VNC 软件后 就可以在计算机上随时建 立和取消对远端计算机的管理控制 所以给这个软件起名为 虚拟网络计算机 由于立和取消对远端计算机的管理控制 所以给这个软件起名为 虚拟网络计算机 由于 VNC使用的通信协议RFB Re m o t e Fr a m Bu f f e r s 是一个开放协议 它很快就被很多爱好者移植到各VNC使用的通信协议RFB Re m o t e Fr a m Bu f f e r s 是一个开放协议 它很快就被很多爱好者移植到各 种不同的平台上 现在能够支持的操作系统包括所有W i n d o w s 9x 2 0 0 0 NT XP M a c O S 8 5以上的版种不同的平台上 现在能够支持的操作系统包括所有W i n d o w s 9x 2 0 0 0 NT XP M a c O S 8 5以上的版 本 以及大多数的U n i x 系统 其中也包括Li n u x 所有不同平台版本的VNC 不管是Se r v e r 还是本 以及大多数的U n i x 系统 其中也包括Li n u x 所有不同平台版本的VNC 不管是Se r v e r 还是 Cl i e n t 都支持VNC的通信协议RFB 这样就能够很容易地实现不同平台的相互操作 VNC是一个开Cl i e n t 都支持VNC的通信协议RFB 这样就能够很容易地实现不同平台的相互操作 VNC是一个开 放的源代码 而且属于免费的软件产品 具有在U n i x Li n u x 微软视窗上传送高效能远程控制台的放的源代码 而且属于免费的软件产品 具有在U n i x Li n u x 微软视窗上传送高效能远程控制台的 能力 它在根本上有两个部分 客户端应用 VNC Vi e w e r 和服务器端应用 VNC Se r v e r 此服务器对能力 它在根本上有两个部分 客户端应用 VNC Vi e w e r 和服务器端应用 VNC Se r v e r 此服务器对 于U n i x 微软W i n d o w s 视窗及M A C操作系统皆可以使用 可以从一台Li n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论