我已经阅读了许多关于如何使用这些内核构建自定义内核和启动 Ubuntu 的教程,并成功地遵循了指南并启动了自定义内核,但我不了解指南中的每个命令的作用以及实际发生的情况每个命令。
Ubuntu 网站上描述的过程对fakeroot
, dpkg
, make-kpkg
, 一些 initramfs 和其他可怕的东西做了很多工作,但根本无法帮助我理解发生了什么。
make
linux内核目录中的输出是什么?make modules
?make modules
在之前还是之后make
?make
自动构建我的模块吗?make install
?make install
它添加到我的可引导内核列表中,这样我就不必再做任何事情了吗?make modules_install
吗?我的 Linux 启动经常失败。我已经quiet
从我的启动选项中删除了,所以我可以看到发生了什么。基本上在显示一堆 [pass] 消息后,它挂起。它不会每次都挂起。现在我知道 dmesg 是我可以看到启动消息的方式。
但是我想查看上次启动的启动消息,而不是当前启动的启动消息(因为这个启动正常,而最后一个挂起)。
还有我可以查看的其他日志以找到问题吗?我正在使用 Ubuntu Natty 11.04。我应该使用调试支持重新编译内核吗?这是调试此问题的唯一方法吗?
最后,这就是所谓的内核恐慌(软/硬或什么)?
我有一个运行良好的应用程序,当直接从终端运行时,带有和不带有“&”。但是,如果我尝试从 shell 脚本执行它,则只有在跳过尾随的 '&' 时它才起作用。因此,我无法从 shell 脚本内部在后台启动此进程。
<Path to My application> <options> &
Run Code Online (Sandbox Code Playgroud)
应用程序窗口打开,但之后没有任何进展。
(该应用程序是 qemu 0.13.0 的修改(由我)版本。当我在 shell 脚本的后台运行磁盘映像时,我被黑屏卡住了)
我已经在 ubuntu 11.04 上安装了 xmobar、xmonad。
#!/bin/bash
trayer --edge top --align right --SetDockType true --SetPartialStrut true \
--expand true --width 10 --transparent true --tint 0x191970 --height 12 &
nm-applet --sm-disable &
sleep 3
gnome-power-manager &
xmonad
Run Code Online (Sandbox Code Playgroud)
我把这个放在我的.xsession
档案里。但它似乎没有执行。我相信是因为在 xmonad 启动后我没有在我的进程列表中看到任何应用程序。有什么我想念的吗?
我知道我可以使用 ifconfig 来配置我的以太网网络接口。但是我也可以使用 ifconfig.ini 配置我的无线网络接口吗?(它似乎在 ifconfig 输出中被列为 eth1,这是为什么?)具体来说:
(我正在使用 Ubuntu natty。)
我在 qemu-kvm 上运行 gentoo 来宾操作系统。我只能在其中获得 800x600 的分辨率。我希望能够获得更高的屏幕分辨率。
xrandr
给出以下输出:
xrandr:获取输出默认值的伽马大小也失败
屏幕 0:最小 640x480,当前 800x600,最大 800x600
Xorg -configure
因分段错误而失败:
打开 /dev/fb0: 没有那个文件或目录
地址分段错误 (nil)
我正在为 qemu 和 lspci 显示使用默认的 vga 设置:
VGA 兼容控制器:Cirrus Logic GD 5446
所以我的问题是:
这个帧缓冲区是什么?是否需要执行 Xorg -configure?
有没有其他方法可以提高屏幕分辨率?
如果我想为 ARM 架构构建自定义内核,是否需要:
a) 从 kernel.org 下载内核,对内核进行更改,使用一些交叉编译器(如代码源或其他东西)构建它
b) 从某处找到一个 ARM 特定的内核,找到一些补丁,使用一些 ARM 特定的工具编译它?
可以为 ARM 架构构建任何自定义内核吗?
一般来说,我对内核知之甚少。
ubuntu ×3
arm ×1
boot ×1
command-line ×1
framebuffer ×1
gentoo ×1
kernel ×1
kvm ×1
linux ×1
linux-kernel ×1
logs ×1
make ×1
qemu ×1
session ×1
shell-script ×1
xmonad ×1
xorg ×1