由买买提看人间百态

topics

全部话题 - 话题: initramfs
1 (共1页)
V6
发帖数: 5
1
文档里说,initrd/initramfs的目的是在真正的rootfs没有mount之前,kernel从这个
小型的文件系统里面加载必要的驱动程序,这样方便kernel mount真正的rootfs,继续
引导。那么问题来了:比方说我的台式机,grub的参数里面说明了initramfs的image在
/boot下,而/boot目录本身就被我放在了rootfs里面,没有单独分区,这样说来想要读
取initramfs本身的前提条件就是要mount rootfs,那从我的例子来说,岂不是
initramfs是多次一举?而且,甚至连kernel image vmlinuz本身也都是在rootfs里面
的,这不是说明其实grub自己本身已经知道了该如何mount/read rootfs?
v***r
发帖数: 1046
2
来自主题: Linux版 - ubuntu 开机进入 initramfs,
ubuntu升级成12.04LTS,正常,某次死机,重起后进入initramfs。请教各位高手该怎
么办?
h******e
发帖数: 730
3
似乎这个帖子给出了答案。。
http://forum.doozan.com/read.php?2,11396
其中 okigan Wrote:
uBoot file needs to be created from vmlinuz, which is not happening for what
ever reason.
The following seems to correct the problem:
cd /tmp/debian/usr/bin #adjust based on the location of usb stick mount
point
./mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n
Linux-2.6.32-5-kirkwood -d ../../boot/vmlinuz-2.6.32-5-kirkwood ../../boot/
uImage
./mkimage -A arm -O linux -T ramdisk -C gzip -a 0x0000000... 阅读全帖
z****t
发帖数: 1090
4
下面就是bootchart.postinst的代码 很短啊
#!/bin/sh -e
# This script can be called in the following ways:
#
# After the package was installed:
# configure
#
#
# If prerm fails during upgrade or fails on failed upgrade:
# abort-upgrade
#
# If prerm fails during deconfiguration of a package:
# abort-deconfigure in-favour
# removing
#
# If prerm fails during replacement due to co... 阅读全帖
b*****c
发帖数: 54
5
怎么会没有uImage和uInitrd呢
是自己装的kernel?
uboot需要这俩image才行
cd /boot
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n
Linux-2.6.32 -d vmlinuz-2.6.32-5-kirkwood uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n
initramfs-2.6.32-kirkwood -d initrd.img-2.6.32-5-kirkwood uInitrd
h******e
发帖数: 730
6
折腾好几天,终于安装好了。这里给折腾的同学提个醒!
Jeff的代码有些问题,导致实际并没有安装成功, /boot中并没有可以启动的img文件
uImage 及 uInitrd
需要在其代码执行后,不马上reboot,而是再继续执行如下代码:
cd /tmp/debian/usr/bin #adjust based on the location of usb stick mount
point
./mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n
Linux-2.6.32-5-kirkwood -d ../../boot/vmlinuz-2.6.32-5-kirkwood ../../boot/
uImage
./mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n
initramfs-2.6.32-5-kirkwood -d ../../boot/initrd.img-2.6.32-5-kirk... 阅读全帖
C*******1
发帖数: 422
7
来自主题: Hardware版 - 尼玛,dockstar装openVPN装死了
谢谢。折腾了一下,还是不行。
又折腾Archlinu, 还是不行。接连折腾了N个晚上(N = today - 一楼日期)。差点儿把
报税耽误了,爱LP一顿骂。
直到20分钟前,看到这个:
http://forum.doozan.com/read.php?2,12061
Do not reboot after the installation, and do what is said on the ^^^^ topic:
cd /tmp/debian/usr/bin #adjust based on the location of usb stick mount
point
./mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n
Linux-2.6.32-5-kirkwood -d ../../boot/vmlinuz-2.6.32-5-kirkwood ../../boot/
uImage
./mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00... 阅读全帖
m*d
发帖数: 7658
8
来自主题: Hardware版 - 在 Dockstar 上安装 shadowsocks server
升级了kernel,做uImage成功,但是uInitrd没有成功
mkimage -A arm -O linux -C none -T kernel -a 0x60008000 -e 0x60008000 -n
Linux-3.18.5-oxnas-tld-1 -d zImage-3.18.5-oxnas-tld-1.fdt uImage
mkimage -A arm -O linux -T ramdisk -C gzip -a 0x60000000 -e 0x60000000 -n
initramfs-3.18.5-oxnas-tld-1 -d /boot/initrd.img-3.18.5-oxnas-tld-1 /boot/
uInitrd
执行第二行命令时,报错说没有/boot/initrd.img-3.18.5-oxnas-tld-1
/boot/initrd.img-3.18.5-oxnas-tld-1从哪里来?
我已经装过
dpkg -i linux-image-3.18.5-oxnas-tld-1_1_armel.deb
dpkg -i linux-header... 阅读全帖
x******g
发帖数: 3952
9
boot loader access the file system differently.
for kernel to access any FS, the FS need to be mounted.
but boot loader doesn't rely on kernel mounting mechanism.
x****u
发帖数: 44466
10
不仅仅是initrd,光加载kernel时也有一样的问题。bootloader必须有本事自己找到他
们,不经过linux系统。
j**********p
发帖数: 22
11
The key benefit of initrd is not filesystem mounting. It is device driver.
Under linux, different disks need different drivers, and the kernel has to
load them correctly. Without initrd, this could easily go into a checken/egg
problem, kernel needs the driver to access the disk, but it need to acces
the disk first in order to load the driver.
What grub does is to use the universal block device driver - BIOS. Grub
loads the kernel and initrd through BIOS support, which generally provides
worse pe
s*****n
发帖数: 2174
12
是怎么回事啊?
另: windows 依然可以正常运行.
I*a
发帖数: 297
13
把无比从起动项删除
s*****n
发帖数: 2174
14
是boot.ini文件吗?
试过, 不管用.
删掉"c:\wubildr.mbr=Ubuntu"以后启动就直接进windows了.
I*a
发帖数: 297
15
靠,以为你要删linux
s****t
发帖数: 698
16

linux-2.6/Documentation/filesystems/ramfs-rootfs-initramfs.txt
m********r
发帖数: 334
17
来自主题: Linux版 - ubuntu9.10怎么网络安装?
你是说netboot? 试过出了一堆错误,包括initramfs-tools
z****t
发帖数: 1090
18
标题是起着玩的,吸引眼球。 但还是头一次碰到问题网上找不到任何线索来解决了。

用了10.10几天没什么问题, 今天突然用软件中心或新立得安装删除软件时 突然有了
这个错误 dpkg: version
'uname -r' has bad syntax
取不到内核版本,导致后面的错误。 还以为是dpkg的问题,但试着重装过dpkg不行,
同样的错误; 试着从live
cd重装dpkg也是同样的错误。 现在怀疑是shell的问题, shell执行的时候'uname
-r' 没有当成命令执行。 但
不知道可以怎么解决, 换个shell吗 有没有问题。 ubuntu默认的shell是 /bin/bash
dpkg: version 'uname -r' has bad syntax: version string has embedded spaces
dpkg: version 'uname -r' has bad syntax: version string has embedded spaces
dpkg: version 'uname -r' has bad synt... 阅读全帖
z****t
发帖数: 1090
19
下面是我刚刚在live cd下招待sudo apt-get upgrade时 的情况
前面有个Removing bootchart... 是因为这个错误第一次发生在我要删除bootchart时, 后来就一直有错 所
以bootchart实际上并没有删掉
...

Extracting templates from packages: 100%
Can not write log, openpty() failed (/dev/pts not mounted?)
(Reading database ... 210385 files and directories currently installed.)
Removing bootchart ...
dpkg: version 'uname -r' has bad syntax: version string has embedded spaces
dpkg: version 'uname -r' has bad syntax: v... 阅读全帖
z****t
发帖数: 1090
20
再执行了一下删除bootchart, 错误如下
$ sudo apt-get remove bootchart
[sudo] password for zebrat:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
bootchart
0 upgraded, 0 newly installed, 1 to remove and 42 not upgraded.
1 not fully installed or removed.
After this operation, 127kB disk space will be freed.
Do you want to continue [Y/n]? Y
(Reading database ... 210385 files and directories currently installed.)
Removing bo... 阅读全帖
z****t
发帖数: 1090
21
update-initramfs里面有下面几句 但看上去是对的
set_current_version()
{
if [ -f /boot/initrd.img-`uname -r` ]; then
version=`uname -r`
fi
}
z****t
发帖数: 1090
22
贴个从一最开始的错误 也许这个installArchives有线索
installArchives() failed: Selecting previously deselected package ttf-ubuntu
-title.
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database .... 阅读全帖
y***d
发帖数: 2330
23
ls /var/lib/initramfs-tools
看看里面有没有 "uname -r" "uname" 样子的文件,如果有的话,删掉,然后再安装
bootchart 试试。

随便执行安装 又出来了
25-
22-
z****t
发帖数: 1090
24
果然有. 你是说试试重新安装还是删除? bootchart现在是installed的了
(因为删除一直不成功)
$ls /var/lib/initramfs-tools/
2.6.32-25-generic 2.6.35-22-generic uname uname -r
z****t
发帖数: 1090
25
en 不错。
oh my god, 已经过了 update-initramfs 了! 就是停在processing triggers for python support...
l*******e
发帖数: 3584
26
Image Name: Linux-2.6.32-5-kirkwood
Created: Fri Feb 11 04:03:35 2011
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1431872 Bytes = 1398.31 kB = 1.37 MB
Load Address: 0x00008000
Entry Point: 0x00008000
Image Name: initramfs-2.6.32-5-kirkwood
Created: Fri Feb 11 04:03:36 2011
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 4738120 Bytes = 4627.07 kB = 4.52 MB
Load Address: 0x00000000
Entry Point: 0x00000000
Installation complete
You can no... 阅读全帖
S*A
发帖数: 7142
27
那个 grub2 的非常讨厌,要求 GPT 的分区表要求
Bios boot partition 和一大堆可恶的东西。Mac
UEFI 支持也不好。总之升级 FC 16 之后 Linux 就起
不来了。OSX 还可以用 EFI 起。
研究了一下 Grub2 试图用 Mac 的 EFI 来启动,
有些 Mac 不支持 EFI64 的启动,加上分区表的混乱。
我不明白干嘛不用 Mac 自己那个 GPT 的分区呢,里面
有足够多的空间了,也是 vfat 的格式。
最后我放弃了,卸载了 grub2, 装 syslinux-extlinux.
用 syslinux 直接启动 ext4 的 /boot。这个简单多了。
不用什么 Bios Boot partition。
yum install syslinux-extlinux
extlinux -i /boot/extlinux
dd if=/usr/shared/sylinux/mbr.bin of=/dev/sda
vi /etc/syslinux.cfg
写个简单的 config, 不就是 kernel + initramfs.
搞那么多繁... 阅读全帖
S*A
发帖数: 7142
28
我当时理解错了,说的是 PC, 是 ARM 当然外设就简单很多。
其实 dmesg 里面有是时钟显示,你可以看出时间在什么地方花
调的。ramdisk 不一定快,因为读 zimage/initram 是用 BIOS
int 13 完成的,每次一两个扇区。
我的 PC, 看 dmsg,我之看大头时间:
ACPI 和 PCI 扫描需要一定时间。
引导其他 CPU 需要一定时间。(IPI call smap)
初始化 SATA port reset 需要时间,然后进入 SATA 3G mode
需要再次 port reset, 这些都有固定的 reset 时间的。
USB 同样, port reset 所有设备需要时间。
然后进入 init ram disk 就已经 2 秒钟了。
找 USB 设备需要 从新 port reset。
mount 文件系统等等。
[ 0.156718] ACPI: All ACPI Tables successfully acquired
[ 0.183241] smpboot: CPU0: Intel(R) Xeon(R) CPU ... 阅读全帖
S*A
发帖数: 7142
29
我当时理解错了,说的是 PC, 是 ARM 当然外设就简单很多。
其实 dmesg 里面有是时钟显示,你可以看出时间在什么地方花
调的。ramdisk 不一定快,因为读 zimage/initram 是用 BIOS
int 13 完成的,每次一两个扇区。
我的 PC, 看 dmsg,我之看大头时间:
ACPI 和 PCI 扫描需要一定时间。
引导其他 CPU 需要一定时间。(IPI call smap)
初始化 SATA port reset 需要时间,然后进入 SATA 3G mode
需要再次 port reset, 这些都有固定的 reset 时间的。
USB 同样, port reset 所有设备需要时间。
然后进入 init ram disk 就已经 2 秒钟了。
找 USB 设备需要 从新 port reset。
mount 文件系统等等。
[ 0.156718] ACPI: All ACPI Tables successfully acquired
[ 0.183241] smpboot: CPU0: Intel(R) Xeon(R) CPU ... 阅读全帖
l*******e
发帖数: 3584
30
【 以下文字转载自 Linux 讨论区 】
发信人: liufanghe (garfield), 信区: Linux
标 题: still can not install debian normally on dockstar
发信站: BBS 未名空间站 (Thu Feb 10 23:36:06 2011, 美东)
Image Name: Linux-2.6.32-5-kirkwood
Created: Fri Feb 11 04:03:35 2011
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1431872 Bytes = 1398.31 kB = 1.37 MB
Load Address: 0x00008000
Entry Point: 0x00008000
Image Name: initramfs-2.6.32-5-kirkwood
Created: Fri Feb 11 04:03:36 2011
Image Type: ARM Linux RAMD... 阅读全帖
1 (共1页)