制作initrd(6):重做Ubuntu安装盘
来源:互联网 发布:it 网络管理系统 价格 编辑:程序博客网 时间:2024/06/05 04:15
接上篇 制作initrd(5):解剖Ubuntu安装盘 。上一篇主要提到了分解Ubuntu安装盘,这篇是解剖的反过程--合成安装盘iso,内容相对比较少。
如果仅仅把安装盘拆开看看然后合回去,作为学习目的还可以,但是真的有点浪费篇幅了。其实,拆开的光盘还能塞点东西进去,就是所谓的定制光盘。笔者近期就遇到要把公司的一个客户端软件加密进Ubuntu光盘filesystem.squashfs镜像中,为了兼容amd/intel显卡,需要在initrd中判断系统显卡类型,因此加了个lshwex的程序(扩展Ubuntu lshw命令)。然后由initrd/casper脚本挂载2种不同显卡驱动的filesystem.squashfs。待filesystem.squashfs挂载完毕,需要解密公司的客户端程序。这里笔者写了一个简单的脚本,解决可执行程序依赖库
#!/bin/bashdep_list=`ldd $1`|awk '{print $3;}'|grep -v "("`for list_entry in $dep_list;doecho $list_entryif [ -f $list_entry ]thencp -f $list_entry $2fidone
脚本接收2个参数,arg1是可执行程序路径 arg2是依赖库拷贝的目标位置。当然是从公版ubuntu发行版拷到定制版ubuntu中。
一切做完后,当然是要烧写iso,不要以为直接压缩一下就好,那样会丢失isolinux的引导信息。下面是同时支持UEFI/CSM启动模式的打包iso命令:
cd path_to_dir_of_customed_isosudo mkisofs -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -r -J -o ../xxx.iso .注意xxx.iso后面还有空格和一点
0 0
- 制作initrd(6):重做Ubuntu安装盘
- 制作initrd(5):解剖Ubuntu安装盘
- 制作Windows+Ubuntu多系统安装盘
- Ubuntu 14.04 安装盘制作(U盘)
- 嵌入式 Ubuntu下的initrd.img制作
- 在windows环境中制作USB ubuntu 安装盘
- UltraISO制作Ubuntu的U盘安装盘教程
- 如何制作Ubuntu、win7系统的Usb安装盘?
- 3种常用系统制作ubuntu U盘安装盘
- U盘制作ubuntu安装盘后无法格式化处理
- Linux系统下制作ubuntu live cd USB安装盘
- Sona-tina安装盘制作
- 如何制作驱动安装盘?
- RedHat DVD安装盘制作
- centos安装盘制作
- 制作debian安装盘
- 制作debian安装盘
- Linux系统安装盘制作
- Batch File Redirection
- C++11之function和bind
- 程序员面试技巧
- shell编程注意事项
- muduo库的学习2--Socket的基本设计---代码细节
- 制作initrd(6):重做Ubuntu安装盘
- MatLab基础
- iOS 创建单例的两种方法
- fcntl函数详解
- Leetcode旅途三
- 线性最小二乘法
- Missing iOS Distribution signing identity for ...
- 51nod 1443 路径和树
- Maven简明教程(2)---eclipse集成