ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

NodeLock License

FPGAXでのSDSoCライセンスが発行された。

このライセンスがNodeLock Licenseだった。 VivadoとかActivation Licenseになっているので久々にNodeLockなLicenseを取得した。 Vivadoも最初の時はNodeLock Licenseだったよなぁ。

SDSoCをインストールしてからライセンスが無い状態でSDSoCを起動すると、たぶんSDSoCのプラグインのエラーでEclipseが終了する。 それはそれでいいんだけど・・・

SDSoCだけでは、License Managerを開くことができない。 そこでVivadoを開いてLicense Managerを開く。

こんな感じで開くことができる。

ここまでは良いのだが、Network Interface Card(NIC) IDが"000000000000"と全て"0"になっている場合がある。 ここのIDはLinuxの場合はeth0のMacアドレスが表示される。

Ubuntu 16.04の場合はネットワークのデバイス名が伝統的なeth0からenp2s0などの名前に変更されている。 eth0が無いので全て"0"になる。 また、有線LANが無いタブレットやノートPCはの場合も同様に全て"0"になる。

実は以前、NICが全ての"0"のNodeLock Licenseを取得して使用することができた。 今回もできるだろうと思ったら、NICが全て"0"のライセンスが作成できなかった。 さすがに禁止にしたんだなぁ。

それはそれでいいのだが・・・

NodeLock Licenseのためにeth0を作成しなければいけなくなった。

wlan0でもenp2s0でもこのudevでeth0に名前を変えてしまえば問題ない。

MACアドレスが00:11:22:33:44:55であるなら、/etc/udev/rules.d/70-persistent-net.rulesを次のように記載する。

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="en*", NAME="eth0"

これで再起動すれば、LANがeth0になっている。

あとはLicense Managerで登録すればいいだけなんだけど・・・

コマンドラインから起動するなら次のようにXILINXD_LICENSE_FILEかLM_LICENSE_FILEを環境変数にしておけば起動した時にライセンスが読み込まれる。 .bashrcとかに入れておけば断然OKだよね。

export XILINXD_LICENSE_FILE=/home/hoge/Xilinx.lic

どっちかであれば良い。

export LM_LICENSE_FILE=/home/hoge/Xilinx.lic

久々にXilinxのツールを起動するのに面倒だった。