首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打开锁骨initrd.img?

如何打开锁骨initrd.img?
EN

Unix & Linux用户
提问于 2013-09-16 16:24:05
回答 2查看 3.3K关注 0票数 2

我不明白为什么我会收到关于initrd.img的错误(这个initrd.img是来自clonezilla文件的原始文件)。

代码语言:javascript
复制
cp initrd.img /tmp
zcat /tmp/initrd.img | cpio -idm
zcat: initrd.img: not in gzip format
cpio: premature end of archive

我所做的全部步骤如下:

我从以下站点下载clonezilla-live-2.1.2-43-i 686-pae.zip文件:http://clonezilla.org/livepxe.php

然后执行以下操作以获得initrd.img文件,如下所示:

代码语言:javascript
复制
unzip -j clonezilla-live-2.1.2-43-i686-pae.zip live/vmlinuz live/initrd.img live/filesystem.squashfs -d /tftpboot/nbi_img

然后我复制了

代码语言:javascript
复制
cp /tftpboot/nbi_img/initrd.img   /tmp

所有最后的步骤都是根据站点。请告诉我这里有什么问题吗?

我也尝试过这一点,但在这个-中没有成功:

链接:http://www.thegeekstuff.com/2009/07/how-to-view-modify-and-recreate-initrd-img/

代码语言:javascript
复制
mv initrd.img.gz  initrd.gz
gunzip initrd.gz 

gunzip: initrd.gz: not in gzip format
EN

回答 2

Unix & Linux用户

发布于 2013-09-16 17:03:50

正如zcat所说,它不是gzip格式的。在上面运行file,看看它是否识别格式。可能是lzma,在这种情况下,您需要使用lzcat而不是zcat

票数 4
EN

Unix & Linux用户

发布于 2015-09-28 06:49:12

我知道这是一个古老的话题,但当我正在寻找一种将gpg键添加到openSUSE中的方法时,我发现了这个话题,它已经被重新掌握,包含了几个自定义包。我有一些问题,找到我需要的信息,所以我想我应该添加一些详细的说明,以防其他人发现它们有用。在其他地点发现了这些指示的不同部分。我只是把它们放在一起形成一个详细的清单。他们工作,这才是真正重要的。

我编写它们是为了修改本地initrd,而不是从iso映像修改initrd,但是过程是相同的。

注意:下面的说明是我对我的系统使用的说明,它使用/boot/ initrd -3.16.7-24-桌面作为其‘initrd’。如果当前initrd文件不是/boot/initrd-3.16.7-24-桌面,则需要修改这些命令。

这是一种程序:

  1. 在/boot/initrd上做一个长清单,查看它指向哪个文件: root@host:~ # ls -l /boot/initrd
  2. 创建要工作的目录: root@host:~ # mkdir -p -m 755 mod-initrd/new
  3. 将当前initrd复制到工作目录: root@host:~ # cp /boot/initrd-3.16.7-24-桌面mod-initrd/initrd.xz
  4. cd到提取initrd的目录: root@host:~/mod-initrd # cd mod-initrd/new
  5. 解压initrd: root@host:~/mod/new# xzcat ./initrd.xz cpio -d -i -m
  6. 做你想要做的改变。
  7. 保存原始initrd: root@host:~/mod/new# mv ./initrd.xZ./initrd-原始副本
  8. 压缩修改后的intird: root@host:~/ modified /new# find。cpio -o -H newc _ xz --check=crc32 32-x86-lzma2 2=dict=512 dict> ../initrd.xz
  9. 用修改后的initrd替换当前initrd。这将使修改后的版本在重新启动时处于活动状态。root@host:~/mod-initrd/newinitrd # mv ./initrd.xz/boot/initrd-3.16.7-24-桌面
  10. 重新启动以测试您所做的更改。root@host:~/mod-initrd/# init 6

在对更改进行测试之前,不要删除提取的initrd。这样,如果需要进行任何调整,就需要步骤6、8、9和10。

对于任何试图将自己的GPG密钥添加到openSUSE映像以便该密钥将被自动信任的人来说,这是一种可以实现的方法:

通过运行以下命令获取GPG密钥的ID:

代码语言:javascript
复制
    gpg --list-keys

其中一行应该以这样的开头: pub 2048R/BB6D5E99

在上面的例子中,ID应该是"BB6D5E99“

通过运行以下命令导出公共GPG密钥:

代码语言:javascript
复制
    gpg --export -a "BB6D5E99" > "file-name-for-the-exported-key"

通过运行以下命令,将gpg键添加到提取的initrd中:

代码语言:javascript
复制
    echo "file-name-for-the-exported-key" | cpio -o -H newc -A -F "full-path-of-directory-holding-extracted-initrd"
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/90913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档