バイトとlivecd-tools
昨日の話です。
つうか〜、ただのメモなんですけれどね...
昨日は、学校行〜かないって決めてアルバイトに行きましたよ。 本当は卒業研究の発表用のパワーポイントまとめたり、卒論をちょこちょこ書きなおさなければいけないんですが... 本屋に行って、 マンガ(腐女子彼女)を買って... それでバイト先で菓子を食べ、おいてあったタンカンを頂、mixi見ながら仕事ですよ。 どんなバイトだよって、仕事してるのかよ? って正直自分でも思うんですが...
livecd-toolsのまとめ。
昨日やったのは、LinuxのLiveCDをカスタマイズする方法です。 FedoraのVersion 7,8にはlivecd-toolsというツールがあります。 これは、anaconda-ksみたいにキックスタートファイルを用意してLiveCDを作る。ってやつです。 PXE-Bootでnetworkインストールしてる人とかだと、これのconfigなれしていて良い感じです。 .ksファイルなのでchkconfig〜とかuseraddとか書けたりするですよ。
おまけに、USBディスクをBootableな状態にしてくれるツールも付いてるのです。
# yum install -y livecd-tools
インストールがうまく実行されれば、/usr/share/livecd-toolsの下にサンプルksファイルが生成されます。 ここでは、livecd-fedora-minimal.ksを少しカスタマイズしてみます。
# vi livecd-fedora-minimal.ks
--------------------------------------------------------------------------------------------------
lang en_US.UTF-8
keyboard jp106
timezone Asia/Tokyo
auth --useshadow --enablemd5
selinux --disabled
firewall --enable
# TODO: how to replace i386 with $basearch
# TODO: apparently calling it fedora-dev instead of a-dev makes things
# not work. Perhaps it has something to do with the default repos in
# /etc/yum.repos.d not getting properly disabled?
repo --name=a-os --baseurl=http://ftp.jaist.ac.jp/pub/Linux/Fedora/releases/7/Everything/i386/os/
repo --name=a-update --baseurl=http://ftp.jaist.ac.jp/pub/Linux/Fedora/updates/7/i386/
%packages
bash
kernel
syslinux
passwd
policycoreutils
chkconfig
authconfig
rootfiles
ntp
%post
chkconfig ntpd on
別にいじる必要性もなさそう。日本語キーボードと時間、ntpdくらい入れる感じで… 本当に最小構成で良いから... 200MByteくらいで抑えたい。
# livecd-creator --config=/usr/share/livecd-tools --fslabel=sample
とやると少し時間がかかりましたが、sample.isoができました。これをUSBメモリ(/dev/sdb1にあるとする)に入れます。
# livecd-iso-to-disk sample.iso /dev/sdb1
これで、USBからbootするじゃない〜 う〜^^、カンタン、簡単。 でも、viが無い…(涙) しかも、パッケージがrpmじゃないと用意できないなぁ... ということで、新しい方法を考えます。 USBメモリに入れたLiveOSのsquashfs.imgの中身を書きか作戦です。
# mount /dev/sdb1 /media/disk
# cd /media/disk/LiveOS
# cp squashfs.img /tmp
# cd /tmp
# unsquashfs -d image squashfs.img
するとsquashfs.imgのイメージをimageディレクトリに展開します。
# cd image
# ls
os.img sysroot
多分4GByteもあるos.imgが生成されます。これはext3になっていて書き換えることができるので、これをどこかにマウントしていじくります。
# mount -o loop os.img /mnt
# cd /mnt
# ls
bin boot dev etc home lib lost+found
media mnt opt proc root sbin selinux
srv sys tmp usr var
と/mnt下にこんなのができるので、これをいじれば良いのです。同じkernelを使っているのであれば、/lib/modules下のモジュールをカスタマイズしたければコピペしたり、 /etc/sysconfig/network-scripts/のifcfgファイルとかもいじれますし、
# yum install --installroot=/mnt
とかすればあとからパッケージが追加できるですよ。おお〜 便利だ〜その後は、またsquashfs.imgを作れば良いだけです。
# umount /mnt
# mksquashfs image squashfs.img
新しくできたsquashfs.imgをUSBメモリのLiveOS下のsquashfs.imgを上書きしてしまえばよいのです。
ううぅ〜
今日は少し頑張ったと、他の仕事もしつつ帰ったわけでした。
| 固定リンク
「linuxどんちゅゆぅず?」カテゴリの記事
- LaTeX maketitle(2010.10.20)
- バイトとlivecd-tools(2008.01.18)
- Sun Fire X2100 M2 Install編(2008.10.12)
- Sun Fire X2100 M2 Update編(2009.03.09)
- cactiによる監視(2008.05.29)


コメント