Enable TFTP Server on Mac OS X 10.6

Step.1 啟動 TFTP service

# sudo /sbin/service tftp start

Step.2 變更 TFTP root directory (如果有必要的話)

TFTP root directory 的預設路徑是在 /private/tftpboot
如果想要變更的話,請修改 tftp.plist 的 tag,如:

/usr/libexec/tftpd
-i
/Users/fly/tftp

修改完畢之後,tftpd 需要重新啟動

# sudo /sbin/service tftp stop
# sudo /sbin/service tftp start

安裝 Altera USB-Blaster Driver for OpenSuSE 11.2

Step.1 新增 /etc/udev/rules.d/51-usbblaster.rules 內容如下

# USB-Blaster
BUS=="usb", SYSFS{idVendor}=="09fb", SYSFS{idProduct}=="6001", MODE="0666",
PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev};
printf /proc/bus/usb/%%03i/%%03i$${K%%%%.*} $${K#*.}'",
RUN+="/bin/chmod 0666 %c"

特別注意: 上面敘述”BUS==…”要在同一行

Step.2 新增 /etc/fstab 內容如下

usbfs /proc/bus/usb usbfs devmode=0666 0 0

Step.3 執行下面指令 或 直接重新開機也可

sudo mount /proc/bus/usb

SystemVerilog Interface 的 inout port

發現一個現象,
當使用 SystemVerilog Interface 時,
若 Interface 內有用到 inout,
則該訊號不能宣告成 logic,
必須要宣告成 wire,
不然如果與非 interface 寫法的 inout port 相連時,
NC 會回報錯誤:

ncelab: *E,CUVMIO (../tb/tb.sv,58|48): port connections to inout ports must be collapsible, that is, they must be nets of the same size.

原來 CUPS 是 Apple 的東西

在安裝 Linux Print Driver 的時後,
順手印了一張測試頁,
測試頁的標題是: “CUPS Printer Test Page”,
這張測試頁,從以前到現在,印很多次也看過很多遍了;
不過剛剛無意間看了測試頁下方的小字:
“… CUPS and the CUPS logo are the trademark property of Apple Inc. …”
原來 CUPS 是 Apple 的東西,
現在才發現,Apple 在 Opensource 也貢獻了不少東西。
不知道在 Linux 的世界裡,有沒有微軟貢獻的東西?

Compile SystemC on OpenSuSE 11.3

Download systemc-2.2.0.tgz from
解開壓縮檔

$ tar zxvf ./system-2.2.0.tgz

因為 gcc 是 4.x.x 版,所以要做 patch,compile 才會過
修改 systemc-2.2.0b/src/sysc/utils/sc_utils_ids.cpp
加上:

#include "string.h"
#include "cstdlib"

Compile SystemC and Install


$ sudo mkdir /opt/systemc
$ cd system-2.2.0
$ mkdir objdir
$ cd objdir
$ ../configure --prefix=/opt/systemc
$ make
$ make check # if you want to check
$ sudo make install

OpenSuSE 11.2 x64 + Sun Grid Engine

Workstation:

    PC1 : NIS Server, NFS Server, SGE master
    PC2 : NIS Client, NFS Client, SGE Execution Hosts
    PC3 : NIS Client, NFS Client, SGE Execution Hosts
    PC4 : NIS Client, NFS Client, SGE Execution Hosts
    —-
    PC1, share /home
    PC2~4, mount PC1:/home on /home

OS:

    OpenSuSE 11.2 x64

Package Requirement:

    openmotif22-libs
—————————————————————————

Step.1 Configuration Password-less ssh Access for the root User

    === PC2~4 ===


      check /etc/ssh/sshd_config


        => “PermitRootLogin yes


    === PC1 ===

    // Generate SSH Key
    # ssh-keygen -t rsa

    // Put SSH public key to slave PC2~4
    # rsync -av /root/.ssh/id_rsa.pub root@PC2:/root/.ssh/authorized_keys
    # rsync -av /root/.ssh/id_rsa.pub root@PC3:/root/.ssh/authorized_keys
    # rsync -av /root/.ssh/id_rsa.pub root@PC4:/root/.ssh/authorized_keys

    // Test Password-less ssh access for root user

    # ssh root@PC2
    # ssh root@PC3
    # ssh root@PC4

    Step.2 Download Sun Grid Engine


      Sun Grid Engine 6.2 Update 4, Linux x64 (required), tar.gz format


        sge62u4_linux24-x64_targz.zip … 27.63 MB


      Sun Grid Engine 6.2 Update 4, Linux x86 (required), tar.gz format


        sge62u4_linux24-i586_targz.zip … 27.56 MB


    Step.3 Setup SGE Master / Execute Node


      PC1 (SGE Master):


      # mkdir /home/srv/sge6-2
      # cd /home/srv/sge6-2
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2-common.tar.gz
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2u4-bin-linux24-x64.tar.gz
      # tar -zxvf $DOWNLOAD/sge6_2u4/sge-6_2u4-bin-linux24-i586.tar.gz
      # SGE_ROOT=/home/srv/sge6-2; export SGE_ROOT
      # util/setfileperm.sh $SGE_ROOT

      // GUI Install
      # ./start_gui_installer


        Admin User = root
        Qmaster Host = PC1
        Grid Engine root directory = /opt/sge6-2
        Cell Name = cell_test

Step.4 Test

    // Login in PC1~4 by normal user account
    # source /home/srv/sge6-2/cell_eda/common/settings.csh
    # qsub my_job.sh