bootld
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
*BOOT loader LanDisk [#rd810bf5]
&color(red){''uClibcベースで再構築、仕様を中変更しました...
-''BOOT loader LanDisk'' (BOOT LoaDer landiskの略かも) (^...
大まかに言えば、lilo(boot.b-selk)の変わりになるセレクタ機...
~
同じようなことを考える人はたくさんいるようで、ぐぐるとkbo...
~
そこで、lilo(boot.b-selk)の思想を受け継ぐべく、LANDISKの...
~
なお、大まかな枠組みは「カーネルとユーザランドの統合単一...
~
**ブートセレクタの仕様 [#rcd5ffc4]
-機能仕様
--ブートセレクトの数は4個(ユーザが使えるラベルは3個で...
--電源スイッチのトグル(ON/OFF)回数でブートラベルを指定。
--現在のブートラベルは&color(red){''赤LED''};の点滅パター...
--6秒間、スイッチがトグルしなかった場合、現時点のブートラ...
--LEDの仕様
---ブートラベル1…LED点滅
---ブートラベル2…LED2回点滅→休止→LED2回点滅→休止→繰り返し
---ブートラベル3…LED3回点滅→休止→LED3回点滅→休止→繰り返し
---ブートラベル0…LED常時点灯(レスキュー用途)
--スイッチの仕様
---初期状態はブートラベル1。
---トグル動作が行われる毎に、ブートラベル2→ブートラベル...
~
~
**ローダ部の仕様 [#l62c6223]
-カーネルとブートパラメータの指定方法~
--/boot/bootld.confへカーネルブート情報($IMAGEと$APPEND...
具体的には、set_bootlabel()とset_network()関数をユーザが...
なお、set_network()はレスキューモードで使用されるネットワ...
--/boot/bootld.conf の格納場所~
ファイルシステムタイプがext2,ext3,vfat,reiserfsのいずれか...
複数のパーティションに /boot/bootld.conf が存在する場合は...
『例えば、万が一、内蔵ディスク(/dev/sda3)のbootld.conf を...
~
-set_bootlabel()~
引数は1個。
1,2,3のいずれかのブートラベル番号が引数として渡ってくるの...
--''$IMAGE''~
パーティション指定部とカーネルイメージの場所をコロン":"で...
---''$IMAGE=/dev/sda1:/boot/vmlinuz-2.6.33-rc2-landisk''~
/dev/sda1の/boot/vmlinuz-2.6.33-rc2-landiskを使用するとい...
bootld上では、全てのデバイスはSCSIデバイスとして扱われる...
---''$IMAGE=/dev/sda1''~
イメージの場所は省略可能。この場合、/zImage、/vmlinuz、/b...
カーネルの実態へリンクを張っておくと便利かも。~
---%%''$IMAGE=""''%%~
イメージが無指定の場合、sdd→sdc→sdb→sdaの順にサーチする?...
---%%パーティション指定部が未検出のデバイスだった場合%% ...
%%恐らくそれはusb_storageなので、自動的にusb_storageモジ...
(''fdisk -l /dev/sdb''等とやれば、未検出のデバイスが検出...
---''$IMAGE="http://192.168.1.80/zImage"''~
パーティション指定部が"http"であった場合、カーネルをwget...
~
--''$APPEND''~
カーネルの起動パラメータ。/proc/cmdline。kexecの--append=...
~
--set_bootlabel()の例~
#pre{{
set_bootlabel()
{
case "$1" in
1 ) # search for /zImage /vmlinuz /boot/zImage /b...
IMAGE=/dev/sda3
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
2 ) # LANDISK original 2.4.21 kernel
IMAGE=/dev/sda1
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
3 ) # from usb-storage
IMAGE=/dev/sdb1
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
sample1 ) # full path
IMAGE=/dev/sda3:/boot/vmlinuz-2.6.22-rc2-land...
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
sample2 ) # from Network
IMAGE=http://192.168.1.80/zImage
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
esac
}
}}
-set_network関数~
説明省略。例をみてくだい。~
--/boot/bootld.confのset_network()の例 … dhcpによるIPアド...
#pre{{
set_network()
{
hostname bootld
ifup -a
}
}}
--/boot/bootld.confのset_network()の例 … 固定IPアドレス~
#pre{{
set_network()
{
hostname bootld
# over write /etc/network/interfaces
cat <<EOF > /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.80
netmask 255.255.255.0
gateway 192.168.1.1
EOF
# over write /etc/resolv.conf
cat <<EOF > /etc/resolv.conf
nameserver 192.168.1.1
EOF
ifup -a
}
}}
**実装 [#a1d0c5ed]
-/etc/init.d/bootld
--第1段階 … ブートセレクタ~
---選択されたブートラベルを$LABEL変数へセットする。~
---`select_btn $SELECT_DELAY `にて $SELECT_DELAY秒間の無...
--
#pre{{
#!/bin/sh
export PATH=/sbin:/bin:/usr/bin
/bin/mount -a
&color(green){echo ; echo "BOOT loader LanDisk V1.3"};
#----------------------------------------------
# 1. boot select
#----------------------------------------------
LABEL=0
BTN=push-switch.0
SELECT_DELAY=6
while [ "$BTN" != "" ] ; do
LABEL=`expr \( $LABEL + 1 \) % 4`
&color(green){echo "Select Boot Label $LABEL"};
case "$LABEL" in
0 ) ledctrl pwr=0 status=1 ;;
1 ) ledctrl pwr=0 status=10R,200 ;;
2 ) ledctrl pwr=0 status=10100000R,150 ;;
3 ) ledctrl pwr=0 status=1010100000R,150 ;;
esac
BTN=`select_btn $SELECT_DELAY`
done
}}
--第2段階 … /boot/bootld.confの探索
---fdisk -l で接続中のデバイスを捜査し、逆順で(デバイス番...
---/boot/bootld.confが見つかれば、上書き。
--
#pre{{
#----------------------------------------------
# 2. search /boot/bootld.conf
#----------------------------------------------
. /boot/bootld.conf
DEVLIST=$(&color(orange){fdisk -l /dev/sd?}; | awk '$1 ~ ...
for CDEV in $DEVLIST ; do
mount -r $CDEV /mnt || continue
if [ -r /mnt/boot/bootld.conf ] ; then
&color(green){echo "/boot/bootld.conf found in $C...
. /mnt/boot/bootld.conf
umount -l /mnt
break
fi
umount -l /mnt
done
}}
--第3段階 … カーネルの探索およびロード
---set_bootlabel を実行して ユーザが/boot/bootld.confで定...
---$IMAGEをデバイス名$DEVとファイル名$KERNELに分解。~
---$DEVが'http'であれば、カーネルを /tmp/zImage.tmp とし...
---$DEVが'/dev/sd*'であれば、カーネルを /tmp/zImage.tmp ...
コピーする際、カーネル名が未定義であれば、/zImage /vmlinu...
---レスキューモードが選択された場合は$DEVが未定義となるた...
--
#pre{{
#----------------------------------------------
# 3. search and copy kernel
#----------------------------------------------
[ "$LABEL" != "0" ] && &color(blue){set_bootlabel $LABEL};
IMAGE_="$IMAGE:"
KERNEL=$(echo $IMAGE_ | cut -d: -f2)
DEV=$(echo $IMAGE_ | cut -d: -f1)
rm -rf /tmp/zImage.tmp
case $DEV in
http )
&color(green){echo "setup Network"};
&color(blue){set_network};
NETWORK=ON
&color(red){wget $IMAGE -O /tmp/zImage.tmp};
;;
/dev/sd* )
mkdir /mnt2
mount -r $DEV /mnt2 || break
if [ "$KERNEL" = "" ] ; then
for SIMG in /zImage /vmlinuz /boot/zImage /bo...
if [ -e "/mnt2$SIMG" ] ; then
KERNEL=$SIMG
break
fi
done
fi
&color(red){cp /mnt2$KERNEL /tmp/zImage.tmp};
umount -l /mnt2
;;
esac
}}
--最終段階 … kexec
---カーネル(/tmp/zImage.tmp)があればkexec。
---なければレスキューモードに抜ける。
--
#pre{{
#----------------------------------------------
# 4. do kexec
#----------------------------------------------
if [ -e /tmp/zImage.tmp ] ; then
&color(green){echo "Start Booting from Label $LABEL ....
&color(green){echo "IMAGE=$DEV:$KERNEL"};
&color(green){echo "APPEND=\"$APPEND\""};
/bin/umount -a
&color(red){exec /sbin/kexec -f --append="$APPEND" /t...
else
&color(green){echo "Start Booting from Rescue mode .....
# Network
[ "$NETWORK" = "" ] && &color(blue){set_network};
# Daemon
inetd
btnctrl /etc/btn_action.conf &
ledctrl pwr=0 status=1 buzzer=10
fi
exit 0
}}
-補足~
--&color(orange){fdisk -l /dev/sd?};~
USBストレージデバイスが認識されたり、されなかったり、状態...
どうやら、fdiskは、未認識のデバイス(scsi、usb-strage)を初...
ただし、本来のやり方と違うと思うので、正当なやり方をご存...
~
--$CDEV~
Current Deviceの略で/boot/bootld.confを読み込んだデバイス...
デバイス番号が実行時に確定するようなデバイス(例えばリム...
#pre{{
IMAGE=$CDEV:/vmlinuz
APPEND="mem=64M console=ttySC1,9600 root=$CDEV"
}}
*インストール方法 [#ldcbbe9c]
-ファイル一式~
[[bootld-20070617.tgz:http://eggplant.ddo.jp/www/download...
&color(red){失敗しても泣かない方のみ、ダウンロードしてお...
~
-/dev/sda1(/dev/hda1)へインストールを行う~
&color(red){/dev/sda};を自分の環境にあわせて読み替えるこ...
例えば、PC-Linuxを使ってインストールする場合は、そのディ...
#pre{{
# mount &color(red){/dev/sda1}; /mnt
# tar vxfz bootld-20070617.tgz -C /mnt
./boot
./boot/bootld.conf
./boot/bootld.dont_touch
./boot/bootld.dont_touch/lilo
./boot/bootld.dont_touch/boot.b-selk
./boot/bootld.dont_touch/lilo.conf
./boot/bootld.dont_touch/vmlinuz-initramfs-landisk.08
./boot/bootld.dont_touch/lilo.x86
}}
-liloでbootldを起動
--/mnt/bootld.dont_touch/lilo.conf の編集~
---timeoutを0にする。~
---&color(red){/dev/sda};を各自の環境に合わせてよみかえる...
---bootld/dont_touchの実体がdiskで指定したデバイス内に存...
#pre{{
linear
boot=&color(red){/dev/sda};
disk=&color(red){/dev/sda};
bios=0x80
&color(red){timeout=0};
install=&color(red){/boot/bootld.dont_touch/boot.b-selk};
map=&color(red){/boot/bootld.dont_touch/map};
default=bootld
image=&color(red){/boot/bootld.dont_touch/vmlinuz-initram...
label=bootld
read-only
append="mem=64M &color(red){usb-storage.delay_use...
}}
&color(red){usb-storage.delay_use=0}; : USBストレージを即...
--lilo
#pre{{
# /mnt/boot/bootld.dont_touch/lilo -r /mnt -C /boot/bootl...
Added bootld *
}}
-補足事項
--PC-Linux上からはlilo.x86を使うと良いかも。ただし当方で...
--liloの書き込みはこの一回のみで金輪際不要です。lilo無し...
--dont_touchディレクトリは読んで字のごとく、一切触らない...
--個人メモ:lilo打ち込み方法、別の方法(-r オプションなし)
#pre{{
linear
boot=/dev/sda
disk=/dev/sda
bios=0x80
timeout=0
install=&color(red){/mnt};/boot/bootld.dont_touch/boot.b-...
map=&color(red){/mnt};/boot/bootld.dont_touch/map
default=bootld
image=&color(red){/mnt};/boot/bootld.dont_touch/vmlinuz-i...
label=bootld
read-only
append="mem=64M usb-storage.delay_use=0 bootld=/e...
}}
~
#pre{{
# /mnt/boot/bootld.dont_touch/lilo -C &color(red){/mnt};/...
}}
**インストール方法 … &color(red){''裏技版 -- bootld.mbr''...
-(PC-)LINUXに中身が消去されても良いHDDを接続します。~
USBストレージ経由で接続したHDDが、PC-Linux上で/dev/sdbと...
~
-bootld.mbr~
[[bootld_255h_63s.mbr.gz:http://eggplant.ddo.jp/www/downl...
bootldを含む約8MBのファーストパーティションが作成されます...
&color(red){''注意:MBRごと上書きしますので、ディスク上の...
#pre{{
# gzip -d bootld_255h_63s.mbr.gz
# dd if=bootld_255h_63s.mbr of=/dev/sdb
# sync;sync;sync
}}
以上で終了です。~
~
-確認~
fdisk、または、マウントして中身を確認することができます。~
なお、リブートするなどしてUSBストレージを再認識させる必要...
(MBR毎強制書き換えを行ったため、OS内に保持されたdiskstat...
#pre{{
# fdisk -l /dev/sdb
Disk /dev/sdb: 40.9 GB, 40982151168 bytes
255 heads, 63 sectors/track, 4982 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id S...
/dev/sdb1 1 1 8001 83 L...
}}
-補足事項--作り方
--USBスティック内にfdiskで8MBのパーティションを作成。
--その中に、bootld関連ファイルをコピーして、liloを打ち込...
--dd でMBRとパーティション毎吸い出して、bootld.mbrとする。
--古いHDDにddで書き戻して、LANDISKに組み込み、起動するこ...
~
-
&color(red){''2.6最新カーネルを使って、LANDISKの2.4ベース...
~
*comment [#dab29d4d]
#vote(動いた[6],動かなかった[0],動かなかったに投票したけ...
終了行:
*BOOT loader LanDisk [#rd810bf5]
&color(red){''uClibcベースで再構築、仕様を中変更しました...
-''BOOT loader LanDisk'' (BOOT LoaDer landiskの略かも) (^...
大まかに言えば、lilo(boot.b-selk)の変わりになるセレクタ機...
~
同じようなことを考える人はたくさんいるようで、ぐぐるとkbo...
~
そこで、lilo(boot.b-selk)の思想を受け継ぐべく、LANDISKの...
~
なお、大まかな枠組みは「カーネルとユーザランドの統合単一...
~
**ブートセレクタの仕様 [#rcd5ffc4]
-機能仕様
--ブートセレクトの数は4個(ユーザが使えるラベルは3個で...
--電源スイッチのトグル(ON/OFF)回数でブートラベルを指定。
--現在のブートラベルは&color(red){''赤LED''};の点滅パター...
--6秒間、スイッチがトグルしなかった場合、現時点のブートラ...
--LEDの仕様
---ブートラベル1…LED点滅
---ブートラベル2…LED2回点滅→休止→LED2回点滅→休止→繰り返し
---ブートラベル3…LED3回点滅→休止→LED3回点滅→休止→繰り返し
---ブートラベル0…LED常時点灯(レスキュー用途)
--スイッチの仕様
---初期状態はブートラベル1。
---トグル動作が行われる毎に、ブートラベル2→ブートラベル...
~
~
**ローダ部の仕様 [#l62c6223]
-カーネルとブートパラメータの指定方法~
--/boot/bootld.confへカーネルブート情報($IMAGEと$APPEND...
具体的には、set_bootlabel()とset_network()関数をユーザが...
なお、set_network()はレスキューモードで使用されるネットワ...
--/boot/bootld.conf の格納場所~
ファイルシステムタイプがext2,ext3,vfat,reiserfsのいずれか...
複数のパーティションに /boot/bootld.conf が存在する場合は...
『例えば、万が一、内蔵ディスク(/dev/sda3)のbootld.conf を...
~
-set_bootlabel()~
引数は1個。
1,2,3のいずれかのブートラベル番号が引数として渡ってくるの...
--''$IMAGE''~
パーティション指定部とカーネルイメージの場所をコロン":"で...
---''$IMAGE=/dev/sda1:/boot/vmlinuz-2.6.33-rc2-landisk''~
/dev/sda1の/boot/vmlinuz-2.6.33-rc2-landiskを使用するとい...
bootld上では、全てのデバイスはSCSIデバイスとして扱われる...
---''$IMAGE=/dev/sda1''~
イメージの場所は省略可能。この場合、/zImage、/vmlinuz、/b...
カーネルの実態へリンクを張っておくと便利かも。~
---%%''$IMAGE=""''%%~
イメージが無指定の場合、sdd→sdc→sdb→sdaの順にサーチする?...
---%%パーティション指定部が未検出のデバイスだった場合%% ...
%%恐らくそれはusb_storageなので、自動的にusb_storageモジ...
(''fdisk -l /dev/sdb''等とやれば、未検出のデバイスが検出...
---''$IMAGE="http://192.168.1.80/zImage"''~
パーティション指定部が"http"であった場合、カーネルをwget...
~
--''$APPEND''~
カーネルの起動パラメータ。/proc/cmdline。kexecの--append=...
~
--set_bootlabel()の例~
#pre{{
set_bootlabel()
{
case "$1" in
1 ) # search for /zImage /vmlinuz /boot/zImage /b...
IMAGE=/dev/sda3
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
2 ) # LANDISK original 2.4.21 kernel
IMAGE=/dev/sda1
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
3 ) # from usb-storage
IMAGE=/dev/sdb1
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
sample1 ) # full path
IMAGE=/dev/sda3:/boot/vmlinuz-2.6.22-rc2-land...
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
sample2 ) # from Network
IMAGE=http://192.168.1.80/zImage
APPEND="mem=64M console=ttySC1,9600 root=/dev...
;;
esac
}
}}
-set_network関数~
説明省略。例をみてくだい。~
--/boot/bootld.confのset_network()の例 … dhcpによるIPアド...
#pre{{
set_network()
{
hostname bootld
ifup -a
}
}}
--/boot/bootld.confのset_network()の例 … 固定IPアドレス~
#pre{{
set_network()
{
hostname bootld
# over write /etc/network/interfaces
cat <<EOF > /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.80
netmask 255.255.255.0
gateway 192.168.1.1
EOF
# over write /etc/resolv.conf
cat <<EOF > /etc/resolv.conf
nameserver 192.168.1.1
EOF
ifup -a
}
}}
**実装 [#a1d0c5ed]
-/etc/init.d/bootld
--第1段階 … ブートセレクタ~
---選択されたブートラベルを$LABEL変数へセットする。~
---`select_btn $SELECT_DELAY `にて $SELECT_DELAY秒間の無...
--
#pre{{
#!/bin/sh
export PATH=/sbin:/bin:/usr/bin
/bin/mount -a
&color(green){echo ; echo "BOOT loader LanDisk V1.3"};
#----------------------------------------------
# 1. boot select
#----------------------------------------------
LABEL=0
BTN=push-switch.0
SELECT_DELAY=6
while [ "$BTN" != "" ] ; do
LABEL=`expr \( $LABEL + 1 \) % 4`
&color(green){echo "Select Boot Label $LABEL"};
case "$LABEL" in
0 ) ledctrl pwr=0 status=1 ;;
1 ) ledctrl pwr=0 status=10R,200 ;;
2 ) ledctrl pwr=0 status=10100000R,150 ;;
3 ) ledctrl pwr=0 status=1010100000R,150 ;;
esac
BTN=`select_btn $SELECT_DELAY`
done
}}
--第2段階 … /boot/bootld.confの探索
---fdisk -l で接続中のデバイスを捜査し、逆順で(デバイス番...
---/boot/bootld.confが見つかれば、上書き。
--
#pre{{
#----------------------------------------------
# 2. search /boot/bootld.conf
#----------------------------------------------
. /boot/bootld.conf
DEVLIST=$(&color(orange){fdisk -l /dev/sd?}; | awk '$1 ~ ...
for CDEV in $DEVLIST ; do
mount -r $CDEV /mnt || continue
if [ -r /mnt/boot/bootld.conf ] ; then
&color(green){echo "/boot/bootld.conf found in $C...
. /mnt/boot/bootld.conf
umount -l /mnt
break
fi
umount -l /mnt
done
}}
--第3段階 … カーネルの探索およびロード
---set_bootlabel を実行して ユーザが/boot/bootld.confで定...
---$IMAGEをデバイス名$DEVとファイル名$KERNELに分解。~
---$DEVが'http'であれば、カーネルを /tmp/zImage.tmp とし...
---$DEVが'/dev/sd*'であれば、カーネルを /tmp/zImage.tmp ...
コピーする際、カーネル名が未定義であれば、/zImage /vmlinu...
---レスキューモードが選択された場合は$DEVが未定義となるた...
--
#pre{{
#----------------------------------------------
# 3. search and copy kernel
#----------------------------------------------
[ "$LABEL" != "0" ] && &color(blue){set_bootlabel $LABEL};
IMAGE_="$IMAGE:"
KERNEL=$(echo $IMAGE_ | cut -d: -f2)
DEV=$(echo $IMAGE_ | cut -d: -f1)
rm -rf /tmp/zImage.tmp
case $DEV in
http )
&color(green){echo "setup Network"};
&color(blue){set_network};
NETWORK=ON
&color(red){wget $IMAGE -O /tmp/zImage.tmp};
;;
/dev/sd* )
mkdir /mnt2
mount -r $DEV /mnt2 || break
if [ "$KERNEL" = "" ] ; then
for SIMG in /zImage /vmlinuz /boot/zImage /bo...
if [ -e "/mnt2$SIMG" ] ; then
KERNEL=$SIMG
break
fi
done
fi
&color(red){cp /mnt2$KERNEL /tmp/zImage.tmp};
umount -l /mnt2
;;
esac
}}
--最終段階 … kexec
---カーネル(/tmp/zImage.tmp)があればkexec。
---なければレスキューモードに抜ける。
--
#pre{{
#----------------------------------------------
# 4. do kexec
#----------------------------------------------
if [ -e /tmp/zImage.tmp ] ; then
&color(green){echo "Start Booting from Label $LABEL ....
&color(green){echo "IMAGE=$DEV:$KERNEL"};
&color(green){echo "APPEND=\"$APPEND\""};
/bin/umount -a
&color(red){exec /sbin/kexec -f --append="$APPEND" /t...
else
&color(green){echo "Start Booting from Rescue mode .....
# Network
[ "$NETWORK" = "" ] && &color(blue){set_network};
# Daemon
inetd
btnctrl /etc/btn_action.conf &
ledctrl pwr=0 status=1 buzzer=10
fi
exit 0
}}
-補足~
--&color(orange){fdisk -l /dev/sd?};~
USBストレージデバイスが認識されたり、されなかったり、状態...
どうやら、fdiskは、未認識のデバイス(scsi、usb-strage)を初...
ただし、本来のやり方と違うと思うので、正当なやり方をご存...
~
--$CDEV~
Current Deviceの略で/boot/bootld.confを読み込んだデバイス...
デバイス番号が実行時に確定するようなデバイス(例えばリム...
#pre{{
IMAGE=$CDEV:/vmlinuz
APPEND="mem=64M console=ttySC1,9600 root=$CDEV"
}}
*インストール方法 [#ldcbbe9c]
-ファイル一式~
[[bootld-20070617.tgz:http://eggplant.ddo.jp/www/download...
&color(red){失敗しても泣かない方のみ、ダウンロードしてお...
~
-/dev/sda1(/dev/hda1)へインストールを行う~
&color(red){/dev/sda};を自分の環境にあわせて読み替えるこ...
例えば、PC-Linuxを使ってインストールする場合は、そのディ...
#pre{{
# mount &color(red){/dev/sda1}; /mnt
# tar vxfz bootld-20070617.tgz -C /mnt
./boot
./boot/bootld.conf
./boot/bootld.dont_touch
./boot/bootld.dont_touch/lilo
./boot/bootld.dont_touch/boot.b-selk
./boot/bootld.dont_touch/lilo.conf
./boot/bootld.dont_touch/vmlinuz-initramfs-landisk.08
./boot/bootld.dont_touch/lilo.x86
}}
-liloでbootldを起動
--/mnt/bootld.dont_touch/lilo.conf の編集~
---timeoutを0にする。~
---&color(red){/dev/sda};を各自の環境に合わせてよみかえる...
---bootld/dont_touchの実体がdiskで指定したデバイス内に存...
#pre{{
linear
boot=&color(red){/dev/sda};
disk=&color(red){/dev/sda};
bios=0x80
&color(red){timeout=0};
install=&color(red){/boot/bootld.dont_touch/boot.b-selk};
map=&color(red){/boot/bootld.dont_touch/map};
default=bootld
image=&color(red){/boot/bootld.dont_touch/vmlinuz-initram...
label=bootld
read-only
append="mem=64M &color(red){usb-storage.delay_use...
}}
&color(red){usb-storage.delay_use=0}; : USBストレージを即...
--lilo
#pre{{
# /mnt/boot/bootld.dont_touch/lilo -r /mnt -C /boot/bootl...
Added bootld *
}}
-補足事項
--PC-Linux上からはlilo.x86を使うと良いかも。ただし当方で...
--liloの書き込みはこの一回のみで金輪際不要です。lilo無し...
--dont_touchディレクトリは読んで字のごとく、一切触らない...
--個人メモ:lilo打ち込み方法、別の方法(-r オプションなし)
#pre{{
linear
boot=/dev/sda
disk=/dev/sda
bios=0x80
timeout=0
install=&color(red){/mnt};/boot/bootld.dont_touch/boot.b-...
map=&color(red){/mnt};/boot/bootld.dont_touch/map
default=bootld
image=&color(red){/mnt};/boot/bootld.dont_touch/vmlinuz-i...
label=bootld
read-only
append="mem=64M usb-storage.delay_use=0 bootld=/e...
}}
~
#pre{{
# /mnt/boot/bootld.dont_touch/lilo -C &color(red){/mnt};/...
}}
**インストール方法 … &color(red){''裏技版 -- bootld.mbr''...
-(PC-)LINUXに中身が消去されても良いHDDを接続します。~
USBストレージ経由で接続したHDDが、PC-Linux上で/dev/sdbと...
~
-bootld.mbr~
[[bootld_255h_63s.mbr.gz:http://eggplant.ddo.jp/www/downl...
bootldを含む約8MBのファーストパーティションが作成されます...
&color(red){''注意:MBRごと上書きしますので、ディスク上の...
#pre{{
# gzip -d bootld_255h_63s.mbr.gz
# dd if=bootld_255h_63s.mbr of=/dev/sdb
# sync;sync;sync
}}
以上で終了です。~
~
-確認~
fdisk、または、マウントして中身を確認することができます。~
なお、リブートするなどしてUSBストレージを再認識させる必要...
(MBR毎強制書き換えを行ったため、OS内に保持されたdiskstat...
#pre{{
# fdisk -l /dev/sdb
Disk /dev/sdb: 40.9 GB, 40982151168 bytes
255 heads, 63 sectors/track, 4982 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id S...
/dev/sdb1 1 1 8001 83 L...
}}
-補足事項--作り方
--USBスティック内にfdiskで8MBのパーティションを作成。
--その中に、bootld関連ファイルをコピーして、liloを打ち込...
--dd でMBRとパーティション毎吸い出して、bootld.mbrとする。
--古いHDDにddで書き戻して、LANDISKに組み込み、起動するこ...
~
-
&color(red){''2.6最新カーネルを使って、LANDISKの2.4ベース...
~
*comment [#dab29d4d]
#vote(動いた[6],動かなかった[0],動かなかったに投票したけ...
ページ名: