別パーティションの / を本当の / にするために、 標準ファームの /sbin/switch_root を使ってみたのだが、 なんだか HDD が破壊?されてしまう。
まさか、ここまで到達することを読んでトラップを仕掛けているとしたなら、 バッファローさん、すごい!
とか思っていたら、switch_root は旧 / を消してしまうようだ。
RamRoot ならいざしらず HDD Root を消されたのではたまらない。
まぁ、標準ファームの / が壊されても、 リストアするとか手はある。
それより、sda6 の Debian を起動すること。
試行錯誤する。
mkdir /rootfs mount /dev/sda6 /rootfs exec /sbin/switch_root /rootfs /sbin/initとしてみたが、結果は同じ
[root@LS410D06E ~]# /bin/busybox | grep switch_root
swapon, switch_root, sync, sysctl, syslogd, tail, tee, telnet, telnetd, test, tftp, time, top, touch,
[root@LS410D06E ~]#
あるある。
シンボリックリンクを張る。
[root@LS410D06E ~]# ln -s /bin/busybox /usr/local/sbin/switch_root [root@LS410D06E ~]#
[root@LS410D06E ~]# cd /etc/init.d/
[root@LS410D06E init.d]# mv rcS{,.orig}
[root@LS410D06E init.d]# cp rcS{.orig,}
[root@LS410D06E init.d]# ls -l !*
ls -l rcS{.orig,}
-rwxr-xr-x 1 root root 3869 Oct 9 22:09 rcS*
-rwxr-xr-x 1 root root 3869 May 14 05:50 rcS.orig*
[root@LS410D06E init.d]# vi rcS
:
:
[root@LS410D06E init.d]# diff -u rcS{.orig,}
--- rcS.orig
+++ rcS
@@ -3,6 +3,10 @@
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
+mkdir /rootfs
+mount /dev/sda6 /rootfs
+exec /usr/local/sbin/switch_root /rootfs /sbin/init
+
DEBUG=0
. /usr/local/lib/libmsg
. /usr/local/lib/libsys
[root@LS410D06E init.d]#
[root@LS410D06E init.d]# reboot [root@LS410D06E init.d]#白点滅
結局一緒。
switch_root は、どうやったら使えるの?
|
|
← 別パーティションに Debian の / を置く(2) |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ 別パーティションに Debian の / を置く(4) |
Copyright (C) 2003-2013 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市