--- nono/doc/index.php 2026/04/29 17:05:34 1.1.1.19 +++ nono/doc/index.php 2026/04/29 17:05:39 1.1.1.20 @@ -91,17 +91,16 @@ For clang, at least 7.0 or later.)
  • wxWidgets 3.2.x "stable" branch. (3.0.x "old stable" branch would also work.)
  • gettext -
  • libslirp -(4.7.0 or later is comfirmed, 4.8.0 or later is preferred.) +
  • libslirp (4.7.0 or later is comfirmed, 4.8.0 or later is preferred.)

    NetBSD(pkgsrc) なら必要なパッケージは -x11/wxGTK32 と net/libslirp です。 +x11/wxGTK32 と net/libslirp です。 wxGTK32 の代わりに wxGTK30 でも動くはずです。 If you use NetBSD(pkgsrc), -x11/wxGTK32 and net/libslirp are needed. -wxGTK30 would work. +x11/wxGTK32 and net/libslirp are needed. +wxGTK30 would also work.

    (NetBSD 以外でのビルドはサポートしていませんが) @@ -116,7 +115,7 @@ build-essential, gettext, libbsd-dev, libkqueue-dev, -libslirp-dev, +libslirp-dev, libwxgtk3.2-dev, zlib1g-dev @@ -245,6 +244,21 @@ This option is equivalent to fast-mo _EOM_ ); +option_item("--fd0 file
    --fd1 file
    ", <<<_EOM_ + +(X68030 Only) フロッピーイメージを指定します。 +file が相対パスの場合カレントディレクトリからのパスになります。 +設定の fd0-imagefd1-image +とは相対パスの起点の違いを除いて同一です。 +Specifies the floppy image. +If file is relative path, +it is path from the current directory. +This option is equivalent to fd0-image, fd1-image +in configuration except for base directory of the relative path. + +_EOM_ +); + option_item("--fontsize height", <<<_EOM_ GUI 版のみ。 全サブウインドウの起動時のフォントサイズを指定します。 @@ -258,7 +272,7 @@ _EOM_ ); option_item("--initrd file", <<<_EOM_ -(virt-m68k only) +(virt-m68k Only) カーネルに渡す初期 RAM ディスクのパスを指定します。 file が相対パスの場合カレントディレクトリからのパスになります。 設定の exec-initrd とは相対パスの起点の違いを除いて同一です。 @@ -511,14 +525,38 @@ _EOM_ config_item("clock-sync = value", <<<_EOM_ 仮想マシン内の時刻の同期方法を指定します。 real なら実時間に同期、virtual なら仮想時間に同期します。 -デフォルトは real です。 -この機能は実験中のため将来予告なく仕様が変更になる可能性があります。 -Specifies how to synchronize the time in virtual machine. +Specifies how to synchronize the time in the virtual machine. If real, synchronize with the real time; -if virtual, synchronize with the virtual time. -The default is real. -This feature is under experimentation and may be changed in the future -without notice. +if virtual, synchronize with the virtual time. +

    _EOM_ ); @@ -790,7 +828,7 @@ _EOM_ ); config_item("hostkbd-input = string", <<<_EOM_ -(LUNA and X68030 only) +(LUNA and X68030 Only) ホストキーボードの入力モードを指定します。 char ならキャラクタ入力モード、 jp なら日本語キーボードモードです。 @@ -809,9 +847,9 @@ config_item( "hostnet-afpacket-ifname = ifname
    " . "hostnet-bpf-ifname = ifname
    " . "hostnet-tap-devpath = path
    " . - "hostnet-usermode-hostfwd = string
    " . - "hostnet-usermode-net = string
    " . - "hostnet-usermode-net6 = string
    " . + "hostnet-usermode-hostfwd = string
    " . + "hostnet-usermode-net = string
    " . + "hostnet-usermode-net6 = string
    " . "hostnet-fallback = integer
    ", <<<_EOM_ それぞれ hostnet0-* の別名です。 _EOM_ @@ -820,11 +858,11 @@ _EOM_ config_item("hostnetN-driver = string", <<<_EOM_ N 番目のイーサネットデバイスのホスト側ドライバを指定します。 -afpacketbpftapusermode のうち +afpacketbpftapusermode のうち configure で検出したものと autonone が選択可能です。 Specifies the host driver of N-th ethernet device. -afpacket, bpf, tap and usermode can be specified +afpacket, bpf, tap and usermode can be specified only if the configure detects them. auto and none can always be specified. - autousermode と同義ですが、 -configure で libslirp が無効になっている場合は none と同義になります。 +configure で libslirp が無効になっている場合は none と同義になります。 hostnet0-driver のデフォルトは autohostnet1-driver のデフォルトは none です。 - -auto is a synonym for usermode, but -when libslirp is disabled on configure, it is a synonym for none. +auto is a synonym for usermode, but +when libslirp is disabled on configure, it is a synonym for none. The default of hostnet0-driver is auto, the default of hostnet1-driver is none. _EOM_ @@ -918,38 +953,30 @@ you need to prepare empty scripts that w _EOM_ ); -config_item("hostnetN-usermode-net = network/netmask", <<<_EOM_ - +config_item("hostnetN-usermode-net = network/netmask", <<<_EOM_ ホストドライバが usermode の時の、内部 IPv4 ネットワークのアドレスを指定します。 ネットワークアドレスは 192.0.2.0/255.255.255.0 のようにネットマスクで指定するか 192.0.2.0/24 のようにネットマスク長で指定することも出来ます。 デフォルトは 10.8.0.0/24 です。 - _EOM_ ); -config_item("hostnetN-usermode-net6 = network/prefixlen", <<<_EOM_ - +config_item("hostnetN-usermode-net6 = network/prefixlen", <<<_EOM_ ホストドライバが usermode の時の、内部 IPv6 ネットワークのアドレスを指定します。 ネットワークアドレスは 2001:db8::/64 のようにアドレスとプレフィックス長で指定します。 デフォルトは fd08::/64 です。 - _EOM_ ); -config_item("hostnetN-usermode-hostfwd = entry[;entry[;…]] ", <<<_EOM_ - +config_item("hostnetN-usermode-hostfwd = entry[;entry[;…]]", <<<_EOM_ ホストドライバが usermode の時の、外部から内部へのポートフォワーディングの設定を行います。 1つの entry
    - protocol,[hostaddr:]hostport,[guestaddr:]guestport -
    - のように ','(カンマ) 3つで区切って表します。 protocoltcpudp です。 hostaddr はホストのバインドアドレスで省略すると 0.0.0.0 です。 @@ -959,11 +986,8 @@ config_item("hostnettcp,10022,22
    となります。 複数指定する場合は ';'(セミコロン) で区切って1行に並べます。 -

    - IPv6 には対応していません。 - _EOM_ ); @@ -1198,10 +1222,8 @@ _EOM_ config_item("mpu-type = value", <<<_EOM_ (X68030, virt-m68k Only) -MPU 種別を指定します。 -MPU を変更出来るのは X68030 と virt-m68k のみで、 -6803068040 かを指定します。 -デフォルトはいずれも 68030 です。 +MPU 種別を 6803068040 で指定します。 +デフォルトは 68030 です。 Specifies the MPU type, 68030 or 68040. The default is 68030. _EOM_ @@ -1377,7 +1399,7 @@ By the way, NetBSD/luna68k needs at leas If the size is less than 64MB, you can specify in 16MB unit. If larger, you can specify up to tentative 512MB in 1MB unit. However, if you have prom-image with the real image, -the maximum is limited to 240MB. +the maximum is limited to 240MB.

  • X68030 ではメイン RAM 容量を示し、デフォルトは 12MB です。 4MB から 12MB まで 1MB 単位で指定できます。 拡張メモリについては extram-size を参照してください。 @@ -1387,7 +1409,7 @@ See extram-size for extended memory.
  • NWS-1750 では現状 16MB で変更できません。 On NWS-1750, This is 16MB fixed for now.
  • virt-m68k のデフォルトは 128MB です。 -16MB から 4080MB まで(アプリケーションとしては)指定可能です。 +16MB から 4080MB まで指定可能です。 指定された値が 16MB で割り切れない場合は 16MB 単位に切り上げになります。 On virt-m68k, the default is 128MB and the range is 16MB to 4080MB. @@ -1433,8 +1455,7 @@ SCSI デバイスとイメージを指 値はデバイス種別 devtype とディスクイメージパス path を ","(カンマ) で区切って並べた形式です。 デバイス種別 devtype は以下のいずれかです。 - -Specifies SCSI device and image. N in the key is 0 to 7. +Specifies SCSI device and image. N in the key is 0 to 7. But don't specify ID 7 because the host uses it. The value is in a form of device type devtype and the disk image path path separated by ","(comma). @@ -1449,8 +1470,7 @@ the disk image path path separate devtypehd なら path は省略できません。 devtypecdmo なら path は省略可能です。 イメージパスが相対パスなら VM ディレクトリからの相対パスになります。 - -If devtype is hd, path cannot be ommitted. +If devtype is hd, path cannot be ommitted. If devtype is cd or mo, path can be ommitted. If the path is relative path, it is from the VM directory. @@ -1520,17 +1540,6 @@ clear the write permission from the imag _EOM_ ); -config_item("spc0-idN-writeprotect = integer", <<<_EOM_ -(LUNA and X68030 Only) -古いオプションです。 -代わりに spc0-idN-writeignore を使ってください。 -このオプションは開発用です。 -Obsolete. -Use spc0-idN-writeignore instead. -This option is for developers. -_EOM_ -); - config_item("sram-sync-ramsize = integer", <<<_EOM_ (X68030 Only) SRAM の RAM 容量欄を実際の RAM サイズに合わせるかどうかを指定します。 @@ -1552,45 +1561,50 @@ _EOM_ ); config_item("virtio-blockN-image = path", <<<_EOM_ -(virt-m68k only) -virtio のブロックデバイスのイメージを指定します。 -キーの N は現状 0 から 7 です。 +(virt-m68k Only) +VirtIO ブロックデバイスのイメージを指定します。 +キーの N は現状 0 から 7 が指定可能です。 イメージパスが相対パスなら VM ディレクトリからの相対パスになります。 -Specifies virtio block device's image. -N in the key is 0 to 7 for now. +Specifies VirtIO block device's image. +N in the key is 0 through 7 for now. If the path is relative path, it is from the VM directory. _EOM_ ); config_item("virtio-blockN-writeignore = integer", <<<_EOM_ -(virt-m68k only) -指定の virtio ブロックデバイスへの書き込みをイメージに書き戻すかどうか指定します。 -0 なら通常動作(書き込みを行う)です。 -1 ならディスクイメージに一切書き戻しません。 -デバイスへ書き込んだはずのデータは Copy-On-Write の要領で、 -VM ディレクトリ内の一時ファイルに書き込みます。 -この一時ファイルはアプリケーション終了時に削除します。 -fsck を気にせずカーネルのデバッグとかを行いたい場合にはどうぞ。 -何が起きるか意味が分からない人は指定しないでください。 -デフォルトは 0 です。 -Specifies whether nono writes a writing to virtio block devices back +(virt-m68k Only) +指定の VirtIO ブロックデバイスへの書き込みをイメージに書き戻すかどうか指定します。 +詳細は spc0-idN-writeignore を参照してください。 +Specifies whether nono writes a writing to VirtIO block devices back to the diskimage. -0 means normal operation (writes to the diskimage). -1 means that nono will not write to the diskimage back. -Data that the guest wrote to the device will be written to a temporary file -in the VM directory, -like Copy-On-Write. -The temporary file will be removed when the application exits. -This is useful for kernel debugging because it does not require fsck -after the kernel hangs or reboots. -Don't use this flag if you don't understand this paragraph. -The default value is 0. -

    -ちなみに、メディアを書き込み禁止にしたい場合はこれではなく、 -イメージファイルの書き込み権を落としてください。 -By the way, if you want to make the media write-protected, -clear the write permission from the image file -(instead of this setting). +See spc0-idN-writeignore for details. +_EOM_ +); + +config_item("virtio-scsi-idN-image = devtype[,path]", <<<_EOM_ + +(virt-m68k Only) +VirtIO SCSI デバイスとイメージを指定します。 +イニシエータ ID が不要なため、 +キーの N には 0 から 7 が指定できます。 +詳細は spc0-idN-image を参照してください。 +Specifies VirtIO SCSI device and image. +You can specify all of 0 thorugh 7 for the key N, +because there is no initiator. +See spc0-idN-image for more details. + +_EOM_ +); + +config_item("virtio-scsi-idN-writeignore = integer", <<<_EOM_ + +(virt-m68k Only) +指定の VirtIO SCSI デバイスへの書き込みをイメージに書き戻すかどうか指定します。 +詳細は spc0-idN-writeignore を参照してください。 +Specifies whether nono writes a writing to VirtIO SCSI devices back +to the diskimage. +See spc0-idN-writeignore for details. + _EOM_ ); @@ -1744,9 +1758,10 @@ Goldfish PIC ◎ Goldfish RTC ◎ Goldfish Timer ◎ Goldfish TTY ○ -virtio v1.0 block ○ -virtio v1.0 net ○ -virtio v1.0 entropy ◎ +VirtIO Block ○ +VirtIO Network ○ +VirtIO Entropy ◎ +VirtIO SCSI Power Control ○ __EOM__; @@ -1791,13 +1806,12 @@ FPU はある程度動作すると思い 68881 相当のハードウェアエミュレーションで実行出来てしまうという 通常あまり困らないタイプの問題は存分にあります。
    -命令の実行サイクルについては未考察です。 + +命令の実行サイクルについてはある程度似せているつもりですが、 そもそも 68040 はパイプライン方式なので 68000 時代のようにサイクル数を -正確にエミュレーションすることはおそらく不可能ですが、 -それにしても似せるところまでも行っていないという意味です。 +正確にエミュレーションすることはおそらく不可能です。
    -68040 は X68030 と virt-m68k でのみ選択可能で、 -LUNA-I と NEWS では選択できません。 +68040 は X68030 と virt-m68k でのみ選択可能です。 NEWS に 68040 搭載モデルはなさそうなのと、 LUNA では 68040 搭載モデルは LUNA-I ではなく LUNA-II になるからです。 @@ -1932,15 +1946,50 @@ Also, SW8 specifies enable/disable of th -usermode ネットワーク"); ?> +

    - usermode ネットワークでは nono 自身が NAT ルータ、DHCP サーバ、DNS サーバの機能を持ちます。 ルータと DHCP サーバのアドレスはネットワークアドレス +1 (デフォルトでは 10.8.0.1)、 DNS サーバのアドレスはネットワークアドレス +2 (デフォルトでは 10.8.0.2) です。 IPv6 ルータのアドレスはネットワークアドレス +1 (デフォルトでは fd08::1)、 DNS サーバのアドレスはネットワークアドレス +2 (デフォルトでは fd08::2) です。 +
    + + +Time Synchronization on NetBSD/x68k
    "); ?> +
    + +X68030 でゲスト OS に NetBSD/x68k を使う場合、 +nono と NetBSD/x68k を次の通りに設定すれば +nono をフルスピード動作にしてもゲスト OS の時間がずれなくなります。 +まず nono の設定ファイルに以下を追加します。 +
    +clock-sync = real
    +
    +ゲストの NetBSD/x68k を起動し、 +/etc/sysctl.conf に以下の1行を追加します。 +
    +kern.timecounter.hardware=clockinterrupt
    +
    +さらに /etc/rc.conf に +
    +ntpdate=YES
    +ntpdate_hosts=ntp.nict.jp
    +
    +などと設定します (NTP サーバはお好みで)。 +sysctl の設定によって、ゲスト OS の時計は「この設定が有効になった時点から」 +実時間間隔を刻めますが、 +電源オンからここまでにずれた分が解決できるわけではありませんので、 +必然的に時計を合わせる必要もあるためです。 +これで再起動すると次回からはフルスピードでも実時間を刻めます。 +(再起動せずに有効にしたい場合はこの設定の後 root ユーザで +
    +/etc/rc.d/sysctl start
    +/etc/rc.d/ntpdate start
    +
    +を実行してください)