linux 深度定制,基于ubuntu发行版的安装界面的深度定制过程

基于ubuntu发行版的安装界面的深度定制过程

先阅读官方帮助文档详细介绍ubuntu社区如果定制ubuntu发行版的具体步骤。最好是按照步骤执行一遍,否则会停留在表面问题。

漫长的阅读….

1.版本选择ubuntu10.04-desktop-livecd,之所以选择一个已有的发行版,而不是按照官方文档做?因为你按照官方的去做,做完以后和ubuntu发行版内容完全一样,而且安装过程很繁琐。这样只要对现有的发行版进行增删修改软件包即可。

2.需要修改发行版的目录结构casper、isolinux、.dist、md5sum.txt这些文件控制ubuntu的安装行为和用户使用时的具体行为。

阅读Linux

for computer forensic investigators: problems of booting trusted

现在交代一下livecd安装的流程

Isolinux目录下的isolinux.bin读取该目录下的配置文件,加载vmlinuz内核挂载initrd.lz为根文件系统,运行ubiquity开始安装步骤1,2,3…最后复制squashfs文件系统到硬盘。复制完成后重启机器。

.dist目录定制细节

最重要的是info文件。包含了操作系统发行版的名字。

Isolinux目录的定制细节,打开该目录,一目了然,很多文件简单替换即可

默认语言的修改touch

lang && echo zh_CN > lang

默认语言列表的修改文件language

背景图片直接替换

Gfxboot.cfg文件的修改

修改Hidden-timeout=0否则不会有选择的界面,直接进行livecd的安装

Foreground是选择的字体的高亮颜色

Background是字体颜色

Screen-color是当前选择行的背景颜色

Casper目录定制细节,该目录工作量最大

有两部分要定制initrd.lz和squashfs文件系统的定制

Initrd的定制mv initrd.lz initrd.lzma并且解压(针对ubuntu系统/boot/ramdisk重命名为.gz的文件)

完成后initrd是cpio的格式文件再cpio –id < ./initrd

这里要基于livecd安装过程的背景图片,具体livecd和内核引导技术google

Ubuntu10.04开关机动画技术plymouth(/lib/plymouth/theme),修改ubuntu-logo下的所有图片文件,顺便也了解default.Plymouth配置,theme目录下的ubuntu-logo也要修改。Ubuntu的开关机动画背景是纯颜色,修改文件ubuntu-logo下的ubuntu-logo.script,176行,这是要用你想要的背景颜色的RGB的值,把RGB的值除255,替换原有的值即可。或者new一个主题目录,但是需要些改主题的脚本。用户开关机时的动画在squashfs里修改,方法一样。

/etc/casper.conf修改user hostname….

最后find . |

cpio -o -H newc > ../initrd.img在压缩重命名完成initrd.lz的制作。

Squashfs的制作官方有详细的说明

安装界面的滚动信息是ubiquity控制目录在/etc/ubiquity****/

Uname –a输出的系统信息修改/etc/issue***

用户主题修改/etc/themes

背景图片修改/usr/share/background

面板定制gconftool来定制面板信息

附件脚本

1.制作iso镜像

#!/bin/bash

if [ -z $1 ]; then

echo "usage: ./$0

./yourfoldername"

exit

fi

echo

echo "you just exec command: $0

$1!"

echo

echo "updating md5sum.text,

waiting..."

(cd $1 && find . -type f -print0 |

xargs -0 md5sum | grep -v "\./md5sum.txt" > md5sum.txt)

echo "done!"

cd $1

pwd

mkisofs -input-charset iso8859-1 -r -V

Liduli -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat

-no-emul-boot -boot-load-size 4 -boot-info-table -o ../"livecd$2".iso

.

cd ..

2.制作initrd.lz

#!/bin/bash

if [ -z $1 ]; then

echo "usage: ./$0

./yourfoldername"

exit

fi

echo

echo "you just exec command: $0

$1!"

echo

rm initrd.*

cd $1

find . | cpio -o -H newc > ../initrd.img

cd ..

lzma -7 initrd.img

mv initrd.img.lzma initrd.lz

clear

echo

echo "initrd.lz finish!!"

echo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值