GLANTANKが在庫限りらしいのでヨドバシアキバで捕獲しておきました。
って、まだ数台残っていたけど。
何に使うんだという話は忘れておきましょう。
24,800円なり。ちと高いような。
連休初日です。午前中から洋服を買いに出かけ、かえってきてから公園に行きました。
公園ではサッカーボールを蹴ったり滑り台で遊んだりしました。
サッカーボールを蹴って遊んでいたところ、ボールの上に足が乗ってしまい、そのままボールの上に体が乗っかって、すってんころりん。
それに懲りたのか、それからボールでは遊ばなかったりして。
夕食はなじみのラーメン屋さんでした。つけ麺完食です。はじめてだねぇ。
開封しましたよ。
連休初日は開封するだけでした。
GLANTANK用のディスクバックアップにやたらと時間がかかるので、ついついギタフリしてしまった。
Timepiece Phase IIのAdvがクリアできましたよ。で、調子に乗ってDD6もやっていましたが、そうは問屋がおろしませんでした。Herring Roeも最後の方で閉店しちゃう。
水天宮にいってきました。今日は数十年に一度しかない大戌の日だったらしく、すごい行列でした。
なんとか行列を待って、神殿でご祈祷していただきました。以前だったら行列だけで弱っていたところですが、体力も精神力も成長してきたのですね。
その後、かえってきてから自転車の練習をしました。ペダルをつけていてはラチがあかないので、ペダルをはずしました。来週は特訓しようと思います。
夜はプラレールパズルをやりました。線路の完成形を簡単な絵で描き、用意されたレールを使って線路を組み立てるというものです。
まずは少量のレールから始めて、少しずつ複雑なものに挑戦するのが普通です。しかしながら、最初から大量のレールを持っていた場合、そのレールの種類と量から何をやって良いかわからないみたいですね。
ということで、クイズと称して少ないレールをつかって簡単なレイアウトを作る練習をすることにしました。
最後に、三つのシンプルなレイアウトを複合させて大きなレイアウトにして見せました。面白く思ってくれたみたいです。
いろいろやりましたが今日はここまで。試行錯誤した記録は後日まとめたいなぁ。
+ RedBoot(tm) bootstrap and debug environment [ROM] Red Hat certified release, version 1.90 - built 13:59:48, Jun 3 2005 Platform: IQ80321 (XScale) Copyright (C) 2000, 2001, 2002, Red Hat, Inc. RAM: 0x00000000-0x08000000, 0x00010ba8-0x07ff4000 available == Executing boot script in 1.000 seconds - enter ^C to abort RedBoot> load hda1:/initrd -r -v -b 0x00800000 -m disk ? Raw file loaded 0x00800000-0x009c725f, assumed entry at 0x00800000 RedBoot> load hda1:/zImage -r -v -b 0x00012000 -m disk - Raw file loaded 0x00012000-0x0041529f, assumed entry at 0x00012000 RedBoot> exec -c "root=/dev/hda2 initrd=0xa0800000,8M rw console=ttyS0,115200 mem=128M@0xa0000000" Using base address 0x00012000 and length 0x004032a0 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. NetBSD 4.99.3 (HDL_G) #0: Sun Oct 15 23:22:53 JST 2006 tokuda@MacBook.local:/Users/tokuda/NetBSD/o/20061014/evbarm/sys/arch/evbarm/compile/HDL_G total memory = 128 MB avail memory = 118 MB mainbus0 (root) cpu0 at mainbus0: i80219 400MHz step A-0 (XScale core) cpu0: DC enabled IC enabled WB enabled LABT branch prediction enabled cpu0: 32KB/32B 32-way Instruction cache cpu0: 32KB/32B 32-way write-back-locking Data cache obio0 at mainbus0 com0 at obio0 addr 0xfe800000 xint 3: ns16550a, working fifo com0: console btn0 at obio0 addr 0xfe8d0002 xint 3 iopxs0 at mainbus0: i80219 I/O Processor, acting as PCI host iopxs0: configuring PCI bus iopiic0 at iopxs0: I2C controller iic0 at iopiic0: I2C bus rs5c372rtc0 at iic0 addr 0x32: RICOH RS5C372[AB] Real-time Clock iopiic1 at iopxs0: I2C controller iic1 at iopiic1: I2C bus pci0 at iopxs0 bus 0 pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok wm0 at pci0 dev 1 function 0: Intel i82541GI 1000BASE-T Ethernet, rev. 5 wm0: interrupting at irq 27 wm0: Ethernet address 00:a0:b0:75:ef:75 igphy0 at wm0 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0 igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto acardide0 at pci0 dev 2 function 0 acardide0: Acard ATP865-A Ultra133 IDE Controller (rev. 0x10) acardide0: bus-master DMA support present acardide0: primary channel wired to native-PCI mode acardide0: using irq 28 for native-PCI interrupt atabus0 at acardide0 channel 0 acardide0: secondary channel wired to native-PCI mode atabus1 at acardide0 channel 1 ohci0 at pci0 dev 3 function 0: NEC USB Host Controller (rev. 0x43) ohci0: interrupting at irq 29 ohci0: OHCI version 1.0 usb0 at ohci0: USB revision 1.0 uhub0 at usb0 uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 3 ports with 3 removable, self powered ohci1 at pci0 dev 3 function 1: NEC USB Host Controller (rev. 0x43) ohci1: interrupting at irq 29 ohci1: OHCI version 1.0 usb1 at ohci1: USB revision 1.0 uhub1 at usb1 uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered ehci0 at pci0 dev 3 function 2: NEC USB Host Controller (rev. 0x04) ehci0: interrupting at irq 29 ehci0: BIOS has given up ownership ehci0: EHCI version 1.0 ehci0: companion controllers, 3 ports each: ohci0 ohci1 usb2 at ehci0: USB revision 2.0 uhub2 at usb2 uhub2: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub2: 5 ports with 5 removable, self powered clock: hz=100 stathz=0 profhz=0 wd0 at atabus0 drive 0: <ST340810A> wd0: drive supports 16-sector PIO transfers, LBA addressing wd0: 38166 MB, 77545 cyl, 16 head, 63 sec, 512 bytes/sect x 78165360 sectors wd0: 32-bit data port wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) wd0(acardide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA) boot device: <unknown> root on wd0a dumps on wd0b root file system type: ffs Sun Nov 5 19:05:13 GMT 2006 swapctl: adding /dev/wd0b as swap device at priority 0 Checking for botched superblock upgrades: done. Starting file system checks: /dev/rwd0a: file system is clean; not checking Setting tty flags. Setting sysctl variables: Starting network. Hostname: glantank IPv6 mode: host Configuring network interfaces: wm0. add net default: gateway 192.168.100.1 Adding interface aliases: Building databases... Starting syslogd. Checking for core dump... savecore: /netbsd: kvm_openfiles: /netbsd: No such file or directory Nov 5 19:05:19 glantank savecore: /netbsd: kvm_openfiles: /netbsd: No such file or directory Setting date via ntp. Mounting all filesystems... Clearing /tmp. Creating a.out runtime link editor directory cache. Checking quotas: done. Setting securelevel: kern.securelevel: 0 -> 1 Starting virecover. Starting local daemons:. Updating motd. Starting sshd. postfix/postfix-script: starting the Postfix mail system Starting inetd. Starting cron. Sun Nov 5 19:05:33 UTC 2006 NetBSD/evbarm (glantank) (console) login: root Nov 5 19:05:43 glantank login: ROOT LOGIN (root) ON console Last login: Sun Nov 5 19:03:20 2006 on console 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. NetBSD 4.99.3 (HDL_G) #0: Sun Oct 15 23:22:53 JST 2006 Welcome to NetBSD! This system is running a development snapshot of the NetBSD operating system, also known as NetBSD-current. It is highly possible for it to contain serious bugs, regressions, broken features or other problems. Please bear this in mind and use the system with care. You are encouraged to test this version as thoroughly as possible. Should you encounter any problem, please report it back to the development team using the send-pr(1) utility (requires a working MTA). If yours is not properly set up, use the web interface at: http://www.NetBSD.org/Misc/send-pr.html Thank you for helping us test and improve NetBSD. Terminal type is vt100. We recommend creating a non-root account and using su(1) for root access. glantank# uname -a NetBSD glantank 4.99.3 NetBSD 4.99.3 (HDL_G) #0: Sun Oct 15 23:22:53 JST 2006 tokuda@MacBook.local:/Users/tokuda/NetBSD/o/20061014/evbarm/sys/arch/evbarm/compile/HDL_G evbarm glantank#
昨日の作業などについて少しずつ書きます。
i386マシンでHDDにインストールし、GLAN Tankに接続後、始めて起動した際のメッセージ。
MacBook:~ tokuda$ /Applications/jerm -b 115200 /dev/cu.usbserial Jerminal v0.8095 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 candy Type "Ctrl-M ~ ." to exit. ispeed 115200 ospeed 115200 +IGNBRK -BRKINT -IGNPAR -PARMRK -INPCK -ISTRIP -INLCR -IGNCR -ICRNL -IXON -IXOF F -IXANY -IMAXBEL -OPOST -ONLCR -OXTABS -ONOEOT cs8 -CSTOPB +CREAD -PARENB -PARODD +HUPCL +CLOCAL -CCTS_OFLOW -CRTSCTS -CRTS_IF LOW -MDMBUF -ECHOKE -ECHOE -ECHO -ECHONL -ECHOPRT -ECHOCTL -ISIG -ICANON -ALTWER ASE -IEXTEN -EXTPROC -TOSTOP -FLUSHO -NOKERNINFO -PENDIN -NOFLSH + RedBoot(tm) bootstrap and debug environment [ROM] Red Hat certified release, version 1.90 - built 13:59:48, Jun 3 2005 Platform: IQ80321 (XScale) Copyright (C) 2000, 2001, 2002, Red Hat, Inc. RAM: 0x00000000-0x08000000, 0x00010ba8-0x07ff4000 available == Executing boot script in 1.000 seconds - enter ^C to abort RedBoot> load hda1:/initrd -r -v -b 0x00800000 -m disk ? Raw file loaded 0x00800000-0x009c725f, assumed entry at 0x00800000 RedBoot> load hda1:/zImage -r -v -b 0x00012000 -m disk | Raw file loaded 0x00012000-0x001a13d7, assumed entry at 0x00012000 RedBoot> exec -c "root=/dev/hda2 initrd=0xa0800000,8M rw console=ttyS0,115200 mem=128M@0xa0000000" Using base address 0x00012000 and length 0x0018f3d8 Uncompressing Linux.......................................................................................................... done, booting the kernel. Linux version 2.6.10-iop1 (iodata@iodata) (gcc version 3.4.2) #22 Fri Aug 19 13:37:07 JST 2005 CPU: XScale-IOP8032x Family [69052e20] revision 0 (ARMv5TE) CPU: D VIVT undefined 5 cache CPU: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets CPU: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets Machine: Intel IQ80321 clearing K-bit. Memory policy: ECC disabled, Data cache writeback Built 1 zonelists Kernel command line: root=/dev/hda2 initrd=0xa0800000,8M rw console=ttyS0,115200 mem=128M@0xa0000000 PID hash table entries: 1024 (order: 10, 16384 bytes) arch/arm/kernel/time.c: model = HDL-GW/GZ Console: colour dummy device 80x30 Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 128MB = 128MB total Memory: 118016KB available (2580K code, 766K data, 104K init) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok checking if image is initramfs...it isn't (no cpio magic); looks like an initrd Freeing initrd memory: 8192K NET: Registered protocol family 16 PCI: bus0: Fast back to back transfers disabled SCSI subsystem initialized usbcore: registered new driver usbfs usbcore: registered new driver hub Intel IOP3XX DMA Copyright(c) 2004 Intel Corporation NetWinder Floating Point Emulator V0.97 (double precision) devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au) devfs: boot_options: 0x0 Installing knfsd (copyright (C) 1996 okir@monad.swb.de). NTFS driver 2.1.22 [Flags: R/W]. Initializing Cryptographic API Serial: 8250/16550 driver $Revision: 1.1.1.1 $ 4 ports, IRQ sharing enabled ttyS0 at MMIO 0xfe800000 (irq = 30) is a 16550A io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize loop: loaded (max 8 devices) Intel(R) PRO/1000 Network Driver - version 5.5.4-k2-NAPI Copyright (c) 1999-2004 Intel Corporation. PCI: enabling device 0000:00:01.0 (0140 -> 0143) e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection ipddp.c:v0.01 8/28/97 Bradford W. Johnsonipddp0: Appletalk-IP Encap. mode by Bradford W. Johnson Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx AEC6280R: IDE controller at PCI slot 0000:00:02.0 PCI: enabling device 0000:00:02.0 (0045 -> 0047) AEC6280R: chipset revision 16 AEC6280R: ROM enabled at 0x80040000 AEC6280R: 100% native mode on irq 28 ide0: BM-DMA at 0xfe000000-0xfe000007, BIOS settings: hda:pio, hdb:pio ide1: BM-DMA at 0xfe000008-0xfe00000f, BIOS settings: hdc:pio, hdd:pio hda: ST340810A, ATA DISK drive elevator: using anticipatory as default io scheduler ide0 at 0xfe0000c0-0xfe0000c7,0xfe0000d2 on irq 28 hda: max request size: 128KiB hda: 78165360 sectors (40020 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(100) /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 usbcore: registered new driver usblp drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver usbcore: registered new driver hiddev usbcore: registered new driver usbhid drivers/usb/input/hid-core.c: v2.0:USB HID core driver mice: PS/2 mouse device common for all mice i2c /dev entries driver I2C: RS5C372A RTC driver successfully loaded md: linear personality registered as nr 1 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid5 personality registered as nr 4 raid5: measuring checksumming speed arm4regs : 258.400 MB/sec 8regs : 288.400 MB/sec 32regs : 316.400 MB/sec raid5: using function: 32regs (316.400 MB/sec) md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27 NET: Registered protocol family 2 IP: routing cache hash table of 1024 buckets, 8Kbytes TCP: Hash tables configured (established 8192 bind 16384) NET: Registered protocol family 1 NET: Registered protocol family 17 NET: Registered protocol family 5 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem). =-=-= /initrd/linuxrc start =-=-= leddrv: module license 'I-O DATA' taints kernel. /home/imai/GigaLANDISK/driver/leddrv/leddrv.c: board = HDL-GW/GZ LED control driver initialized. BUZ control driver initialized. Button driver initialized. c1 is detect. setup single mode...(c1) md: md0 stopped. mdadm: /dev/hda3 does not appear to have an MD superblock. The number of cylinders for this disk is set to 4865. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): Partition number (1-4): Hex code (type L to list codes): Changed system type of partition 3 to fd (Linux raid autodetect) Command (m for help): The partition table has been altered! Calling ioctl() to re-read partition table. /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 /dev/ide/host0/bus0/target0/lun0: p1 p2 p3 WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. md: bind raid1: raid set md0 active with 1 out of 2 mirrors mdadm: array /dev/md0 started. mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 4823840 inodes, 9640992 blocks 482049 blocks (5.00%) reserved for the super user First data block=0 295 block groups 32768 blocks per group, 32768 fragments per group 16352 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. kjournald starting. Commit interval 5 seconds EXT3 FS on hda1, internal journal EXT3-fs: mounted filesystem with ordered data mode. kjournald starting. Commit interval 5 seconds EXT3 FS on md0, internal journal EXT3-fs: mounted filesystem with ordered data mode. =-=-= /initrd/linuxrc end =-=-= kjournald starting. Commit interval 5 seconds EXT3 FS on md0, internal journal EXT3-fs: mounted filesystem with ordered data mode. VFS: Mounted root (ext3 filesystem). Trying to move old root to /initrd ... okay Freeing init memory: 104K INIT: version 2.86 booting Activating swap. Adding 257032k swap on /dev/hda2. Priority:-1 extents:1 System time was Sun Nov 5 15:01:59 UTC 2006. Setting the System Clock using the Hardware Clock as reference... System Clock set. System local time is now Mon Nov 6 00:02:00 JST 2006. Cleaning up ifupdown...done. Calculating module dependencies... done. Loading modules... All modules loaded. Checking all file systems... fsck 1.37 (21-Mar-2005) Setting kernel variables ... ... done. Mounting local filesystems... kjournald starting. Commit interval 5 seconds EXT3 FS on hda1, internal journal EXT3-fs: mounted filesystem with ordered data mode. /dev/hda1 on /boot type ext3 (rw) Cleaning /tmp /var/run /var/lock. Setting up networking...done. Starting hotplug subsystem: pci PCI: enabling device 0000:00:03.0 (0140 -> 0142) ohci_hcd 0000:00:03.0: NEC Corporation USB ohci_hcd 0000:00:03.0: irq 29, pci mem 0x80051000 ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 1 hub 1-0:1.0: USB hub found hub 1-0:1.0: 3 ports detected PCI: enabling device 0000:00:03.1 (0140 -> 0142) ohci_hcd 0000:00:03.1: NEC Corporation USB (#2) ohci_hcd 0000:00:03.1: irq 29, pci mem 0x80052000 ohci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 2 hub 2-0:1.0: USB hub found hub 2-0:1.0: 2 ports detected ohci-hcd: loaded successfully ohci-hcd: already loaded PCI: enabling device 0000:00:03.2 (0140 -> 0142) ehci_hcd 0000:00:03.2: NEC Corporation USB 2.0 ehci_hcd 0000:00:03.2: irq 29, pci mem 0x80053000 ehci_hcd 0000:00:03.2: new USB bus registered, assigned bus number 3 ehci_hcd 0000:00:03.2: USB 2.0 initialized, EHCI 1.00, driver 26 Oct 2004 hub 3-0:1.0: USB hub found hub 3-0:1.0: 5 ports detected ehci-hcd: loaded successfully pci [success] usb usb [success] isapnp isapnp [success] ide ide [success] input input [success] scsi scsi [success] done. Setting up IP spoofing protection: rp_filter. Configuring network interfaces...done. Setting the System Clock using the Hardware Clock as reference... System Clock set. Local time: Mon Nov 6 00:02:13 JST 2006 Running ntpdate to synchronize clock Error : Temporary failure in name resolution . Initializing random number generator...done. INIT: Entering runlevel: 2 Starting system log daemon: syslogd. Starting kernel log daemon: klogd. Starting MTA: exim4. Starting internet superserver: inetd. Starting Zeroconf service discovery responder: mDNSResponder. Starting mt-daapd: mt-daapd. Starting web server: thttpd. Starting wizd: wizd 0.12 start. config '/etc/wizd.conf' open. key='document_root', value='/share' key='server_port', value='8000' key='client_language_code', value='sjis' key='server_language_code', value='utf8' key='flag_use_skin', value='true' key='skin_root', value='/etc/wizd/skin' key='skin_name', value='lantank' key='sort_rule', value='name_up' key='page_line_max', value='14' key='flag_unknown_extention_file_hide', value='true' key='flag_allplay_filelist_adjust', value='false' key='secret_directory', value='hogehoge 888' [0] secret_dir='hogehoge', tvid=888 key='secret_directory', value='fugafuga 777' [1] secret_dir='fugafuga', tvid=777 key='flag_hide_same_svi_name_directory', value='false' key='flag_auto_detect', value='true' key='flag_daemon', value='true' EOF Detect. Daemoning.... start wizd. Starting deferred execution scheduler: atd. Starting periodic command scheduler: cron. Starting web server: Apache2apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName . =-=-= GLANTANK init script start =-=-= /dev/leddrv found. /dev/buzdrv found. /dev/btndrv found. /tmp/btnfifo is nothig. make it. BTN monitor daemon start. status LED set hardware control. =-=-= GLANTANK init script end =-=-= Debian GNU/Linux 3.1 GLANTANK ttyS0 GLANTANK login: root Password: Last login: Sat Dec 17 22:15:29 2005 on ttyS0 Linux GLANTANK 2.6.10-iop1 #22 Fri Aug 19 13:37:07 JST 2005 armv5tel GNU/Linux The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. GLANTANK:~#
NetBSD/evbarmのカーネル(HDL_G)をnetbsd.binからzImageにリネームし、/bootにコピーするとNetBSDが起動するようになります (USBメモリを使ってnetbsd.binを書き込みました)。
つまり、パーティション0にある/boot/zImageをNetBSDに変更するだけでカーネルまでは起動されるということのようです。
当然ですが、パーティション1はLinuxのswapでパーティション2はLinuxのRAIDのファイルシステムになっていますからNetBSDのカーネルが起動しただけではルートファイルシステムを見つけることができず、止まってしまいますね。
+ RedBoot(tm) bootstrap and debug environment [ROM] Red Hat certified release, version 1.90 - built 13:59:48, Jun 3 2005 Platform: IQ80321 (XScale) Copyright (C) 2000, 2001, 2002, Red Hat, Inc. RAM: 0x00000000-0x08000000, 0x00010ba8-0x07ff4000 available == Executing boot script in 1.000 seconds - enter ^C to abort RedBoot> load hda1:/initrd -r -v -b 0x00800000 -m disk ? Raw file loaded 0x00800000-0x009c725f, assumed entry at 0x00800000 RedBoot> load hda1:/zImage -r -v -b 0x00012000 -m disk - Raw file loaded 0x00012000-0x0041529f, assumed entry at 0x00012000 RedBoot> exec -c "root=/dev/hda2 initrd=0xa0800000,8M rw console=ttyS0,115200 mem=128M@0xa0000000" Using base address 0x00012000 and length 0x004032a0 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. NetBSD 4.99.3 (HDL_G) #0: Sun Oct 15 23:22:53 JST 2006 tokuda@MacBook.local:/Users/tokuda/NetBSD/o/20061014/evbarm/sys/arch/evbarm/compile/HDL_G total memory = 128 MB avail memory = 118 MB (中略) wd0 at atabus0 drive 0: <ST340810A> wd0: drive supports 16-sector PIO transfers, LBA addressing wd0: 38166 MB, 77545 cyl, 16 head, 63 sec, 512 bytes/sect x 78165360 sectors wd0: 32-bit data port wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) wd0(acardide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100) (using DMA) boot device: <unknown> root on wd0a dumps on wd0b vfs_mountroot: can't open root device cannot mount root, error = 6 root device (default wd0a):
たまたまNetBSD/evbarmのArmadillo-9を持っていて、CFにユーザランドが入っています。これをCF用のUSBカードリーダ (Buffalo MCR-CF) を使えば、内蔵のHDDではなくCFをルートファイルシステムとして起動できるはずです。
(起動時の最初の方は省略) vfs_mountroot: can't open root device cannot mount root, error = 6 root device (default wd0a): sd0a dump device (default sd0b): wd0b file system (default generic): root on sd0a dumps on wd0b sd0: fabricating a geometry root file system type: ffs WARNING: clock gained 77 days WARNING: CHECK AND RESET THE DATE! init path (default /sbin/init): init: trying /sbin/init Mon Nov 6 00:25:43 UTC 2006 Checking for botched superblock upgrades: done. Starting file system checks: Can't open /dev/rwd0a: Device not configured CAN'T CHECK FILE SYSTEM. /dev/rwd0a: UNEXPECTED INCONSISTENCY; RUN fsck_ffs MANUALLY. Automatic file system check failed; help! Nov 6 00:25:44 init: /bin/sh on /etc/rc terminated abnormally, going to single user mode Enter pathname of shell or RETURN for /bin/sh: Terminal type? [unknown] Terminal type is unknown. We recommend creating a non-root account and using su(1) for root access. #
とりあえず、NetBSDが起動して、コマンドも実行できる状態になりました。ここまで動けば、あとはほとんどNetBSDの世界になりますから勝ったようなものですね。
NetBSDは起動していますが、HDDの中身はLinuxそのものなので念のためディスクの状態を確認しておきます。
# fdisk wd0 Disk: /dev/rwd0c NetBSD disklabel disk geometry: cylinders: 77545, heads: 16, sectors/track: 63 (1008 sectors/cylinder) total sectors: 78165360 BIOS disk geometry: cylinders: 1024, heads: 255, sectors/track: 63 (16065 sectors/cylinder) total sectors: 78165360 Partition table: 0: Linux native (sysid 131) start 63, size 514017 (251 MB, Cyls 0-32) 1: Linux swap or Prime or Solaris (sysid 130) start 514080, size 514080 (251 MB, Cyls 32-64) 2: Linux RAID partition persistent sb (sysid 253) start 1028160, size 77128065 (37660 MB, Cyls 64-4865) 3: <UNUSED> #
# disklabel wd0 # /dev/rwd0c: type: ESDI disk: ST340810A label: fictitious-MBR flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 16 sectors/cylinder: 1008 cylinders: 77545 total sectors: 78165360 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize cpg/sgs] c: 78165360 0 unused 0 0 # (Cyl. 0 - 77544) e: 514017 63 Linux Ext2 0 0 # (Cyl. 0*- 509) f: 514080 514080 unused 0 0 # (Cyl. 510 - 1019) g: 77128065 1028160 unused 0 0 # (Cyl. 1020 - 77535*) disklabel: boot block size 0 disklabel: super block size 0 #
ここまでくれば、fdiskでLinuxのパーティション(swap, RAID)を消して、NetBSDのパーティションを作成し、disklabelを書いて、newfsしたくなってしまいます。
# fdisk -u wd0 Disk: /dev/rwd0c NetBSD disklabel disk geometry: cylinders: 77545, heads: 16, sectors/track: 63 (1008 sectors/cylinder) total sectors: 78165360 BIOS disk geometry: cylinders: 1024, heads: 255, sectors/track: 63 (16065 sectors/cylinder) total sectors: 78165360 Do you want to change our idea of what BIOS thinks? [n] Partition table: 0: Linux native (sysid 131) start 63, size 514017 (251 MB, Cyls 0-32) 1: Linux swap or Prime or Solaris (sysid 130) start 514080, size 514080 (251 MB, Cyls 32-64) 2: Linux RAID partition persistent sb (sysid 253) start 1028160, size 77128065 (37660 MB, Cyls 64-4865) 3: <UNUSED> Which partition do you want to change?: [none] 2 The data for partition 2 is: Linux RAID partition persistent sb (sysid 253) start 1028160, size 77128065 (37660 MB, Cyls 64-4865) sysid: [0..255 default: 253] 0 Partition table: 0: Linux native (sysid 131) start 63, size 514017 (251 MB, Cyls 0-32) 1: Linux swap or Prime or Solaris (sysid 130) start 514080, size 514080 (251 MB, Cyls 32-64) 2: <UNUSED> 3: <UNUSED> Which partition do you want to change?: [none] 1 The data for partition 1 is: Linux swap or Prime or Solaris (sysid 130) start 514080, size 514080 (251 MB, Cyls 32-64) sysid: [0..255 default: 130] 0 Partition table: 0: Linux native (sysid 131) start 63, size 514017 (251 MB, Cyls 0-32) 1: <UNUSED> 2: <UNUSED> 3: <UNUSED> Which partition do you want to change?: [none] 1 The data for partition 1 is: <UNUSED> sysid: [0..255 default: 169] 169 start: [0..4866cyl default: 514080, 32cyl, 251MB] size: [0..4834cyl default: 77651280, 4834cyl, 37916MB] Partition table: 0: Linux native (sysid 131) start 63, size 514017 (251 MB, Cyls 0-32) 1: NetBSD (sysid 169) start 514080, size 77651280 (37916 MB, Cyls 32-4865/145/1) 2: <UNUSED> 3: <UNUSED> Which partition do you want to change?: [none] We haven't written the MBR back to disk yet. This is your last chance. Partition table: 0: Linux native (sysid 131) start 63, size 514017 (251 MB, Cyls 0-32) 1: NetBSD (sysid 169) start 514080, size 77651280 (37916 MB, Cyls 32-4865/145/1) 2: <UNUSED> 3: <UNUSED> Should we write new partition table? [n] y # # fdisk wd0 Disk: /dev/rwd0c NetBSD disklabel disk geometry: cylinders: 77545, heads: 16, sectors/track: 63 (1008 sectors/cylinder) total sectors: 78165360 BIOS disk geometry: cylinders: 1024, heads: 255, sectors/track: 63 (16065 sectors/cylinder) total sectors: 78165360 Partition table: 0: Linux native (sysid 131) start 63, size 514017 (251 MB, Cyls 0-32) 1: NetBSD (sysid 169) start 514080, size 77651280 (37916 MB, Cyls 32-4865/145/1) 2: <UNUSED> 3: <UNUSED> #
ということで、パーティション0をLinuxのext2fsのまま残し(/boot/zImageが格納されている)、パーティション1をNetBSDに割り当てることにしました。
で、disklabelを書きます。なぜか寝ぼけていて/ (root)と/usrしか作らず、しかも/ (root)の容量を小さくしてしまいました。
# disklabel wd0 # /dev/rwd0c: type: ESDI disk: ST340810A label: fictitious-MBR flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 16 sectors/cylinder: 1008 cylinders: 77545 total sectors: 78165360 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize cpg/sgs] c: 78165360 0 unused 0 0 # (Cyl. 0 - 77544) e: 514017 63 Linux Ext2 0 0 # (Cyl. 0*- 509) f: 77651280 514080 unused 0 0 # (Cyl. 510 - 77544) disklabel: boot block size 0 disklabel: super block size 0 # # disklabel -i -I wd0 partition< P 8 partitions: # size offset fstype [fsize bsize cpg/sgs] c: 78165360 0 unused 0 0 # (Cyl. 0 - 77544) e: 514017 63 Linux Ext2 0 0 # (Cyl. 0*- 509) f: 77651280 514080 unused 0 0 # (Cyl. 510 - 77544) partition< a Filesystem type [?] [unused]: ? Supported file system types: 4.1BSD Eighth Edition MSDOS unknown 4.2BSD FILECORE NTFS unused 4.4LFS HFS RAID Version 6 ADOS HPFS swap Version 7 Apple UFS ISO9660 System V vinum boot jfs SysVBFS ccd Linux Ext2 UDF Filesystem type [?] [unused]: 4.2BSD Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: 514080 Partition size ('$' for all remaining) [0c, 0s, 0M]: 512M a: 1048576 514080 4.2BSD 0 0 0 # (Cyl. 510 - 1550*) partition< b Filesystem type [?] [unused]: swap Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: a Partition size ('$' for all remaining) [0c, 0s, 0M]: 256M b: 524288 1562656 swap # (Cyl. 1550*- 2070*) partition< d Filesystem type [?] [unused]: 4.2BSD Start offset ('x' to start after partition 'x') [0c, 0s, 0M]: b Partition size ('$' for all remaining) [0c, 0s, 0M]: $ d: 76078416 2086944 4.2BSD 0 0 0 # (Cyl. 2070*- 77544) partition< P 8 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 1048576 514080 4.2BSD 0 0 0 # (Cyl. 510 - 1550*) b: 524288 1562656 swap # (Cyl. 1550*- 2070*) c: 78165360 0 unused 0 0 # (Cyl. 0 - 77544) d: 76078416 2086944 4.2BSD 0 0 0 # (Cyl. 2070*- 77544) e: 514017 63 Linux Ext2 0 0 # (Cyl. 0*- 509) f: 77651280 514080 unused 0 0 # (Cyl. 510 - 77544) partition< W Label disk [n]? y Label written partition< Q #
でnewfs /dev/rwd0a, newfs /dev/rwd0dしてdisklabelを見てみます。
# disklabel wd0 # /dev/rwd0c: type: ESDI disk: ST340810A label: fictitious-MBR flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 16 sectors/cylinder: 1008 cylinders: 77545 total sectors: 78165360 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 1048576 514080 4.2BSD 1024 8192 43696 # (Cyl. 510 - 1550*) b: 524288 1562656 swap # (Cyl. 1550*- 2070*) c: 78165360 0 unused 0 0 # (Cyl. 0 - 77544) d: 76078416 2086944 4.2BSD 2048 16384 28624 # (Cyl. 2070*- 77544) e: 514017 63 Linux Ext2 0 0 # (Cyl. 0*- 509) f: 77651280 514080 unused 0 0 # (Cyl. 510 - 77544) #
なんとなく並びがイマイチですが、どうせまた再インストールするだろうからほっときます。
newfsまでおわったので、いつものようにmountしてpaxでbase.tgz, etc.tgzを展開して、ちょいちょいと設定すればいっちょうあがりなわけです。
が、そうは問屋がおろしませんでした。なぜかwd0aがマウントできません。wd0dはマウントできるのですがねぇ。
# mount /dev/wd0a /mnt mount_ffs: /dev/wd0a on /mnt: Device busy # umount /dev/wd0a umount: /dev/wd0a: not currently mounted # mount /dev/wd0d /mnt # mount /dev/sd0a on / type ffs (local) /dev/wd0d on /mnt type ffs (local) # umount /mnt # mount /dev/sd0a on / type ffs (local) #
これではラチがあかないので、ひとまずここまでで再起動して、仕切り直そうと思い立ちました。
勘の良い方ならすでにお気づきでしょうが、この再起動が大きな間違いなのでした。
再起動すると、/sbin/initが見つからないと言われます。それだけでなくpanicします。
oot on wd0a dumps on wd0b root file system type: ffs warning: no /dev/console exec /sbin/init: error 2 init: trying /sbin/oinit exec /sbin/oinit: error 2 init: trying /sbin/init.bak exec /sbin/init.bak: error 2 init: not found panic: no init Stopped in pid 1.1 (init) at netbsd:cpu_Debugger+0x4: bx r14 db<
そういえばinitが見つからないとpanicするのを忘れていました。見つからなければ別のルートデバイスを指定できれば良いのですがそうなっていません。
いろいろやり方はあるでしょうが、いずれの方法でもGLANTankからHDDを取り外さなければならないと思います。
ということで、ルートデバイスをsd0aにするkernelに入れ替えるのが手っ取り早いと考え、conf/HDL_Gのconfigを変更したkernelを作り、i386マシンを使って書き込みます。書き込みには付属のCD-ROMのインストーラでCtrl-Cを押してシェルに抜けてから適当にマウントしてUSBメモリから書き込みました。
で、もう一度GLAN TankにHDDをつないで、CFをルートとしてNetBSDを起動させ、paxでbase.tgz, etc.tgzを展開し、MAKEDEVしてfstabを作ります。
忘れないように/boot/zImageをsd0aから起動するものから元のwd0aから起動するものに戻しておきます。具体的にはmount -t ext2fs /dev/wd0e /mntなどとして/mnt/boot/zImageを置き換えます。
ここまでできればArmadillo-9のCFの力を借りることなく、GLAN Tankの内蔵HDDから起動し、独り立ちができるようになりました。
いやー、いろいろ遠回りした気がしますね。
今回は初めてだったので、まじめに付属のCD-ROMからインストールし、泥縄でNetBSDを入れました。
よく考えてみると、もっとシンプルにできるような気がしてきます。
disklabelに互換性があれば動いてくれそうな気がしませんかね。
互換性がない場合でもArmadillo-9のUSBにHDDぶら下げて、一通りのインストールができる気がしますね。
次はそれに挑戦してみましょう。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。