kuro-box
  玄箱/Linkstation
    families
  HD-LAN
    入手
      flash
      取出
      HD-LAN vs HD-HLAN
    玄箱に変身
  HD-HGLAN
hardware
  Diag LED の点滅回数
  serial console
    9-KE connection
    clock speed
    shell
    mfdisk
      # mfdisk -h
      # mfdisk -c /dev/hda
      # mfdisk -p /dev/hda
      # mfdisk -e /dev/hda
      # mfdisk -p /dev/hda
      # mfdisk -c /dev/hda
  JTAG connection
    parallel port
    USB
  flash ROM
    firmbin.img
  firmimgtool
  しくみ
    玄箱
    LinkStation
      HD-HGLAN
    TeraStation
      TS-TGL
    Alert mode
    Info
  後のボタンを押しながら
  部品
    直列通信口
    電源
    ファン
NetBSD
  URL(1)
  改造の有無
  URL(2)
  getting stuff
  入手したら
    材料の説明
      binary 形式
    区画 (fdisk)
    Linux の設置
    20061027
    EM mode
      mfdisk
      ftp
    loader/install kernel
      /boot
      tools
      kernel
      nbloader
      boot selector2
      url
      ftp-get
    sysinst 起動
    sysinst (一部)
    multi-user
    自動起動
    rc2.d
    自動起動の解除
    message
  kuro_avrd
  bootsel2
    何をするもの
    起動の操作は
    設置
      Root Login
      操作
    設定
  無改造
    全体の流れ
    OS 設置後は
    /boot を用意する
    kuro_boot.conf
    sysinst by telnet
    chroot
    single user
      sshd
      telnet
      root
    20061027
      ftp
      nbloader/kernel
      boot selector
      kuro_boot.conf
      single user
      multi-user
      kuro_boot.conf
  packages
    pkg_info
  server
    samba
    netatalk
    NFS
    cvsync
    sendmail
  panic した時
  build.sh
    20070921
    20061019
    思いつくまま
SandPoint
  手順
  手順(別法)
files
  Buffalo
    kuro_102
    TS-TGL
problems
  20070917
  20061012
  sysinst 終了
  screen
  NFS 書込異常
  質問等
  ちょっとうっかり
    single user
boot code
  compile
    cross
      NetBSD
      powerpc-gnu-linux
  たつや版
    self
  U-Boot
  ts-tgl
玄箱/pro
    20081107
    20080624
    build
    boot
    dmesg
    日記から

hardware | TeraStation | software

Kuro-Box

Last Update: "2006/10/22 23:58:23 makoto"

multi-user

設置が終ったら、通常の起動をします。 この時に、カーネル (netbsd) は Linux の /root/netbsd-GENERIC.KUROBOX.bin (等) から読みますが、それは sysinst では置いてくれないので手で追加します。 netbsd-GENERIC.KUROBOX.bin.gz を持って来て gzip -d しておきます。
# gzip -d netbsd-GENERIC.KUROBOX.bin.gz
その上で次のように入力します。
root@KURO-BOX:~# cd / insmod /root/nbloader_v3.o \ kernel=/root/netbsd-GENERIC.KUROBOX.bin \ bootdev=0xa0000000
bootdev は起動ディスクが wd0 の場合の例です。通常はこの設定を使います。 USB メモリの場合には sd0 になるはずなので 0xa0000004 とします。 (ここで本来ならば process を止めて、umount -a するのがいいのですが、 とりあえず、試すということで、これでもいいと思います)。

自動起動

上に書いてあるのは、一度 Linux が起動して、linux に root で login して、手で 入力する例です。これを自動的に動かす方法の一つを紹介します。 例えば、次のような内容を /root/netbsd.sh に用意しておきます。 更に
# chmod +x /root/netbsd.sh
をしておきます。
#!/bin/sh
echo 'Starting NetBSD in 10 seconds'
###
for i in 0 1 2 3 4 5 6 7 8 9; do
  echo -n $i '';
  sleep 1;
done;
###
/bin/echo -n'AAAAFFFFJJJJ>>>>VVVV>>>>ZZZZVVVVKKKK'> /dev/AVR00 
cd /
/bin/umount -f -a
sync;sync;sync
/bin/mount -n -o remount,ro  /
insmod /root/nbloader_v3.o \
kernel=/root/netbsd-GENERIC.KUROBOX.bin \
bootdev=0xa0000000
その上で、次のように /etc/rc.d/rcS.d からシンボリック・リンクを張っておきます。
/etc/rc.d/rcS.d/S10netbsd.sh -> /root/netbsd.sh
例えば操作としては、次のようになります。
# cd /etc/rc.d/rcS.d # ln -s /root/netbsd.sh S10netbsd.sh
実は、これだけです。本当に自動で起動するかを確認します。

rc2.d

2006/10/14 に (この記述を) 変更する前には、rc2.d からリンクしていました。 その方法だと 起動してしまったプロセスが / にあるものを参照しています (あるいは cd しています) このため、 umount -a; した時に、device busy と言われます。これでも、そのまま NetBSD は起動しますが、実は umount が行なわれていません (それが理由 で umount と入力した後でも /root 等が参照出来ている訳です)。 その結果、 次に (Linux File system を) mount する時に fsck が必要になってしまいます。

この項、かわうちさんから直々に教えていただきました (もっとも玄箱で NetBSD を動かすことについては、全てかわうちさんから教えて もらったことです)。

自動起動の解除

ところが、こうしてしまうと、おそらく、解除するのはちょっと大変そうです。 が、実は NetBSD から、この linux 側のものは見えるので、それで変更が可能です。 ただし、次のように言われてしまうかも知れません。
ttyp0:root@kuro-hg 9:48:10/061011(~)# mount /dev/wd0e /mnt mount_ext2fs: /dev/wd0e on /mnt: incorrect super block
ttyp0:root@kuro-hg 9:49:24/061011(~)# fsck_ext2fs -n /dev/rwd0e ** /dev/rwd0e (NO WRITE) BAD SUPER BLOCK: INCOMPATIBLE FEATURE BITS IN SUPER BLOCK LOOK FOR ALTERNATE SUPERBLOCKS? no
その時には NetBSD 側に pkgsrc
pkgsrc/sysutils/e2fsprogs/ 
を入れておきます。これを使って
/usr/pkg/sbin/e2fsck /dev/wd0e
のようにすれば、回復可能です。 (以前に rc2.d からリンクしていに時には、 linux を起動するたびに、これが必要になっていました)。

message

上のようにしていると Linux 側の /etc/fstab に
/dev/hda3       /mnt            ext3    defaults,noatime                0 0
が残ったままなので、次のように言わています。
Oct 13 08:50:25 KURO-BOX kernel: 
   EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,1), internal journal 
Oct 13 08:50:25 KURO-BOX kernel: 
   EXT3-fs error (device ide0(3,3)): ext3_check_descriptors: 
   Block bitmap for group 128 not in group (block 0)! 
Oct 13 08:50:25 KURO-BOX kernel: EXT3-fs: group descriptors corrupted ! 
これだからと言って何も実質的には問題がありません。 しかし 上記 fstab の行は行頭に # を書いて無効にしておけば、こう言われないで済みます。
Last Update: Sat, 07 Jun 2014 22:16:17 GMT 1.66 2008/03/08