关于使用cpio for windows打包memdisk的注意事项。
本帖最后由 my9823 于 2020-10-30 20:19 编辑在使用cpio for windows打包memdisk时需要将路径列表的\全部替换成/,否则生成的memdisk里的文件一个也识别不了!这个是在打包w大的fm.loop时发现的。切记!!!! 建议直接WSL或者Linux。Windows下破事特别多。
我记得 find 生成的列表不需要转换。 W大,其实我只想看看gnuwin的程序能不能在windows下build你的grub2文件管理器,最后发现除了mtools没有,生成iso的程序也没有,其他好像都能找到替代程序。 my9823 发表于 2020-10-30 21:23
W大,其实我只想看看gnuwin的程序能不能在windows下build你的grub2文件管理器,最后发现除了mtools没有,生 ...
在windows下就算生成了也是有问题的。因为我用了符号链接。 尽在发现有个不错的编辑器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 wintoflash 发表于 2020-10-30 21:36
在windows下就算生成了也是有问题的。因为我用了符号链接。
不怕老大笑话,我是一边百度那些shell命令,一边手动生成的。谁让我对批处理看不懂呢! 为啥不用find ./boot 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 这个是以前用的脚本。现在要改改。
https://github.com/a1ive/grub2-filemanager/blob/lua/build.bat 我是在windows下生成,其实台式机的bug10中有wsl,我再学习sed for windows的用法,贵在实践嘛! 现在发现sed只用了九牛一毛,越发感觉自己像个文盲了,哈哈! 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 .. 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 .. 感谢分享!
页:
[1]