2012年07月28日

chroot(なりすまし)に挑戦も。archbang

なんか難しかった。でも、livecdから、
起動diskじゃないhdd(壊れたarchbang)の
kernelの書き換えには成功したようだ。
でも、壊れたarchbangを復活させらることはできなかった。
起動の途中でやっぱり止まる。
以下は備忘兼参考までに。

##直そうとしたarchibangのpartitionは、
##installdiskのおすすめのまま。
   sda1:/boot sda2:/swap sda3:/ sda4:/home
##ライブcd(unofficial2012/07/02版archbang)で起動。
##そして、rootになった。

[live@archbang ~]$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
[live@archbang ~]$ su
Password:

##必要項目をmountするためにdirectoryを作ったり、
[root@archbang live]# mkdir /mnt/sda3
[root@archbang live]# mkdir /mnt/boot
[root@archbang live]# mount /dev/sda3 /mnt/sda3
[root@archbang live]# mount /dev/sda1 /mnt/boot
[root@archbang live]# mkdir /mnt/proc
[root@archbang live]# mkdir /mnt/sys
[root@archbang live]# mkdir /mnt/dev
[root@archbang live]# mount -t proc none /mnt/proc
[root@archbang live]# mount -t sysfs none /mnt/sys
[root@archbang live]# mount --bind /dev /mnt/dev
[root@archbang live]# chroot /mnt
chroot: failed to run command ‘/bin/bash’: No such file or directory

##つまり失敗。で、chrootコマンドを使えるようにするために
[root@archbang live]# mkdir /usr/chroot
[root@archbang live]# cd /usr/chroot
[root@archbang chroot]# mkdir bin etc lib var home

##bashが使っている共有ライブラリを調べる
[root@archbang chroot]# ldd /bin/bash
linux-vdso.so.1 => (0x00007fff485ff000)
libreadline.so.6 => /usr/lib/libreadline.so.6 (0x00007f7f48941000)
libncursesw.so.5 => /usr/lib/libncursesw.so.5 (0x00007f7f486e4000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f7f484e0000)
libc.so.6 => /lib/libc.so.6 (0x00007f7f4813f000)
/lib/ld-linux-x86-64.so.2 (0x00007f7f48b87000)

##出てきたものを/usr/chroot方面へコピー。
[root@archbang chroot]# cp /usr/lib/libreadline.so.6 /usr/chroot/lib/
[root@archbang chroot]# cp /usr/lib/libncursesw.so.5 /usr/chroot/lib/
[root@archbang chroot]# cp /lib/libdl.so.2 /usr/chroot/lib/
[root@archbang chroot]# cp /lib/ld-linux-x86-64.so.2 /usr/chroot/lib/
[root@archbang chroot]# cp /bin/bash bin
[root@WIG001-001 chroot]# pwd
/usr/chroot
[root@WIG001-001 chroot]# /usr/sbin/chroot .


##お呪いにしか思えない。
[root@archbang chroot]# su - nobody -s /usr/chroot/bin/bash

[nobody@archbang /]$ su
Password:

##これ、要るのかな。
[root@archbang /]# mount /dev/sda1 boot/

##とにかく更新してみた。できたね。
[root@archbang /]# pacman -Syy
:: Synchronizing package databases...
core 107.8 KiB 307K/s 00:00 [----------------------] 100%
extra 1408.6 KiB 1253K/s 00:01 [----------------------] 100%
community 1766.4 KiB 1371K/s 00:01 [----------------------] 100%

##で早速、調子がよかったとの記憶のあるkernelをinstallしてみる。
##壊れているarchbang入りhddの/var/cache/pacman/pkg/
##(livecd側から見れば/mnt/sda3/var/cache/pacman/pkg/)に
##どういうpackageが格納されているかは、
##livecdがlevel5での起動ゆえ、mountさえすれば目視できる。
##lsコマンドでは、見えなかったりした。意味、よく解らない。

[root@archbang /]# pacman -U /mnt/sda3/var/cache/pacman/pkg/linux-3.3.8-1-x86_64.pkg.tar.xz
loading packages...
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: virtualbox-archlinux-modules: requires linux<3.4

##都合のよいことに、仮想化にはあまり興味がない。
[root@archbang /]# pacman -R virtualbox-archlinux-modules
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: virtualbox-archlinux-additions: requires virtualbox-archlinux-modules=4.1.14

[root@archbang /]# pacman -R virtualbox-archlinux-additions
checking dependencies...

Targets (1): virtualbox-archlinux-additions-4.1.14-2

Total Removed Size: 6.34 MiB

Do you want to remove these packages? [Y/n] Y
(1/1) removing virtualbox-archlinux-additions [----------------------] 100%

[root@archbang /]# pacman -R virtualbox-archlinux-modules
checking dependencies...

Targets (1): virtualbox-archlinux-modules-4.1.14-2

Total Removed Size: 0.12 MiB

Do you want to remove these packages? [Y/n] Y
(1/1) removing virtualbox-archlinux-modules [----------------------] 100%


[root@archbang /]# pacman -U /mnt/sda3/var/cache/pacman/pkg/linux-3.3.8-1-x86_64.pkg.tar.xz
loading packages...
resolving dependencies...
looking for inter-conflicts...

Targets (1): linux-3.3.8-1

Total Installed Size: 57.05 MiB
Net Upgrade Size: 0.02 MiB

Proceed with installation? [Y/n] Y
(1/1) checking package integrity [----------------------] 100%
(1/1) loading package files [----------------------] 100%
(1/1) checking for file conflicts [----------------------] 100%
(1/1) checking available disk space [----------------------] 100%
(1/1) upgrading linux [----------------------] 100%
>>> Updating module dependencies. Please wait ...
>>> Generating initial ramdisk, using mkinitcpio. Please wait...
==> Building image from preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.3.8-1-ARCH
-> Parsing hook: [base]
-> Parsing hook: [udev]
-> Parsing hook: [autodetect]
-> Parsing hook: [pata]
-> Parsing hook: [scsi]
-> Parsing hook: [sata]
-> Parsing hook: [filesystems]
-> Parsing hook: [usbinput]
-> Parsing hook: [resume]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.3.8-1-ARCH
-> Parsing hook: [base]
-> Parsing hook: [udev]
-> Parsing hook: [pata]
-> Parsing hook: [scsi]
-> Parsing hook: [sata]
-> Parsing hook: [filesystems]
-> Parsing hook: [usbinput]
-> Parsing hook: [resume]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful

[root@archbang /]# pacman -U /mnt/sda3/var/cache/pacman/pkg/linux-headers-3.3.8-1-x86_64.pkg.tar.xz
loading packages...
resolving dependencies...
looking for inter-conflicts...

Targets (1): linux-headers-3.3.8-1

Total Installed Size: 45.39 MiB

Proceed with installation? [Y/n] Y
(1/1) checking package integrity [----------------------] 100%
(1/1) loading package files [----------------------] 100%
(1/1) checking for file conflicts [----------------------] 100%
(1/1) checking available disk space [----------------------] 100%
(1/1) installing linux-headers [----------------------] 100%

[root@archbang /]# reboot

cdをドライブから取り出して、hdd本体で起動してみたが、
deviceの読み込み途中でやっぱり止まる。
livecdは、書き換えられないし、
表示のなかでkernelのversion番号が
linux3.3.8-1になっていたから、入れ替え自体は、
成功したように思う。私のようにsystemをいじらないで、
単に更新時のkernelpanicのみの状態なら、
このやり方で、復活させられるんじゃないかな。
(この項は、ポコッと抜けていたりするかもしれない。
まだ検証不十分。訂正する可能性あり)

色のところは、追加箇所。
posted by ブログ開設者 at 02:55| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

2012年07月26日

起動時のデバイスチェック画面の件。archbang

unofficial版2012/07/02頒布のarchbangを
インストールした。その起動時のチェック、最初はなんの
問題もなく、終了してログイン画面に至ったが
なぜなのかわからないが、ログイン画面に至るまえの
最後のところで、
パーッと同じ文字列の行が、3行飛びぐらの
間隔で10行ぐらい出るようになった。
OSの動作に何の問題もないんだけど、気に障る。

警告かな、と思うんだけど、
アッという間に消えてしまって
何が書いてあるか内容がつかめない。
pauseキーを押しても止まらない。

意を決して、なんどか再起動を試みて
単語ひとつぐらいを捕まえようとした。

判ったことは、modem-managerという
単語がある、ということだった。

$ pacman -Ss modem で調べてみると

mmodemmanagerというのがインストール済みで
見つかった。有線ルーターでつながっている関係上
要らないように思えたから、

$ sudo pacman -R modemmanager

とアンインストールしてみた。

再起動してみたら、消えた。
カンが冴えるときもある。ささやかな満足。

どういう環境の人であっても、インストール後に
ネットにつながるように、という
archbangサイドの配慮なんだろうかな。
posted by ブログ開設者 at 20:21| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

ログイン画面の変更。archbang

unoffical版archbangのdefault画面は、
以下のような画像。
background.default.png
左右の真ん中でなく、startの文字の下あたりに
useridとpasswordの欄が、それぞれ2行で入る。
useridを入れたら、tabキーでなく
enterキーでpasswordの欄にポインタが飛ぶ。
プレビュー用の画像がなかったので、
欄が入っていない。
preview.origenal.png
こちらは、よくあるarchのログイン画面。
黒づくめのモノトーンがbang本来の趣旨らしいので、
下のほうに変えた。

候補をプレビューするには、archlinux-themes-slimという
ソフトウェアが便利なんだそうな。

$ sudo pacman -S archlinux-themes-slim

Targets (1): archlinux-themes-slim-1.2-3

使える画面の選択肢は、/usr/share/slim/themes/の中、
フォルダ単位で格納されている。unofficialのarchbang、
defaultと同じものは、

$ slim -p /usr/share/slim/themes/bangslimtheme

とすれば仮表示される。ウィンドウを全面表示にすると、
実際に使った場合とほぼ変わらない表示になる。

じぶんの変更後の画面(フォルダ名)は、archlinux-darch-grey

$ slim -p /usr/share/slim/themes/archlinux-darch-grey

とやれば、やはり仮表示できる。

実際の変更設定は、/etc/slim.confで行う。

$ sudo nano /etc/slim.conf

表示された設定文書の下から3つ目の項目に、

# current theme, use comma separated list to specify a set to
# randomly choose from
current_theme    archlinux-darch-grey

というようなのがある。archlinux-darch-greyのところが、
画像の指定の場所。手持ちの変更可能な
候補(フォルダ名)の名前に変更し、
再起動すればそれが反映される。

じぶんで入手ないし撮った写真データ(使用時.png)を
フォルダ内のbackgroundの画像と入れ替えれば、
オリジナルのログイン画面を作ることも
できるはずだと思うんだけど。

じぶんには、それをやる元気がない。
posted by ブログ開設者 at 11:55| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする