FC2カウンター FPGAの部屋 WSL2
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Windows のパスの長さの制限 260 文字を解除

これまで、Windows のパスの長さの制限の 260 文字にどれだけ苦しめられていたか分かりません。仕方ないので、subst コマンドで Vivado プロジェクトのフォルダを z: や y: に割り当て使っていました。Viavdo はとっても深くフォルダを掘ってしまうので、すぐにパスの長さが 260 文字超えちゃってエラーになっちゃうんですよね。

昨日、ittou_ogami さんに教えていただいたのは、”Windows 10で既定の256文字パス制限(MAX_PATH)を変更する方法”でしたが、ちょっとレジストリエディタを使用して面倒なのと、画像が拡大できないので、よく分からなかったため”【Windows】パスの260文字制限の解除方法”を真似してやってみました。

早速やってみましょう。
最初に、Windows 10 で左下のウインドウマークを右クリックして右クリックメニューから Windows PowerShell (管理者)を選択します。
レジストリ「LongPathsEnabled」設定が 0 だと、ロング・パスが無効だそうです。
(Get-Item -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem").GetValue("LongPathsEnabled")
コマンドを実行すると 0 でした。無効です。
win260limit_1_200701.png

(Get-Item -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem")
コマンドを実行すると、レジストリのリストが見えます。確かに、上から 3 つ目の” LongPathsEnable ”は 0 になっているが分かります。
win260limit_2_200701.png

LongPathsEnable を 1 にします。
Set-ItemProperty "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" -Name LongPathsEnabled -value 1
コマンドを実行しました。

もう一度、
(Get-Item -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem")
コマンドを実行すると、上から 3 つ目の” LongPathsEnable ”は 1 になっているのが分かります。
win260limit_3_200701.png

これで、パスの長さが 260 文字の制限は外れたはず。PetaLinux のビルドをもう一度やってみます。
  1. 2020年07月02日 04:20 |
  2. WSL2
  3. | トラックバック:0
  4. | コメント:0

X サーバーの VcXsrv を WSL2 で使用する

Windows 10 上の X サーバーソフトウェアとして Xming を使っていたのですが、ライセンスの関係や nautilus で子ウインドウを出したときに GUI でウインドウ・サイズを調整できないので、VcXsrv を使うことにしました。

VcXerv をインストールして起動して、WSL2 から nautilus を立ち上げてもディスプレイが見つからないといわれて起動しません。その解決策は”WSL2におけるVcXsrvの設定”に書いてありました。

Additional parameters for VcXsrv という入力フォームに

-ac

と入力するそうです。

これで Vitis も起動することができましたが、今度はキーボードが US キーボードになっているようです。記号の入力がうまく行きません。
それで、”VcXsrv日本語キーボード問題”を見て、

-xkblayout jp

を設定することにしました。

VcXsrv を起動してからの設定を書いておきます。
最初の Display settings 画面。
VcXsrv_1_200628.png

Client startup 画面。
VcXsrv_2_200628.png

Extra settings 画面。
Disable access control のチェックを外して、
Additional parameters for VcXerv に

-ac -xkblayout jp

を入力しました。
VcXsrv_3_200628.png

Finish configuration 画面。そのまま完了ボタンをクリックします。
VcXsrv_4_200628.png

これで VcXsrv が立ち上がって、WSL2 のウインドウを表示しました。
  1. 2020年06月28日 11:50 |
  2. WSL2
  3. | トラックバック:0
  4. | コメント:0

WSL2 の Ubuntu-18.04 のホームディレクトリを Windows10 の Explorer で見る

WSL2 の Ubuntu-18.04 のホームディレクトリを Windows10 の Explorer で見たいということでやってみた。

検索すると”WSL2 と Windows Terminal”がヒットした。それによると WSL2 はバーチャルマシンなので、Windows 10 のフォルダにマップされていないということで、共有するようだ。

Explorer のアドレスに

\\wsl$\Ubuntu-18.04

を入れるとUbuntu 18.04 のルートディレクトリが見えた。
WSL_Ubuntu_37_200626.png

  1. 2020年06月26日 21:36 |
  2. WSL2
  3. | トラックバック:0
  4. | コメント:0

WSL2 で Vitis 2019.2 を動かしてみた

ノートパソコンの Windows 10 Professional を 2004 にアップデートしたので、WSL2 での Vitis 2019.2 を試してみた。

最初に、WSL2 にして Vitis 2019.2 を起動したら、DISPLAY環境変数でエラーが出たので、諦めて WSL1 に戻したのだったが、ツィッターでいしたにさん(@taichi600730)に教えていただいて、Vitis 2019.2 の GUI が上がるようになった。ありがとうございました。

さて、WSL2 への変更の方法は”Windows 10 用 Windows Subsystem for Linux のインストール ガイド”を参照した。

もうすでに WSL1 は入っているので、”WSL 2 に更新する”からやることにした。

管理者として PowerShell を開き、以下を実行した。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.19041.329

イメージのバージョン: 10.0.19041.329

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。


あれ?再起動と書いてあるけど、再起動していなような?しかし、前に試していることもあるので、再起動した方が良いだろう?
これ以前にやったことは、”WSL 2 Linux カーネルの更新”の x64 マシン用の最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロードしてインストールした。これは必須のようだ。

Ubuntu 18.04 を WSL2 にアップグレードするコマンドを示す。(”「WSL 2」へのバージョンアップでLinux互換環境はどう変わるのか?”を参照)
wsl --set-version Ubuntu-18.04 2

PS C:\WINDOWS\system32> wsl --set-version Ubuntu-18.04 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。


WSL のステータスを示すコマンドを示す。
wsl -l -v

PS C:\WINDOWS\system32> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-18.04    Stopped         2


Ubuntu-18.04 は WSL2 に更新されていた。

この辺りのやり取りのPowerShell の画面を貼っておく。
WSL2_1_200616.png

X サーバーの Xming を走らせて、Vitis 2019.2 を起動したところ、NO DISPLAY と言われて起動できなかった。

いしたにさんに教えていただいた”WSL2のGUI設定でつまずいたところ”をみて、 .bashrc に

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

を設定したが、また NO DISPLAY と言われた。
WSL2_2_200616.png

Xming の Spacify parameter settings の No Access Control Disable Server Access Control にチェックを入れて起動すると Vitis の IDE が起動した。
WSL2_3_200616.png

ワークスペースを選択して、アクセラレーション・アプリケーション・プロジェクトで、Hardware を再ビルドしたところ成功した。
WSL2_4_200616.png

(2020/07/01:追記)
WSL で Emacs を使うための設定”で、WSL1 と WSL2 の DISPLAY 環境を自動切換えする .bashrc の記述を見つけたので、ここに貼っておく。

if [ -z "$DISPLAY" ]; then
    if wsl.exe -l -v 2> /dev/null | sed 's/[^[:print:]]//g' | grep " $WSL_DISTRO_NAME " | grep -q '2$'; then
        # for WSL2
        export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0
    else
        # for WSL1
        export DISPLAY=:0
    fi
fi

  1. 2020年06月17日 04:14 |
  2. WSL2
  3. | トラックバック:0
  4. | コメント:0