标签: kernel

鉴于 vmlinuz 和 initrd.gz,我如何找出内核将从哪里加载 /(根)文件系统?

我正在尝试各种 Linux 安装方式(从 iso、flash、iso on flash、kernel on flash、root FS in iso-file on flash...)并想了解发生了什么。

我的问题是:是否有可能,根据发行版(vmlinuz 和 initrd)中构建的内核和 ramfs 文件,找出他们将在哪里寻找“/”文件系统?是否可以在不重新编译内核的情况下进行配置?

还有一个:当内核从环回设备加载根文件系统时,从 .iso-filesystem 创建,我该如何配置这个过程?谢谢!

编辑: 实际上,GRUB 配置包含 GRUB 根目录,它不是真正的内核根文件系统位置,而只是一个包含 GRUB 物品的文件夹。

真正的根是在init脚本中配置的,initrdhere所述。

这就是 Debian 内核如何在硬盘驱动器上找到 ISO 文件,从它启动时 - initramfs 找到它:http : //www.debian.org/releases/stable/i386/apas02.html.en#howto-getting-images-hard -磁盘; 请注意,GRUB 配置不包含对 ISO location 的任何引用

linux boot kernel initramfs root-filesystem

3
推荐指数
1
解决办法
2万
查看次数

为什么内核挂载文件系统后需要rcS?

我使用嵌入式 Linux,我在没有 initramfs 的情况下编译了内核,内核启动正常。但它显示我rcS没有找到文件我已经把它放进去/etc/init.d/rcS,我的rcS文件看起来像

#!/bin/sh
echo "Hello world"
Run Code Online (Sandbox Code Playgroud)

内核挂载文件系统后,它会打印Hello world.

任何人都可以告诉/解释为什么需要这个文件以及我如何按特定顺序启动这些启动脚本?

我正在使用带有 busybox 的 Raspberry Pi,它工作正常,但我在启动时卡住了。

kernel sysvinit raspberry-pi rc

3
推荐指数
1
解决办法
1万
查看次数

如何检查我的发行版内核中是否启用了数据包套接字支持?

如何检查数据包套接字支持是否已编译到我的内核中?我正在运行 Crunchbang,一个基于 Debian 的发行版。

kernel debian ethernet linux-kernel packet

3
推荐指数
1
解决办法
3646
查看次数

在 Linux 内核中启用 UTS 命名空间

配置Linux内核时,启用UTS命名空间有哪些优缺点?如果 UTS 命名空间被禁用,新系统会受到损害吗?

kernel development configuration linux-kernel

3
推荐指数
1
解决办法
2365
查看次数

在虚拟机中启动我的内核?

我现在正在学习如何编译和启动 linux 内核。有没有办法在虚拟机中引导内核,而不是弄乱我的系统?我在 Windows 8 上使用 VMWare Workstation。我可以用它来启动我的 linux 内核吗?

linux kernel virtual-machine vmware linux-kernel

3
推荐指数
1
解决办法
9512
查看次数

“未知分区表” - 错误配置的内核

我正在为新安装的机器编译自定义 linux 内核,在启动到新内核 (3.12) 后,init 进程找不到根设备,我追踪到系统unknown partition table在相关设备上出现错误 ( /dev/sda) . 通用内核启动并挂载根分区就好了。我似乎在内核配置中找不到任何看起来相关的东西,它可能缺少什么?

linux partition kernel ext4 grub2

3
推荐指数
1
解决办法
4234
查看次数

除了“cd”之外,没有任何 linux 程序可以工作

在提出问题之前,这是我在问题开始之前所做和观察到的:

  1. 在 Fedora 18 Xfce 上,我尝试使用 cdv 驱动程序编译 3.6.10 内核,
  2. 经过多次尝试,它终于编译没有错误,所以我继续使用make modules_install, 和make install
  3. 然后我不得不从几个 tarball 安装几个二进制文件。直到这一刻,一切似乎都很好。我可以使用firefoxvi在终端yumrpm等命令。
  4. 我从几个 tarball 中安装了二进制文件,tar xvf并将这些 tarball 中的一些文件移动到/usr, /usr/lib. 即使在这一点之后,我仍然记得使用viand rpm
  5. 于是最后我安装使用相同的最后一个压缩包tar xvf,并将其传输一些文件到/lib/lib/firmware等等。

在上面的第 5 步之后,没有做任何其他事情,我只是尝试使用vi命令打开一个文件并出现以下错误:

bash: /usr/bin/vi /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我尝试打开 Firefox 寻求解决方案,但它没有打开。从终端发出更多命令,但所有命令都给出了类似的错误。我检查了几个建议安装 glibc 的解决方案,但既不yum工作也不rpm. 可能出了什么问题?当除了 …

fedora kernel libraries glibc

3
推荐指数
2
解决办法
164
查看次数

通过不同选项的 menuconfig 结果保存内核配置文件?

我正在尝试使用不同的内核配置文件,并希望记录我使用过的内核配置文件。

这是情况:

  • 有一个名为my_config我想用作模板的配置文件
  • 我这样做make menuconfig,加载my_config不做任何更改并另存为.config.
  • 当我这样做时diff .config my_config,文件中存在差异

为什么旧文件和新文件之间会有差异?

linux compiling kernel configuration

3
推荐指数
1
解决办法
5193
查看次数

如何在 Fedora 上获得按需调节器

在Ubuntu 13.10在我的(双酷睿i5联想G570)的笔记本电脑,我最近发现的奇迹indicator-cpufreq,这样我就可以通过设置它极大地延长我的电池寿命“按需”或“节电”州长-这是菜单,它显示:

                                                      指标 cpufreq 菜单

我想知道我是否可以在我的笔记本电脑 Fedora 20 上的另一半双启动中实现这一点。但是,在查看此文档并安装kernel-tools软件包后,当我运行命令以列出可用模式时。

在 Fedora 上我得到:

wilf@whm1:~$ cpupower frequency-info --governors
analyzing CPU 0:
powersave performance
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 上我得到:

wilf@whm2:~$ cpupower frequency-info --governors
analyzing CPU 0:
conservative ondemand userspace powersave performance
Run Code Online (Sandbox Code Playgroud)

那么我可以在 Fedora 中获得conservative, ondemand, &userspace模式吗?
主要是ondemand一个


Fedora 系统信息

核心

Linux whm1 3.12.10-300.fc20.i686+PAE #1 SMP Thu Feb 6 22:31:13 UTC 2014 i686 i686 i386 GNU/Linux

版本
Fedora release 20 (Heisenbug)
Kernel …
Run Code Online (Sandbox Code Playgroud)

kernel power-management cpu-frequency

3
推荐指数
1
解决办法
6003
查看次数

将 jvm 移植到内核空间?

目前我正在考虑在内核空间中运行 jvm 作为(也许是 linux)内核模块的想法。我看到了这个想法的很多优点。

当然,这种系统的最大优点是内核空间开发的主要简化。但它的发生是因为不同的方面:

1)每个具有相对次要低级知识的Java开发人员都能够开发内核模块。是的,这肯定不是一个很好的可能性:-),特别是如果我们看到大多数开源 Java 用户空间项目的当前代码质量,但是......在内核空间中也没有必要发生同样的事情。

2)(也是真正的目标):JVM可以解决内核开发最大的问题,就是内存保护的缺失。如果没有其他问题(fe jit 编译器错误或低级硬件问题),从 java 编译的二进制代码段从未对超出其范围的数据结构造成任何损害,尽管此类二进制代码的运行时安全检查导致了速度上的可衡量缺陷。

首先,它也不需要是一个 java 字节码解释器。JIT(即时编译器)可以存在于系统用户空间中,仅映射内核空间中已编译的二进制文件(实际上:内核模块)。只有命名空间管理器和垃圾收集器需要在内核空间中运行。

其次,它不需要大、慢和可怕。这是因为在用户空间 jvms 的情况下使用大的、无效的库,并且在例如用 java 编写的驱动程序的情况下没有相同的理由。

我能看到的唯一后备是实时功能。当然,用 java 来做要困难得多,因为我们对内存管理的次要细节的控制要少得多。

我很好奇,如果这样的项目已经存在(?#1),并且如果没有(?#2),是否有任何明显的主要回退。

linux kernel java

3
推荐指数
1
解决办法
2951
查看次数