ramdisk的问题
时间:2008-06-13
来源:互联网
那这个脚本里面写#!/bin/bash,
内核是不是就执行/bin/bash,同时把 /init 作为参数传给bash呀?
资料上说内核会在/ /bin /sbin等文件夹下寻找init文件,并试图执行它,
但我把init放入/bin下,不能执行。
放在/下,是可以的
我用的fedora7, 2.6.23.15的内核
我已经用bash把nash替换了
有人点醒一下可以吗?
作者: xy_god 发布时间: 2008-06-13
楼主可说说搞这个 ramdisk 的意图吗?
作者: d00m3d 发布时间: 2008-07-05
作者: alex_chen_028 发布时间: 2008-07-11
内核建立第一个进程之后,如果init是一个脚本, 那这个脚本里面写#!/bin/bash, 内核是不是就执行/bin/bash,同时把 /init 作为参数传给bash呀? |
系统在启动的最后一步只是执行 /sbin/init,但这个 init 到底干什么,它不管,内核只需要有一个行了,所以你可以用一个其它的程序或者脚本把原来的 /sbin/init 替换掉,理论都是可以的,但貌似没人会那么做。
另外,你还可以在启动的时候用
init= 你要运行的程序
来测试一下
作者: panly 发布时间: 2008-07-18
作者: takethat 发布时间: 2008-07-18
作者: takethat
使用ramdisk的话是会执行/init的,正常启动的话就会找/bin 和 /sbin下的init或sh。
|
我没有用 ramdisk 测试过,但 nfs 试过,确实是先找 init,找不到的时候再找 sh,在最近的一本 《Embedded Linux Primer》(英文版 Christopher Hallinan 著 人民邮电出版社 中文名《嵌入式 Linux 开发》)的第 11 章里面有介绍,举了一个最小嵌入式 Linux 的例子,先是以 init 方式启动,找不到 init 时会启动 sh,在另外一本《Building embedded Linux Systems》(中文名《构建嵌入式Linux 系统》 Karim Yaghmour 著 O'Reilly 出版)上面的第 6 章也有介绍。
作者: panly 发布时间: 2008-07-18
在kernel 2.6的参数中如果有initrd=XXXX, 并且initrd是cpio格式的话, 那么启动的时候内核只会运行ramdisk的/init. 这是写死在内核里面的.
作者: kevinlei 发布时间: 2008-07-20
实在有点不解,为什麽硬要使用 ramdisk 这玩意?
作者: d00m3d 发布时间: 2008-07-23
因此把这些模块编译成Module, 需要的时候再加载, 这样要合理的多.
问题是, 这些Module, 包括文件系统/硬盘等的驱动, 是存放在硬盘上的. 而要访问硬盘就必须要有这些驱动. 怎么办? 解决办法就是把一些必要的驱动打包成cpio, 由BOOTLOADER把这个cpio给读进内存, 再由内核在内存中把这个cpio解开成一个RAMDISK.
作者: kevinlei 发布时间: 2008-07-26
俺的 LFS 及 Debian 系統從來不用。。。
作者: d00m3d 发布时间: 2008-07-26
作者: vslm698 发布时间: 2008-08-05
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28