Last Update: "2007/10/06 22:18:16 makoto"
20061027
これは 2006/10/27 にここに書いてあることを見ながら、
実際にもう一度試した記録(その二)です。← その一
ftp
その一
の(ボタンの数の)表で言えば native linux の段階の続きです。
native Linux を再起動したところで、次のようにローダ (nbloader) カーネル、ramdisk カーネルを転送します。
ftp> cd /pub/NetBSD/kurobsd/boot/loader
ftp> get nbloader_v3.20061014.tar.bz2
ftp> cd /pub/NetBSD/snapshot/20061012
ftp> cd evbppc/binary/kernel
ftp> get netbsd-KUROBOX.gz
ftp> get netbsd-KUROBOX_MD.gz
その結果、次のようになっているはずです。
root@KURO-BOX:/boot# ls -l
total 3734
-rw-r--r-- 1 root root 30504 Oct 27 21:56 nbloader_v3.20061014.tar.bz2
-rw-r--r-- 1 root root 1503754 Oct 27 21:53 netbsd-KUROBOX.gz
-rw-r--r-- 1 root root 2269845 Oct 27 21:53 netbsd-KUROBOX_MD.gz
nbloader/kernel
nbloader を tar で開けます。
root@KURO-BOX:/boot# tar jxf nbloader_v3.20061014.tar.bz2
root@KURO-BOX:/boot# ls -l
total 3735
-rw-r--r-- 1 root root 30504 Oct 27 21:56 nbloader_v3.20061014.tar.bz2
drwxr-xr-x 4 root root 1024 Oct 14 16:47 nbloader_v31
-rw-r--r-- 1 root root 1503754 Oct 27 21:53 netbsd-KUROBOX.gz
-rw-r--r-- 1 root root 2269845 Oct 27 21:53 netbsd-KUROBOX_MD.gz
その後に uname -r で調べた自分の
Linux の版に合せた nbloader_v3.o が直接見えるように ln します。
root@KURO-BOX:/boot# uname -r
2.4.17_kuro-box
root@KURO-BOX:/boot# ln nbloader_v31/binary/2.4.17_kuro-box/nbloader_v3.o .
通常のカーネルと ramdisk カーネルを gzip -d (または gunzip) で開けておきます。
root@KURO-BOX:/boot# gzip -d netbsd-KUROBOX.gz
root@KURO-BOX:/boot# gzip -d netbsd-KUROBOX_MD.gz
ELF 形式のへッダを外しておきます。
root@KURO-BOX:/boot# objcopy -O binary netbsd-KUROBOX netbsd-KUROBOX.bin
root@KURO-BOX:/boot# objcopy -O binary netbsd-KUROBOX_MD netbsd-KUROBOX_MD.bin
boot selector
boot selector2 を設置します。以下の説明は古いもので、
新しい説明は
boot-selector2.htmlにあります。
23 tar jxf kuro-bootsel2.20060125.tar.bz2
24 cd kuro-bootsel2
25 make install
make install の前に、
Makefile を次のように変更しておいた方がいいようです。
--- kuro-bootsel2/Makefile 2006-01-25 22:31:27.000000000 +0900
+++ /home/makoto/Makefile 2006-10-27 23:07:48.000000000 +0900
@@ -15,9 +15,9 @@
(cd /etc/rc.d/rcS.d; ln -s ../init.d/kuro_bootsel2.sh S15kuro_bootsel2.sh) \
fi
if [ -c /dev/ttyS1 ]; then \
- sed 's/AVR00/ttyS1/' < kuro_boot.conf > /etc/kuro_boot.conf \
+ sed 's/AVR00/ttyS1/' < kuro_boot.conf > /etc/kuro_boot.conf; \
else \
- cp kuro_boot.conf /etc/ \
+ cp kuro_boot.conf /etc/ ; \
fi
kuro_boot.conf
これは
kuro_boot.conf.html
をそのまま使い /etc/kuro_boot.conf に置きます。ただし
bootdefault=3
#bootdefault=2
を
bootdefault=3
bootdefault=2
に変更して sysinst が起動するようにしておきます。
これで reboot し、しばらく待ってから
telnet kuro 60023
して root で login します。
> telnet kuro.example.com 60023
Trying 192.168.100.233...
Connected to kuro.example.com
Escape character is '^]'.
4.4 BSD UNIX () (ttyp0)
login: root
ROOT LOGIN (root) ON ttyp0 FROM mini.ki.nu
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
This is the KURO-BOX emergency boot. Please take with care.
#
sysinst と入力して
sysinst
を開始します。
その中で、次のように聞かれた時には、a: Yes とします。
Is the network information you entered accurate for this machine x
in regular operation and do you want it installed in /etc? x
x
>a: Yes x
b: No
a: Yes
single user
# disklabel wd0
# /dev/rwd0d:
(略)
16 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 525168 786240 4.2BSD 1024 8192 0 # (Cyl. 780 - 1300)
b: 524152 262088 swap # (Cyl. 260*- 779)
c: 5560128 786240 unused 0 0 # (Cyl. 780 - 6295)
d: 6346368 0 unused 0 0 # (Cyl. 0 - 6295)
e: 262017 63 Linux Ext2 0 0 # (Cyl. 0*- 259)
f: 525168 1311408 swap # (Cyl. 1301 - 1821)
g: 3485664 1836576 4.2BSD 2048 16384 0 # (Cyl. 1822 - 5279)
h: 1024128 5322240 4.2BSD 1024 8192 0 # (Cyl. 5280 - 6295)
# mount /dev/wd0a /mnt
# cat /mnt/etc/fstab
# NetBSD /etc/fstab
# See /usr/share/examples/fstab/ for more examples.
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
# /dev/wd0e /mnt ??? rw,noauto 0 0
/dev/wd0f none swap sw 0 0
/dev/wd0g /usr ffs rw 1 2
/dev/wd0h /var ffs rw 1 2
kernfs /kern kernfs rw
procfs /proc procfs rw,noauto
# mount /dev/wd0g /mnt/usr
# mount /dev/wd0h /mnt/var
# chroot /mnt
# vi /etc/group
# passwd -l install
Changing local password for install.
New password:
Retype new password:
#
# passwd -l root
Changing local password for root.
New password:
Retype new password:
#
(これをやっておかないと reboot も出来ず 要 fsck になります)
kuro_avrd も入れておきます。
(single user です)
# ftp ftp.ki.nu
Connected to ftp.ki.nu.
220 milano FTP server (NetBSD-ftpd 20040809) ready.
Name (ftp.ki.nu:root): ftp
331 Guest login ok, type your name as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/NetBSD/kurobsd
250 CWD command successful.
ftp> cd avr
250 CWD command successful.
ftp> ls
229 Entering Extended Passive Mode (|||52996|)
150 Opening ASCII mode data connection for '/bin/ls'.
total 20
-rw-r--r-- 1 2030 0 68 Oct 9 2005 MD5
-rw-r--r-- 1 2030 0 79 Nov 23 2005 RMD160
-rw-r--r-- 1 2030 0 4993 Oct 9 2005 kuro_avrd.20051009.tar.bz2
226 Transfer complete.
ftp> get kuro_avrd.20051009.tar.bz2
local: kuro_avrd.20051009.tar.bz2 remote: kuro_avrd.20051009.tar.bz2
229 Entering Extended Passive Mode (|||52970|)
150 Opening BINARY mode data connection for 'kuro_avrd.20051009.tar.bz2' (4993 bytes).
100% |*****************************************| 4993 1.92 MB/s 00:00 ETA
226 Transfer complete.
4993 bytes received in 00:00 (26.89 KB/s)
ftp> quit
221-
Data traffic for this session was 4993 bytes in 1 file.
Total traffic for this session was 6486 bytes in 3 transfers.
221 Thank you for using the FTP service on milano.
# tar zxf kuro_avr*
# cd kuro_avrd
# make
gcc -Wall -o kuro_avrd kuro_avrd.c -lutil
strip kuro_avrd
# make install
chown root:wheel kuro_avrd rc.d/kuro_avrd
mkdir -p /usr/local/sbin
cp kuro_avrd /usr/local/sbin/
cp -p rc.d/kuro_avrd /etc/rc.d/
Please add "kuro_avrd=YES" on your /etc/rc.conf.
#
# echo kuro_avrd=YES >> /etc/rc.conf
multi-user
reboot して、boot selector で3回押します。
Connected to kuro.example.com
Escape character is '^]'.
NetBSD/evbppc (kuro.example.com) (ttyp0)
login:
最初は install という login が passwd 無で設定してありますので、
それで入り、すぐに passw を設定しておきます。
上で変更した場合には、それで入ります。
kuro$ passwd -l
Changing local password for install.
New password:
Retype new password:
kurog$
ここで root になれない場合、電源を抜く必要があると思います。
ただし、
single user
の時に
kuro_avrd
を入れてあれば、
電源 sw の長押で shutdown します。
kuro_boot.conf
bootdefault=3
#bootdefault=2
に戻しておきます。
実は、これは寄道をしていたので
元に戻ります。
その場合、話はかなり重複します。
sysinst 起動
あたりであれば、重複は最少になります。
|