Cygwin
  Cygwin って何
  主要な話題
    Cygwin に特有
    Unix 一般
  Netinstaller
    流れ
      Download Folder
      setup.exe を起動
      setup.exe の操作
    Download Folder
      新規作成
      新しいフォルダ
      Download
    全てを選ぶ
  Hello メモ帳
  cc
  H8/300 Cross
    パッケージ
      binary
      pkgsrc
    使い方
      準備
    gcc
      as
    objdump
    objcopy
    ld
    readelf
    蛇足
  pkgsrc
    bootstrap
      既製品を利用する
      枠を用意する
      自分で作る
      bmake
      既製品を作る
  sudo
    特権作業
    Cygwin の場合
  管理者として実行
    文字化け
  sshd
URL

Sofware -> Cygwin
Last Update: "2014/02/25 00:54:19 makoto"

pkgsrc

bootstrap

bootstrap-pkgsrc は、「何もないところで pkgsrc」を始める、の意味です。
http://www.netbsd.org/docs/pkgsrc/platforms.html#cygwin
Cygwin の setup-x86_64.exe (など) を起動し
All   Default
Base  Default
Devel 
     binutils:  The GNU assembler, linker and binary utilities   
     cvs:       Version control system
     gcc-core:  GNU Compiler collection (C, OpenMP)
     gcc-g++:   GNU Compiler collection (C++)
Lib:
     libcrypt-devel: Encryption/Decryption utility and library
を選んでおきます。選ぶ、というのは各項目の
Skip という文字をクリックして、その文字を版名にしておくことです。
各入口の + をクリックして開いて、Skip を版名に変えた後は 同じく入口の - を クリックして、閉じておきます。

(既に設置済で、 上に挙げた項目が Keep になっていれば、そのまま何もしなくて大丈夫です)。 もし他の機械から入って操作する場合には

Net
     openssh:	The OpenSSH server and clienet programs
Shells
     zsh:       The Z-Shell
なども、(例えば)自分の慣れた環境とするために追加します (必須ではありません)。
(選んだ後に「次に」を選びます)
既製品を利用する
次の項目で作る bootstrap の binary kit ですが、作らなくてもいいように 予め用意してあります。 Win7 32 bit 用Win7 64 bit 用 があります。 (実はまだこれらは、検証をしていません)
ここの *-20140127.tar.gz です。御自分の OS に合せて、 これらのどちらかをダウンロードします。FireFox などで取得 (download) した時には、 cygwin terminal の窓からはどこにあるか分り難いので、「ダウンロード」のフォルダから、
コンピュータ -> ローカルディスク(C:) -> cygwin64 -> home -> (自分 の login ID)
へ移しておくのも良い方法かと思います。その後に (「管理者権限で実行する」で開けた cygwin terminal で、
% cd / ; % tar pzxv /home/loginID/bootstrap-20140127.tar.gz
とするのは何だか進まないので、
% cd / ; % zcat /home/loginID/bootstrap-20140127.tar.gz | tar pxvf -
などとして展開すると、すぐ終ります。
32 bit 用は名前が少し違いますが、適宜読み替えて下さい。 なおこの操作では OS の確認はしてくれないので、人間の方で、注意して下さい。
「既製品を利用する」のは簡単ですが、その場合でも pkgsrc で bmake するには 以下の作業の一部が必要になります。 上記の操作をする前でも、した後でもいいので、 次の「枠を用意する」の部分は実行して下さい。
枠を用意する
ここで枠とは、/usr/pkgsrc の下に用意する pkgsrc 用のしかけのことです。
Cygwin Terminal (または Cygwin64 Terminal) をクリック して shell の窓を開けます。その中での操作です
(以下、入力は 反転の色 で示します)。
% cd /usr % cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot login Logging in to :pserver:anoncvs@anoncvs.jp.netbsd.org:2401/cvs/cvsroot CVS password: anoncvs (表示されません) cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot login 0.01s user 0.05s system 2% cpu 2.855 total % time cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot co pkgsrc cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot co pkgsrc 105.36s user 537.06s system 76% cpu 13:55.65 total
上記の例では 約 14 分かかっています (所要時間はネットワーク環境や disk の性能により変化します)。

同じ機械で別の時に(全く新くした時に)

m08@makoto 17:21:02/140201(/usr)% cvs -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot login Logging in to :pserver:anoncvs@anoncvs.jp.netbsd.org:2401/cvs/cvsroot CVS password: anoncvs m08@makoto 17:21:37/140201(/usr)% time cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot co pkgsrc cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot co pkgsrc 105.69s user 530.59s system 74% cpu 14:08.72 total
やはり 14 分くらいかかっています。更に(新しい)別の機械でしたら、ずうっと早いです
HostName@makoto 15:51:28/140207(/usr)% cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot login Logging in to :pserver:anoncvs@anoncvs.jp.netbsd.org:2401/cvs/cvsroot CVS password: HostName@makoto 15:52:08/140207(/usr)% time cvs -Q -d :pserver:anoncvs@anoncvs.jp.netbsd.org:/cvs/cvsroot co pkgsrc 35.86s 177.33s 7:49.31 45% 0+0k 0+0io 11639pf+0w
こちらは 8 分です。CPU 性能が効くのかなという気もします。
自分で作る
(ここの部分は二つ前の「既製品を利用する」 作業をした場合には不要です。 この下の方にある bmake の項目まで読み飛して下さい。
以下緑の部分は、失敗例ですが参考までに残してあります。 急ぐ時には、緑の部分は読み飛して下さい。
% cd /usr/pkgsrc/bootstrap % time ./bootstrap --prefix=/usr/pkg --pkgdbdir=/var/db/pkgdbdir
===> bootstrap command: ./bootstrap --prefix=/usr/pkg --pkgdbdir=/var/db/pkgdbdir ===> bootstrap started: 2014 24 14:31:06 JST Working directory is: /usr/pkgsrc/bootstrap/work ===> running: /usr/bin/sed -e 's|@DEFAULT_INSTALL_MODE@|'0755'|' /usr/pkgsrc/sysutils/install-sh/files/install-sh.in > /usr/pkgsrc/bootstrap/work/bin/install-sh ===> running: /usr/bin/chmod +x /usr/pkgsrc/bootstrap/work/bin/install-sh You must be either root to install bootstrap-pkgsrc or use the --unprivileged option. 0.24s 0.56s 1.217 65% 0+0k 0+0io 74391pf+0w
「管理者権限がない」と言って失敗しました。そこで
Cygwin terminal を右クリックして、 「管理者として実行(A)」を選びます。
% time ./bootstrap --prefix=/usr/pkg --pkgdbdir=/var/db/pkgdbdir ===> bootstrap started: Fri Jan 24 14:42:10 JST 2014 "/usr/pkgsrc/bootstrap/work" already exists, please remove it or use --workdir.
先ほど一度失敗したのですが、その時に作った work を見て、それがもうあるけれど、消すか、 別のところを指定して下さい。と言っているので、消します。
% rm -rf work
(上記緑の部分を読み飛した時には)
Cygwin terminal を右クリックして、 「管理者として実行(A)」を選びます。
もう一度 bootstrap します。
% cd /usr/pkgsrc/bootstrap % time ./bootstrap --prefix=/usr/pkg --pkgdbdir=/var/db/pkgdbdir (大きく中略) => Registering installation for pkg_install-20130902 ===> running: /usr/bin/sh /usr/pkgsrc/bootstrap/work/bin/install-sh -d -o Administrators -g Administrators /usr/pkg/etc =========================================================================== Please remember to add /usr/pkg/bin to your PATH environment variable and /usr/pkg/man to your MANPATH environment variable, if necessary. An example mk.conf file with the settings you provided to "bootstrap" has been created for you. It can be found in: /usr/pkg/etc/mk.conf You can find extensive documentation of the NetBSD Packages Collection in /usr/pkgsrc/doc/pkgsrc.txt. Hopefully everything is now complete. Thank you for using pkgsrc! =========================================================================== ===> bootstrap started: 2014年 1月 24日 金曜日 14:52:27 JST ===> bootstrap ended: 2014年 1月 24日 金曜日 15:14:21 JST real 21m53.442s user 7m36.076s sys 10m50.382s makoto@kinu-win7 /usr/pkgsrc/bootstrap
22 分くらいかかりました。
bmake
この後は /usr/pkg/bin と /usr/pkg/sbin を PATH 環境変数に加えておいて、 必要な directory、例えば /usr/pkgsrc/cross/h8300-elf-gcc に行って bmake package-install します。
% cd /usr/pkgsrc/cross/h8300-elf-gcc ; % bmake package-install
ただ、この時に 管理者権限 を必要とする段階があるので、それをどうするかを少し考えます。
既製品を作る
上記の「既製品を利用する」ための「既製品」を作るには --binary-kit (filename-full-path) を加えて ./bootstrap します。
Last Update: Sat, 05 Jul 2014 02:17:03 GMT 1.66 2008/03/08