上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Ubuntuの改変initramfs&kexec利用のLinux起動用CDのISOファイル作成スクリプト

標記の起動用CDに関しては、セキュリティ上の危険があるので、Ubuntuフォーラムでは「書かないでください」と言われてしまいました。まぁ、妥当なことだと思います。

それで、ここに書こうと思います。

スクリプトもinitの内容も公開しておくつもりなので、どうせなら、初心者でも簡単にできるように、isoファイルを作成することのできるスクリプトを作りました。

ホーム(/home/ユーザー名)ディレクトリ、つまり「場所」ー「ホーム・フォルダ」で開くフォルダの中など、読み書き実行権限があるディレクトリに、新しくディレクトリを作成してください。(右クリックして、適当な名前を付ければ良いです。たとえば、kiyoChelp)
以下に記したスクリプト(横線で挟まれた部分)をドラッグして右クリックして「コピー」し、テキストエディタ(たとえば「アプリケーション」ー「アクセサリ」ー「geditテキストエディタ」)の編集画面内で右クリックして「貼り付け」してください。
そして、テキストファイルとして適当な名前で、作成したディレクトリの中に保存してください。たとえば、makekiyoshihelp.sh
とか。
別に、initの内容、たとえば、
http://kiyoandkei.blog68.fc2.com/blog-entry-23.html
のinitの内容をテキストファイルとして、
init.txt
という名前で、作成したディレクトリ(たとえばkiyoChelp)の中に保存しておいてください。

できれば端末で、コピーしたディレクトリにcd、つまり
$ cd コピーしたディレクトリ(たとえば、kiyoChelp)
してから
$ bash ./作成したテキストファイルの名前(たとえばmakekiyoshihelp.sh)
で実行してください。
うまくいけば、作成したディレクトリの中に
kiyoshihelp.iso
というファイルが作成されます。それを右クリックして「書き込む」をクリックして、CD-Rにでも焼けば良いです。

作成したテキストファイルを右クリックして「プロパティ」で「アクセス権」タブで「プログラムとして実行できる」にチェックして「プロパティ」のウィンドウを閉じてからそのままダブルクリックしても実行できるかもしれませんが、この場合、エラーが発生してもエラーメッセージが表示されないことがほとんどだと思います。



#!/bin/bash

cd $(dirname $0)

if [ "$(ls . -la1|wc -l|tr -s " "|sed -e "s/^ *//"|cut -d" " -f1)" -gt 5 ]
then
echo "Please copy $0 into a directory which does not contain any directory nor any file"
exit 0
fi

if [ ! ./init.txt ]
then
echo "Please edit appropriate init.txt in the same directory containing $0"
ecit 0
fi

if [ -z "$(apt-cache search kexec-tools)" ]
then
echo "Please install kexec-tools before execute $0"
exit 0
fi

wget -c http://downloads.sourceforge.net/project/grub4dos/GRUB4DOS/grub4dos%200.4.4/grub4dos-0.4.4.zip?use_mirror=jaist
if [ $? = 1 ]
then
echo "Downloading http://downloads.sourceforge.net/project/grub4dos/GRUB4DOS/grub4dos%200.4.4/grub4dos-0.4.4.zip?use_mirror=jaist failed. Abort."
exit 0
fi

unzip grub4dos-0.4.4.zip

mkdir init
cd init
gzip -dc /boot/initrd.img-$(uname -r) | cpio -i
cp -p /sbin/kexec sbin/
mkdir -p lib/tls/i686/cmov
cp -p /lib/tls/i686/cmov/libc.so.6 lib/tls/i686/cmov/

cp ../init.txt ./init

find .|cpio -H newc -o|gzip -9 > ../initrd.img
cd ..
mkdir isoroot
cp ./initrd.img isoroot/
cp /boot/vmlinuz-$(uname -r) isoroot/
cp grub4dos-0.4.4/grldr isoroot/
touch isoroot/menu.lst

cat > isoroot/menu.lst <<OWARIDESU
default 0
timeout 10
title kiyoshi's help thanks to ubuntu kernel $(uname -r) and kexec-tools
kernel /vmlinuz-$(uname -r)
initrd /initrd.img
OWARIDESU

mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o kiyoshihelp.iso isoroot
exit 0


以上がスクリプトですが、このページがクラックされたり、小生のこのBLOGでのパスワードが悪意のある第三者に知られていて、このページの内容を書き換えられたりしていたら、非常に危険です。何か良い方法が無いかなぁ。
関連記事

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

プロフィール

kiyoshi

Author:kiyoshi
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
since 2011/9/25
現在の閲覧者数:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。