NetBSD/macppc
  CDROM 起動
  全体の流れ (OF3)
  全体の流れ (OF 1/2)
  getting OF
  Boot from CDROM
sysinst
  overall flow
  installboot
  入力が出来ない
区画
  区画方針
  OS X CDROM を使う
  pdisk を使う
  sysinst と区画
  初めての pdisk
    結果
    変更前
    操作
    実際の操作
    pdisk/help
sysinst 後
  check the partition #
  first boot
  regular boot with CDROM
  /etc/rc.conf
    root login refused
boot-device
  hfsutils
  OF boot
    CDROM
    after install
X11
  X11R6.6+XF86
    binary
    source
      20061211
      for 4.99.1 (gcc-4.1.2)
      for 3.99.17
      3.99.8
      3.99.9
    XF86Config
  xorg
packages
  binary
  pkgsrc
  bulk build
  chroot
    準備
    実行
  bulk build 実際
status
  20070724 4.99.
  20070526 4.99.20
  20070203 4.99.9
  20061008 4.99.3
  20060822 4.99.1
  20060702 3.99.21
  20060527 3.99.20
  20060506 3.99.x
  20060407 3.99.17
  20060101 3.99.15
  20050928 3.99.9
  20050918 3.99.9
    packages
  20050829 3.99.8
  pkgsrc
    meta-pkg
    gimp
    gdb on Emacs
    FireFox
    rtk
    tlp
  20050707
  20050605
  20050416
  20050405
  tips for mini
URL
  

Software 入口 | NetBSD 解説 | pkgsrc 各論 | macppc | TsubaiBSD 絹/software/全文検索

NetBSD/macppc

Last Update: "2007/08/07 07:14:55 makoto"

chroot

bulk-build をすると、BULK_PREREQ に指定のない限り、pkg は全て消して しまいます。 sudo も tcsh も消されてしまいます。その機械は bulk build の実行中 は、pkg で入れたものを使うような他の用途には使えません。

しかしここに書いた chroot を使えば、その心配はなくなります。

準備

例えば /export/chroot の下に環境を作るとします。
  1. ☆ binary/sets を開けます
  2. ★ X11R6.6+XF86 を開けます
  3. ★ missing/libgcc_s_pic.a を /usr/lib に写しておきます
  4. usr/pkgsrc を cvs co します
  5. 前頁 の patch を当てます
  6. ☆ /dev で ./MAKEDEV all
  7. ☆ /etc/mk.conf と /usr/pkgsrc/mk/bulk/build.conf を調整
  8. ★ (必要なら shell として) /bin/tcsh (など)を用意 ( /etc/shells も要調整 ?)
  9. ☆ /etc/resolv.conf を用意 (ftp するのに必要)
  10. ☆ ln -s usr/share/zoneinfo/Japan etc/localtime
上記の☆や★の印の意味は次の通りです。
★ TsubaiBSD あるいは自分の環境等に特有なこと
☆ NetBSD 一般に必要なこと
今回は 22 GBytes くらい空けて実行して見ます。
  1. distfiles を NFS から利用したいような場合には mount_null を使うと良いです。例えば 次のような構文です (これは chroot する前に操作します)
    sudo mount_null /amd/host/distfiles /export/chroot/usr/pkgsrc/distfiles 
    
    これでもし distfile に何か入っていると、それは下にかくれて見えなくなります。
  2. 良く分らないが chroot の場合に、 ALLOW_VULNERABLE_PACKAGES=YES が必要となる場合があるような気がします。
  3. 上の方法では binary/sets を tar zxpf で開けることを想定していますが、 例えば、 /var/spool/clientmqueue/ の所有者を
    drwxrwx---  2 smmsp  smmsp  2048 May 14 22:41 /var/spool/clientmqueue/
    
    にしておく必要があります。これは最後に報告のメールを出すのに必要です。 (もしこれで失敗した時には sh bulk/build -r すれば、やり直してすぐにメールが 送られます)。
  4. 自分の id を vipw で作成し、しかし root の passwd を空にしておくと su の時に何も聞いて来ないので便利な気がします。/etc/group の一行目には ,login_name を書いておきます。

実行

ttyp0:makoto@st4200 DING!/050505(/export/chroot)> sudo chroot . Password: # tcsh # source /root/.tcshrc /home/makoto/.cshrc: No such file or directory. ttyp0:root@st4200 17:02:15/050505(/)# cd /usr/pkgsrc/mk ttyp0:root@st4200 17:02:24/050505(...pkgsrc/mk)# sh bulk/build Bulk build started: Thu May 5 17:02:32 JST 2005 Making sure vulnerability-list is upto date: BULK> /usr/pkgsrc/packages/All/audit-packages-1.33.tgz is up to date. BULK> Required binary package digest-[0-9]* (digest-20050323.tgz) is newer, rebuilding... /usr/bin/make bulk-package PRECLEAN=no BULK> /usr/pkgsrc/packages/All/audit-packages-1.33.tgz is up to date. BULK> Required binary package digest-[0-9]* (digest-20050323.tgz) is newer, rebuilding... BULK> Removing old binary package... /bin/rm -f /usr/pkgsrc/packages/All/audit-packages-1.33.tgz /bin/rm -f /usr/pkgsrc/packages/security/audit-packages-1.33.tgz /bin/rm -f /usr/pkgsrc/packages/pkgtools/audit-packages-1.33.tgz BULK> Full rebuild in progress... BULK> Cleaning package audit-packages-1.33 and pre-r ...
Last Update: Sat, 07 Jun 2014 22:16:17 GMT 1.66 2008/03/08