无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011niumao
打印 上一主题 下一主题

[教程] 从 固定VHD与只读squashfs引导LINUX, UBUNTU ARCH Fedora Opensuse Mageia五种

    [复制链接]
301#
 楼主| 发表于 2017-4-17 12:29:57 | 只看该作者
jxdeng2017 发表于 2017-4-17 09:16
谢谢LZ的指点,重新按LZ的提示做了一次,新生成的dracut-neokylin-kloop 文件略小了一点,替换后,仍然报错 ...

看来原因就是10-vhdmount-kloop.sh那个文件没有塞入到dracut里了。
把目标路径加上/usr看看,尝试以下代码。
  1. /usr/bin/dracut --include /home/jxdeng/mydracut/10-vhdmount-kloop.sh    /usr/lib/dracut/hooks/pre-mount/10-vhdmount-kloop.sh --no-hostonly --install " vi /etc/virc ps grep cat rm blkid losetup  kpartx partx mount.fuse mount.ntfs-3g ntfs-3g shutdown  lvm  vgchange  vgmknodes  vgscan  dmsetup dmeventd  " --add-drivers "fuse dm-mod " -o " plymouth btrfs crypt  cifs fcoe fcoe-uefi iscsi nfs nbd" /home/jxdeng/dracut-neokylin-kloop
复制代码
回复

使用道具 举报

302#
发表于 2017-4-17 13:05:16 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-17 13:08 编辑

LZ, 各种linux 对dracut有差异,Neokylin  确实定义了 /usr/lib/dracut/hooks 目录,但是在hooks 下没有 pre-mount 目录,手工建一个pre-mount 后,使用您的那个大命令行,10-vhdmount-kloop.sh 插不到该目录下,不知何故?  可以手工先拷贝到该位置吗?( /usr/lib/dracut/hooks/pre-mount)

点评

我感觉是可以的。可以尝试看看。 不过注意这里的/usr/lib/dracut/hook指的是在dracut里面的路径。 猜测是dracut命令的脚本会把实际系统的/usr/lib/dracut/hook下面的文件拷贝到dracut里面的同名处。这样你 预先拷  详情 回复 发表于 2017-4-17 15:05
回复

使用道具 举报

303#
 楼主| 发表于 2017-4-17 15:05:37 | 只看该作者
jxdeng2017 发表于 2017-4-17 13:05
LZ, 各种linux 对dracut有差异,Neokylin  确实定义了 /usr/lib/dracut/hooks 目录,但是在hooks 下没有 pr ...

我感觉是可以的。可以尝试看看。
不过注意这里的/usr/lib/dracut/hook指的是在dracut里面的路径。
猜测是dracut命令的脚本会把实际系统的/usr/lib/dracut/hook下面的文件拷贝到dracut里面的同名处。这样你
预先拷贝进去的文件,就可以塞到dracut里面了。
在dracut里面,也许有lib目录,也许lib只是到/usr/lib的软连接。
回复

使用道具 举报

304#
发表于 2017-4-17 19:01:02 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-17 19:02 编辑

报告LZ, 按上面的提示,重新生成dracut-neokylin 后,没有进步,仍然 报同样的 USB 3.0 的问题,检查了一下, 系统已经进到命令行,只是屏幕上报 无法加载 USB 3.0 。 检查了dracut.log ,没有发现生成内核时出什么问题。下午又拿一个Mageia Linux 5.1  测试了一下,系统能完全启动到命令行,也报无法加载USB 3.0 同样的错,用您的内核 和我自己定制的内核都一样。看来 是否跟机器硬件有关,我的设备是Thinkpad S3 ,带触摸屏的。
但是,UbuntuKylin 没有任何问题,完美启动到图形界面。 下一步怎么搞,没有了方向,请大神指点。

点评

如果是硬件问题,我也不会的。奇怪。  详情 回复 发表于 2017-4-17 21:17
如果是硬件问题,我也不会的。奇怪。  详情 回复 发表于 2017-4-17 21:17
回复

使用道具 举报

305#
 楼主| 发表于 2017-4-17 21:17:32 | 只看该作者
jxdeng2017 发表于 2017-4-17 19:01
报告LZ, 按上面的提示,重新生成dracut-neokylin 后,没有进步,仍然 报同样的 USB 3.0 的问题,检查了一下 ...

如果是硬件问题,我也不会的。奇怪。
回复

使用道具 举报

306#
 楼主| 发表于 2017-4-17 21:17:32 | 只看该作者
本帖最后由 2011niumao 于 2017-4-18 20:18 编辑
jxdeng2017 发表于 2017-4-17 19:01
报告LZ, 按上面的提示,重新生成dracut-neokylin 后,没有进步,仍然 报同样的 USB 3.0 的问题,检查了一下 ...

下载了你帖子里面的链接。制作好后发现之所以失败,是因为Neokylin系统启动时候没有自动生成/dev/loop0到/dev/loop7.
需要在10-vhdmount-kloop.sh里面,kpartx命令上面加入一个命令
  1. mknod /dev/loop0 b 7 0
  2. mknod /dev/loop1 b 7 1
复制代码
手工创建/dev/loop0 /dev/loop1(为保险多创建一个,也可以创建上8个)。然后重新制作dracut就成功引导了。
在一楼链接上传了两个文件,vmlinuz-neok  initrd.img-neok,你可以直接下载使用它们引导。

点评

我已经制作成功了。用附件替换掉10-vhdmount-kloop.sh。重新制作dracut后成功。 记住把两个niumao更改为用户名。  详情 回复 发表于 2017-4-18 19:32
回复

使用道具 举报

307#
 楼主| 发表于 2017-4-18 19:32:57 | 只看该作者
本帖最后由 2011niumao 于 2017-4-18 20:18 编辑
2011niumao 发表于 2017-4-17 21:17
如果是硬件问题,我也不会的。奇怪。

我已经制作成功了。用附件替换掉10-vhdmount-kloop.sh。重新制作dracut后成功。
  1. /usr/bin/dracut --include /home/jxdeng/mydracut/10-vhdmount-kloop.sh  /lib/dracut/hooks/pre-mount/10-vhdmount-kloop.sh --no-hostonly --install " vi /etc/virc ps grep cat rm blkid losetup  kpartx partx mount.fuse mount.ntfs-3g ntfs-3g shutdown  lvm  vgchange  vgmknodes  vgscan  dmsetup dmeventd  " --add-drivers "fuse dm-mod " -o " plymouth btrfs crypt  cifs fcoe fcoe-uefi iscsi nfs nbd" /home/jxdeng/dracut-neokylin-kloop
复制代码

记住把两个niumao更改为用户名。

10-vhdmount-kloop.sh.zip

1.04 KB, 下载次数: 3, 下载积分: 无忧币 -2

Neokylin

回复

使用道具 举报

308#
发表于 2017-4-19 13:25:32 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-19 13:55 编辑

感谢LZ指点, 按您的新脚本,我试了一下,跟以前没有什么区别,倒是让我发现了问题, /host  已经mount上,但是 kpartx -av /host$kloop  不行,报不能 mount loop 等.... 我核对了一下 引导参数 kroot  和分区发现了问题, 我的 kroot=/dev/mapper/loop0p1  , 但是 我的分区是 、/dev/sda1  是一个EFI分区,/dev/sda2 是swap,/dev/sda3 才是 根 / 分区。 但是 我改 kroot=/dev/mapper/loop0p3 也一样报错。 哪里错了,请指点。
引导串:
================
menuentry  " NeoKylin Linux 16.04 (VHD) 2 "   --class neokylin --class fedora  {
        recordfail
        insmod gzio
        insmod part_msdos
        insmod part_gpt
        insmod ext2
        insmod ntfs
        insmod probe
        insmod search
        search --no-floppy -f --set=aabbcc  /LinVHD/NeoKylin6/NeoKylin6.vhd
        set root=${aabbcc}
        probe -u --set=ddeeff ${aabbcc}
        linux        /LinVHD/NeoKylin6/vmlinuz-neokylin  root=UUID=${ddeeff} kloop=/LinVHD/NeoKylin6/NeoKylin6.vhd kroot=/dev/mapper/loop0p1  
        initrd        /LinVHD/NeoKylin6/dracut-neokylin-kloop
}
==================
回复

使用道具 举报

309#
发表于 2017-4-19 15:12:37 | 只看该作者
报告LZ , 您的定制和我自己的定制都成功了,问题也找到了, 还是 kroot 参数配置问题,把我的 kroot 改成kroot=/dev/mapper/loop0p3  即可, 对应上 根 /dev/sda3 ,  当然还是老大对 Nerkylin 没有定义 dev/loop0到/dev/loop7 等设备的 发现 ,最终解决了问题。值得祝贺。 赞。

点评

恭喜!  详情 回复 发表于 2017-4-19 18:24
恭喜!  详情 回复 发表于 2017-4-19 18:24
回复

使用道具 举报

310#
 楼主| 发表于 2017-4-19 18:24:16 | 只看该作者
jxdeng2017 发表于 2017-4-19 15:12
报告LZ , 您的定制和我自己的定制都成功了,问题也找到了, 还是 kroot 参数配置问题,把我的 kroot 改成kr ...

恭喜!
回复

使用道具 举报

311#
 楼主| 发表于 2017-4-19 18:24:17 | 只看该作者
jxdeng2017 发表于 2017-4-19 15:12
报告LZ , 您的定制和我自己的定制都成功了,问题也找到了, 还是 kroot 参数配置问题,把我的 kroot 改成kr ...

恭喜!
回复

使用道具 举报

312#
发表于 2017-4-19 19:04:13 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-19 19:09 编辑

要感谢大神的指点。
中标麒麟 太像Windows XP 了。很不错。 今天又试着 做了一下 优麒麟(UBUNTUKYLIN 17.04  64位版),最近发布的17.04版本默认使用UKUI桌面环境。从内到外都焕然一新,内核更新为Linux Kernel 4.10版本。 我用LZ的Ubuntu 16.04 的方法 定制了initrd.img ,定制过程没有出一点错,但是 引导时 出现死机,是panic 报错。
看来,有要请大神费神了。 顺便,我的优麒麟(UBUNTUKYLIN 16.04  64位版) 运行的很好。
UBUNTUKYLIN 17.04  64位版


内存崩溃:

UBTKylin17.jpg (82.28 KB, 下载次数: 154)

UBTKylin17.jpg

点评

下载安装后,制作initrd.img没有问题,成功引导了固定vhd了。中间有个错误,是因为 UKylin没有安装kpartx 进入到了initramfs界面,后来手工安装了kpartx后重新制作就可以引导了。 至于这个panic错误,我也经历过  详情 回复 发表于 2017-4-19 21:54
回复

使用道具 举报

313#
 楼主| 发表于 2017-4-19 21:54:55 | 只看该作者
jxdeng2017 发表于 2017-4-19 19:04
要感谢大神的指点。
中标麒麟 太像Windows XP 了。很不错。 今天又试着 做了一下 优麒麟(UBUNTUKYLIN 17 ...

下载安装后,制作initrd.img没有问题,成功引导了固定vhd了。中间有个错误,是因为
UKylin没有安装kpartx 进入到了initramfs界面,后来手工安装了kpartx后重新制作就可以引导了。

至于这个panic错误,我也经历过多次,都是由于init与 local文件里面有语法错误引起的,所以
请你检查一下这两个文件,看看是不是少了花括号 } ,少了 与if 相配对的 fi 语句。

制作好的Ukylin引导文件已经上传,4.10.0-19 (64位) 可在一楼第一个链接下载。
回复

使用道具 举报

314#
发表于 2017-4-20 09:28:17 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-20 09:31 编辑

LZ 经验丰富! 果然,我在/usr/share/initramfs-tools/scripts/local 文件中插入大神的代码时 不小心 多了一个 }  ,导致代码出错。 我还以为是内核的问题。谢谢LZ指点。又成功了。看来LZ的方法通用性不错。
发两张图,感谢大神的指点,支持中文LINUX !
中标麒麟 6: XPUI

优麒麟17.04: UKUI

NeoKylin.jpg (81.37 KB, 下载次数: 166)

NeoKylin.jpg

UBTKylin.jpg (143.93 KB, 下载次数: 155)

UBTKylin.jpg

点评

呵呵。恭喜。  发表于 2017-4-20 11:06
回复

使用道具 举报

315#
发表于 2017-4-20 14:39:15 | 只看该作者
LZ好,还有两个问题请指教。
1、有些Linux版本没有 kpartx ,dm-setup ,怎么手工安装?  在不使用LVM 时 ,dm-setup , lvm2 是否可以不安装?
2、教程中需要改动的几个文件,init 、local、module等 仅仅是为定制initrd 用的吗?也就是开机启动 LINUX.VHD使用的吗? 如果是的话,那么用LZ定制好的各版本initrd  不就可以启动相应的系统了吗? 可是,我拿你的mageia 4 定制内核启动 我的mageia 5 还是有问题的?  比较迷糊了,请指点。
回复

使用道具 举报

316#
发表于 2017-4-20 14:46:19 | 只看该作者
LZ 还有 一般桌面版系统基本上都安装了ntfs-3g ,能 mount NTFS分区了。还需要安装你的ntfs-3g **.fix 吗? 你能否把手工安装kpartx  , util-linux ,dm-setup 的方法 一并写到教程里?

点评

还是需要手工编译安装那个修改好的ntfs-3g的,因为不修改会在关机时候出现错误,下次再开机可能需要作磁盘检查的。(而且附带的修改好的ntfs-3g)是最新的版本, 至于各个linux发行版安装kpartx dm-setuo的方法,  详情 回复 发表于 2017-4-20 20:17
回复

使用道具 举报

317#
 楼主| 发表于 2017-4-20 20:17:17 | 只看该作者
本帖最后由 2011niumao 于 2017-4-20 20:23 编辑
jxdeng2017 发表于 2017-4-20 14:46
LZ 还有 一般桌面版系统基本上都安装了ntfs-3g ,能 mount NTFS分区了。还需要安装你的ntfs-3g **.fix 吗? ...


还是需要手工编译安装那个修改好的ntfs-3g的,也许不修改也能引导起来,但不修改会在关机时候有 buffer i/o 错误,下次再开机可能需要作磁盘检查的。(此外附带的修改好的ntfs-3g是最新的版本)

至于各个linux发行版安装kpartx dm-setuo的方法,主要是从各自的源里安装的,应该是比较基本的命令了。
所以只写了ubuntu的命令,其他照着参考或稍加修改应该可以的。

如果不使用LVM时候,不需要安装lvm2,  但是dm-stup存疑,不清楚是不是必须的。

所有修改的文件都是为了制作initrd的。原理上,制作好的initrd可以引导很多系统。
这里面ubuntu的通用型最好。

Mageia好像特殊一些。好像不能跨版本吧。就算是同一个系统,升级后旧内核都不好引导起来。
arch也是如此。
记得Mageia会自动安装显卡的闭源驱动,所以升级内核后会有问题的。
回复

使用道具 举报

318#
发表于 2017-4-21 17:30:31 | 只看该作者
感谢LZ解答,明白了很多。但是 kpartx 的 apt、yum 安装都没有问题,我是说 它的源码安装,像 ntfs-3g 一样的。有没有试过?

点评

没有尝试过源码安装kpartx,感觉没有必要吧,因为没有改动。  详情 回复 发表于 2017-4-21 20:30
回复

使用道具 举报

319#
 楼主| 发表于 2017-4-21 20:30:43 | 只看该作者
jxdeng2017 发表于 2017-4-21 17:30
感谢LZ解答,明白了很多。但是 kpartx 的 apt、yum 安装都没有问题,我是说 它的源码安装,像 ntfs-3g 一样 ...

没有尝试过源码安装kpartx,感觉没有必要吧,因为没有改动。
回复

使用道具 举报

320#
发表于 2017-4-23 11:22:02 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-23 11:23 编辑

前几天 ,在测试 银河麒麟 Kylin Linux 时, 发现它没有 软件源,根本无法安装 KPARTX 等工具,所以才提出上面的问题。谢谢了。

银河麒麟

点评

查了一下,银河麒麟和中标麒麟不是同一个系统吗?  详情 回复 发表于 2017-4-23 14:00
回复

使用道具 举报

321#
发表于 2017-4-23 14:00:19 | 只看该作者
jxdeng2017 发表于 2017-4-23 11:22
前几天 ,在测试 银河麒麟 Kylin Linux 时, 发现它没有 软件源,根本无法安装 KPARTX 等工具,所以才提出 ...

查了一下,银河麒麟和中标麒麟不是同一个系统吗?
2010年12月16日,两大国产操作系统——民用的“中标Linux”操作系统和解放军研制的“银河麒麟”操作系统在上海正式宣布合并,双方今后将共同以“中标麒麟”的新品牌统一出现在市场上,并将开发军民两用的操作系统。开发方中标软件有限公司和国防科技大学同日缔结了战略合作协议。双方今后将共同开发操作系统,共同成立操作系统研发中心,共同开拓市场,并将在“中标麒麟”的统一品牌下发布统一的操作系统产品。推出NeoKylin。

点评

中标麒麟 是基于Fedora Linux 发行版,号称自主、国产。优麒麟 是基于ubuntu Linux 发行版,由国内几家单位和Ubuntu 开发公司共同维护,为开源的, 银行麒麟,基于BSD内核/linux 内核,号称自主开发, 最近基本在往u  详情 回复 发表于 2017-4-23 20:03
回复

使用道具 举报

322#
发表于 2017-4-23 20:03:12 | 只看该作者
wintoflash 发表于 2017-4-23 14:00
查了一下,银河麒麟和中标麒麟不是同一个系统吗?


中标麒麟 是基于Fedora Linux 发行版,号称自主、国产。优麒麟 是基于ubuntu Linux 发行版,由国内几家单位和Ubuntu 开发公司共同维护,为开源的, 银行麒麟,基于BSD内核/linux 内核,号称自主开发, 最近基本在往ubuntu 技术 靠。 实际上 三者都是国产LINUX  的优秀代表。有一批国内爱好者。
回复

使用道具 举报

323#
发表于 2017-4-24 18:45:25 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-24 18:49 编辑

请问LZ , 您的网盘 根下的 vmlinuz 、 initrd 两个定制内核 是基于那个LINUX发行版的, 好像与UBUNTU的定制 大小不一样。
最好是通用的,哪就好了。
另: 我测试了一下,用您定制的 mageia 内核引导 最新的mageis 5.1 好像有问题,能启动到命令行,到不了图形界面,请LZ 出手解决问题。

NM.jpg (35.2 KB, 下载次数: 176)

NM.jpg

点评

那两个应该是UBUNTU1604系统的,配套于同目录下面的UBT-small.vhd系统的。 mageia系统启动到命令行以后,需要重新制作initramfs或者dracut。在cmd-mageia文件中的命令最后 加入 空格 内核版本号。可制作生成所需  详情 回复 发表于 2017-4-25 08:57
回复

使用道具 举报

324#
 楼主| 发表于 2017-4-25 08:57:07 | 只看该作者
本帖最后由 2011niumao 于 2017-4-25 08:59 编辑
jxdeng2017 发表于 2017-4-24 18:45
请问LZ , 您的网盘 根下的 vmlinuz 、 initrd 两个定制内核 是基于那个LINUX发行版的, 好像与UBUNTU的定 ...


那两个应该是UBUNTU1604系统的,配套于同目录下面的UBT-small.vhd系统的。

mageia系统启动到命令行以后,需要重新制作initramfs或者dracut,这样就可以和vhd系统里面的内核版本一致。
在cmd-mageia文件中的命令最后加入 空格 内核版本号。可制作生成所需要的内核版本的dracut,再拷贝出来就可以使用了。
回复

使用道具 举报

325#
发表于 2017-4-27 10:35:24 | 只看该作者
LZ好,刚定制了mageia desktop 5.1 ,发现了问题,1、mageia 默认安装只有 partx 没有kpartx ,但 ISO安装包中有kpartx rpm 包,需要安装吗?  但是没有kpartx-tools rmp 吧,怎么办? 2、dracut -i 定制时 发现了很多包没有安装,如 busybox,caps ,network  它们影响定制吗?

mageia5.jpg (261.03 KB, 下载次数: 163)

mageia5.jpg

mageia52.jpg (160.27 KB, 下载次数: 173)

mageia52.jpg

点评

建议直接安装Mageia6,感觉mageia6比5更强健。  详情 回复 发表于 2017-4-29 10:23
mageia只需要安装kpartx就可以。就在源里面安装即可,其他应该都不影响结果。  详情 回复 发表于 2017-4-27 12:12
回复

使用道具 举报

326#
 楼主| 发表于 2017-4-27 12:12:12 | 只看该作者
jxdeng2017 发表于 2017-4-27 10:35
LZ好,刚定制了mageia desktop 5.1 ,发现了问题,1、mageia 默认安装只有 partx 没有kpartx ,但 ISO安装 ...

mageia只需要安装kpartx就可以。就在源里面安装即可,其他应该都不影响结果。
回复

使用道具 举报

327#
 楼主| 发表于 2017-4-29 10:23:07 | 只看该作者
jxdeng2017 发表于 2017-4-27 10:35
LZ好,刚定制了mageia desktop 5.1 ,发现了问题,1、mageia 默认安装只有 partx 没有kpartx ,但 ISO安装 ...

建议直接安装Mageia6,感觉mageia6比5更强健。

点评

Mageia 6 也好不了哪里,今天试着制作了一下,能启动到最后一步,好像 X11 卡死。同时发现一下问题: 1、/etc/dracut.conf 已变成了 /etc/dracut.conf.d/50-mageia.conf 。 2、/lib/dracut/modules.d/90lvm/non-h  详情 回复 发表于 2017-4-30 19:55
回复

使用道具 举报

328#
发表于 2017-4-30 19:55:12 | 只看该作者
本帖最后由 jxdeng2017 于 2017-4-30 19:56 编辑
2011niumao 发表于 2017-4-29 10:23
建议直接安装Mageia6,感觉mageia6比5更强健。


Mageia 6 也好不了哪里,今天试着制作了一下,能启动到最后一步,好像 X11 卡死。同时发现一下问题:
1、/etc/dracut.conf 已变成了 /etc/dracut.conf.d/50-mageia.conf  。
2、/lib/dracut/modules.d/90lvm/non-hostonly-init-lvm.sh 好像不需要关掉了。
3、用 带 --no-hostonly  --install  --add-drivers参数 的 命令 更好。

mageia1.jpg (81.34 KB, 下载次数: 180)

mageia1.jpg

mageia2.jpg (89.88 KB, 下载次数: 183)

mageia2.jpg

mageia3.jpg (109.01 KB, 下载次数: 181)

mageia3.jpg

点评

估计是显卡驱动问题。ctrl+alt+F2进入命令行,如下命令可以查看启动信息。 然后拷贝出mm,在其他linux系统中看出是不是应该 手动安装一些驱动。在虚拟机内安装好,重启就可以, 不过,理论上直接重启,第二次启动  详情 回复 发表于 2017-5-1 11:04
回复

使用道具 举报

329#
发表于 2017-4-30 19:58:12 | 只看该作者
建议楼主要把 Mageia 5/6  的定制方法及教程更新一下了。
回复

使用道具 举报

330#
 楼主| 发表于 2017-5-1 11:04:07 | 只看该作者
jxdeng2017 发表于 2017-4-30 19:55
Mageia 6 也好不了哪里,今天试着制作了一下,能启动到最后一步,好像 X11 卡死。同时发现一下问题:
...

估计是显卡驱动问题。ctrl+alt+F2进入命令行,如下命令可以查看启动信息。
  1. journalctl -a > mm
复制代码
然后拷贝出mm,在其他linux系统中看出是不是应该
手动安装一些驱动。在虚拟机内安装好,重启就可以,
不过,理论上直接重启,第二次启动也许就可以进入图形界面了。

至于教程,最近忙,再等等看吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-1 07:19

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表