slax-ja 5.1.8-2リリース
2チャンネルで指摘してもらったliblinuxliveのバグ修正と本家で報告があったSamba kioslaveの修正版モジュールを収納したものを、slax-ja 5.1.8-2としてリリース。これが5.xの最終版で、osc2006 tokyo/fallで配布するものになるかな。
liblinuxliveは、CD-R/USB内にある/tools配下と、/boot/initrd.gzと/base/02_core.moにアーカイブされているものがあって、なぜか内容がちょっと違うが、修正箇所は以下のとおり
# add special options for NTFS if [ "$FS" = "ntfs" ]; then OPT=",ro" #if [ "$IOCHARSET" != "" ]; then OPT="$OPT,nls=$IOCHARSET"; fi if [ "$IOCHARSET" != "" ]; then OPT="$OPT,nls=$IOCHARSET" else OPT="$OPT;nls=utf8" fi fi # add special options for VFAT #if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET"; fi if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET" else if [ "$FS" = "vfat" ]; then case $LANG in ja_JP* ) CODEPAGE="codepage=932" ;; ko_KR* ) CODEPAGE="codepage=949" ;; zh_CN* ) CODEPAGE="codepage=936" ;; zh_TW* ) CODEPAGE="codepage=950" ;; esac OPT=",iocharset=utf8,$CODEPAGE" fi fi
これでWindowsの日本語ファイル名が文字化けせずに読めるはずなんだけど、どうやって使えばいいんだろうか。
/tools/liblinuxliveは直接修正できるので楽だが、/base/02_core.moにアーカイブされているものは、slaxに用意されているコマンドmo2dirで伸張してから修正しなければならない。
# mkdir 02_core # mo2dir 02_core.mo 02_core/ # cd 02_core # cd usr/lib # LC_ALL=C vim liblinuxlive # cd ../.. # makepkg ../02_core.tgz # cd .. # tgz2mo 02_core.tgz 02_core.mo
/boot/initrd.gzにアーカイブされているものは、もうちょっと難しい。例えば、ハードディスクの~/slax-ja5.1.8にコピーして次のように修正する。
# cd ~/slax-ja5.1.8/boot/ # gzip -cd initrd.gz > initrd # losetup /dev/loop0 initrd # mkdir /mnt/loop0 # mount /dev/loop0 /mnt/loop0 # cd /mnt/loop0 # LC_ALL=C vim liblinuxlive # cd ~/slax-ja5.1.8 # umount /mnt/loop0 # gzip -c initrd > initrd.gz # losetup -d /dev/loop0
今回はとっても勉強になった。slackware/slaxのinitrdは、FedoraCoreでアーカイブするようなcpioを使わない旧型の方法だったというのも、ある意味新鮮。