无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 6237|回复: 13

[分享] 关于使用cpio for windows打包memdisk的注意事项。

[复制链接]
发表于 2020-10-30 20:15:29 | 显示全部楼层 |阅读模式
本帖最后由 my9823 于 2020-10-30 20:19 编辑

在使用cpio for windows打包memdisk时需要将路径列表的\全部替换成/,否则生成的memdisk里的文件一个也识别不了!这个是在打包w大的fm.loop时发现的。切记!!!!

cpio.7z

617.22 KB, 下载次数: 187

发表于 2020-10-30 21:02:59 | 显示全部楼层
建议直接WSL或者Linux。Windows下破事特别多。
我记得 find 生成的列表不需要转换。
回复

使用道具 举报

 楼主| 发表于 2020-10-30 21:23:21 来自手机 | 显示全部楼层
W大,其实我只想看看gnuwin的程序能不能在windows下build你的grub2文件管理器,最后发现除了mtools没有,生成iso的程序也没有,其他好像都能找到替代程序。

点评

在windows下就算生成了也是有问题的。因为我用了符号链接。  详情 回复 发表于 2020-10-30 21:36
回复

使用道具 举报

发表于 2020-10-30 21:36:49 | 显示全部楼层
my9823 发表于 2020-10-30 21:23
W大,其实我只想看看gnuwin的程序能不能在windows下build你的grub2文件管理器,最后发现除了mtools没有,生 ...

在windows下就算生成了也是有问题的。因为我用了符号链接。

点评

不怕老大笑话,我是一边百度那些shell命令,一边手动生成的。谁让我对批处理看不懂呢!  详情 回复 发表于 2020-10-30 21:48
回复

使用道具 举报

 楼主| 发表于 2020-10-30 21:39:27 来自手机 | 显示全部楼层
尽在发现有个不错的编辑器sed。例如要打包e:\123\boot目录,用dir/b/s生成列表会包含boot目录文件的完整路径,这是我们打包不愿看到的,可以先cd到123目录,运行dir/b/s boot|sed.exe -e {s/^.*123\\//g;s/\\/\//g}|cpio.exe -o -H newc >memdisk.cpio

点评

如果要压缩得更小些,可以这样: cd out find ./boot -print|cpio -o -H newc | gzip -9 > ./memdisk.cpio.gz cd ..  详情 回复 发表于 2020-10-31 23:46
我是这样做的: cd out find ./boot -print|cpio -o -H newc > ./memdisk.cpio.gz cd ..  详情 回复 发表于 2020-10-31 23:29
我是这样做的: set bin=%~dp0bin\ set dir=%1 if %1a==a set dir=build pushd %dir% %bin%find boot | %bin%cpio -o -H newc | %bin%gzip -9 > memdisk.cpio.gz  详情 回复 发表于 2020-10-30 21:50
回复

使用道具 举报

 楼主| 发表于 2020-10-30 21:48:59 来自手机 | 显示全部楼层
wintoflash 发表于 2020-10-30 21:36
在windows下就算生成了也是有问题的。因为我用了符号链接。

不怕老大笑话,我是一边百度那些shell命令,一边手动生成的。谁让我对批处理看不懂呢!
回复

使用道具 举报

发表于 2020-10-30 21:49:08 | 显示全部楼层
为啥不用find ./boot
回复

使用道具 举报

发表于 2020-10-30 21:50:37 | 显示全部楼层
my9823 发表于 2020-10-30 21:39
尽在发现有个不错的编辑器sed。例如要打包e:\123\boot目录,用dir/b/s生成列表会包含boot目录文件的完整路 ...

我是这样做的:
set bin=%~dp0bin\
set dir=%1
if %1a==a set dir=build
pushd %dir%
%bin%find boot | %bin%cpio -o -H newc | %bin%gzip -9 > memdisk.cpio.gz
回复

使用道具 举报

发表于 2020-10-30 21:51:26 | 显示全部楼层
这个是以前用的脚本。现在要改改。
https://github.com/a1ive/grub2-filemanager/blob/lua/build.bat
回复

使用道具 举报

 楼主| 发表于 2020-10-30 21:52:52 来自手机 | 显示全部楼层
我是在windows下生成,其实台式机的bug10中有wsl,我再学习sed for windows的用法,贵在实践嘛!
回复

使用道具 举报

 楼主| 发表于 2020-10-30 21:53:52 来自手机 | 显示全部楼层
现在发现sed只用了九牛一毛,越发感觉自己像个文盲了,哈哈!
回复

使用道具 举报

发表于 2020-10-31 23:29:59 | 显示全部楼层
my9823 发表于 2020-10-30 21:39
尽在发现有个不错的编辑器sed。例如要打包e:\123\boot目录,用dir/b/s生成列表会包含boot目录文件的完整路 ...

我是这样做的:
cd out
   find ./boot -print|cpio -o -H newc > ./memdisk.cpio.gz
   cd ..
回复

使用道具 举报

发表于 2020-10-31 23:46:25 | 显示全部楼层
my9823 发表于 2020-10-30 21:39
尽在发现有个不错的编辑器sed。例如要打包e:\123\boot目录,用dir/b/s生成列表会包含boot目录文件的完整路 ...

如果要压缩得更小些,可以这样:
cd out
   find ./boot -print|cpio -o -H newc | gzip -9 > ./memdisk.cpio.gz
   cd ..
回复

使用道具 举报

发表于 2020-11-1 19:33:06 | 显示全部楼层
感谢分享!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-29 02:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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