|
|
这个帖子也权当做记事本吧,有不知道怎么解开initramfs的人也可以参照一下
共享一下我修改的版本
http://u.115.com/file/f7efd9f008#
pmagic.iso
我修改一个linux的live cd,叫partedmagic,
官方下载地址:
http://beefdrapes.partedmagic.com/
我下载的是pxe版的,最新的是pmagic-pxe-6.0-06Apr,173134.zip,非pxe版修改方法是一样的,自己参照着修改即可
我想修改一下里面的文件,这个pxe版包含两个重要文件,一个是内核bzImage,另一个是initramfs,我使用以下命令把initramfs解开
mkdir /xxx
file initramfs
发现是gzip打包的,于是用gunzip解包
mv /media/sr0/initramfs /xxx/initramfs.gz
cd /xxx
gunzip initramfs.gz
生成一个initramfs文件,然后
file initramfs
发现又是cpio打包的,于是再次解开
cpio -iv < ./initramfs
解开后在里面能找到一个pmagic-6.0.sqfs文件
继续把pmagic-6.0.sqfs解开
unsquashfs pmagic-6.0.sqfs
就会生成squashfs-root目录
cd squashfs-root
然后修改了一下壁纸,修改了一下firefox的首页
然后就重新打包回去
cd /xxx
mksquashfs ./squashfs-root ./pmagic-6.0.sqfs -comp xz -b 1M
在pmagic里,mksquashfs的压缩方式是没有lzma压缩方式的
生成的pmagic-6.0.sqfs放回/xxx目录,然后把squashfs-root目录删除,原initramfs文件也删除
find . | cpio -o -H newc | gzip -9 > /initramfs
重新打包回去后,再根目录找到initramfs,替换下载回来的pmagic-pxe-6.0-04Apr,173540.zip里的文件
正常启动
看看我替换桌面壁纸后的画面
记事本:
lxpane面板的配置文件存放于root/.config/lxpanel/default/panel,可用于修改快速启动栏图标
开始菜单目录名的修改:/usr/share/desktop-directories目录
桌面图标存放于/usr/share/pixmaps
firefox浏览器的修改:/usr/lib/firefox /root/.mozilla
新版本桌面图标的修改:/root/.config/rox.sourceforge.net/Rox-Filer/pb_pmagic
恢复新版本被删除的vncserver:
拷贝旧版本相应的文件
/usr/bin/下的vncconfig vncpasswd vncserver x0vncserver Xvnc
/usr/lib下的libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.2-2.so.3
/usr/local/bin下的vncserver x0vncserver Xdialog
/usr/share/vnc目录
修改过程中发现一个好工具,就是一个叫inotify-tools的软件,inotify是linux系统2.6.13以后内核支持的一种特性,功能是监视文件系统的变化,在监听到文件系统变化后会向相应的应用程序发送事件,这个工具就是根据这个特性做出来的,大家可以去网上搜索一下这个工具的txz版本,然后在partedmagic里使用installpkgs inotify-tools-3.13-i486-1.txz命令安装,然后就可以使用这个工具监控文件的变化了,比如更改桌面图标
使用/usr/bin/inotifywait -rme modify,create /etc /usr /root
这个命令监控/etc、/usr、/root三个目录里文件的修改和创建
如果监控的时候跳出下面这个错误提示:
please increase the amount of inotify watches allowed per user via '/proc/sys/fs/inotify/max_user_watches'
则可以使用下面命令解决:
echo 111111 > /proc/sys/fs/inotify/max_user_watches //这里的111111随便填写一个大一点的数字即可
如果监控时要排除某些目录,可以使用以下命令:
inotifywait --exclude '^/tmp/|/dev/' -rme modify,create / //这里监控根目录,但是使用正则表达式排除/tmp和/dev目录
桌面图标修改后,就会在终端上显示哪个文件被修改了
[ 本帖最后由 ones 于 2011-9-13 10:48 编辑 ] |
|