ひでみのアイデア帳 2022-07-03T21:40:59+09:00 urn:uuid:32c34578-c4da-8d90-5f18-1740239359ee cmakeのバージョンを指定してインストール urn:uuid:be4b87c0-940c-778d-d27f-6c910f05b0af cmakeのバージョンを指定してインストール

稀れにcmakeのバージョンを促すソフトウェアがあるのでバージョンを指定してcmakeをインストールしてみました。

$sudo apt remove cmake

下記のWebサイトからPlatformに合ったファイルをダウンロードします。

https://cmake.org/download/

今回は下記のファイルをダウンロードしました。

cmake-3.23.1-linux-x86_64.sh

あとは実行権を付けて、インストールしたいディレクトリで実行するだけです。

]]>
2022-04-19T22:14:10+09:00 ひでみ hidemi@sweetcafe/jp <h1>cmakeのバージョンを指定してインストール</h1> <p>稀れにcmakeのバージョンを促すソフトウェアがあるのでバージョンを指定してcmakeをインストールしてみました。</p> <pre><code>$sudo apt remove cmake</code></pre> <p>下記のWebサイトからPlatformに合ったファイルをダウンロードします。</p> <p><a href="https://cmake.org/download/">https://cmake.org/download/</a></p> <p>今回は下記のファイルをダウンロードしました。</p> <p>cmake-3.23.1-linux-x86_64.sh</p> <p>あとは実行権を付けて、インストールしたいディレクトリで実行するだけです。</p>
Raspberry Pi picoで遊ぶ urn:uuid:129959ab-844f-cc23-537e-f4d8ab46eabc Raspberry Pi picoで遊ぶ

Raspberry Pi picoを入手したのでWSL環境に開発ツールをインストールして遊んでみました。

開発環境のインストール

ひとつは下記のようにpico-sdkを入手することで、ここではついでにpico-exampleも入手しています。

$ cd ~/
$ mkdir pico
$ cd pico

$ git clone -b master https://github.com/raspberrypi/pico-sdk.git
$ cd pico-sdk
$ git submodule update --init
$ cd ..
$ git clone -b master https://github.com/raspberrypi/pico-examples.git

$ sudo apt update
$ sudo apt install cmake gcc-arm-none-eabi build-essential

export PICO_SDK_PATH=${HOME}/pico/pico-sdk

もうひとつがpico_setup.shでインストールする方法のようなのですが

$ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh
$ chmod 755 ./pico_setup.sh
$ ./pico_setup.sh

これはビルド中にエラーが発生したようです。

The following packages have unmet dependencies:
 code:armhf : Depends: libnss3:armhf (>= 2:3.26) but it is not installable
              Depends: apt:armhf but it is not installable
              Depends: libxkbfile1:armhf but it is not installable
              Depends: libsecret-1-0:armhf but it is not installable
              Depends: libgtk-3-0:armhf (>= 3.10.0) but it is not installable
              Depends: libxss1:armhf but it is not installable
              Depends: libgbm1:armhf but it is not installable
E: Unable to correct problems, you have held broken packages.

深追いはせず…

Lチカする

最初のインストールで使えそうなので次のようにLチカサンプルをビルドして、Raspberry Pi picoのBOOTSELボタンをクリックしながらWindowsマシンにUSB接続します。

そうするとMass Storageとして認識するらしく、そこにblink.uf2をコピーするとRaspberry Pi picoのLEDが点滅します。

$ cd pico-examples
$ mkdir build
$ cd build

$ cd blink
$ make -j4

ビルドしてドラッグアンドドロップして終了というのはラクチンですね。

]]>
2022-02-01T13:44:42+09:00 ひでみ hidemi@sweetcafe/jp <h1>Raspberry Pi picoで遊ぶ</h1> <p>Raspberry Pi picoを入手したのでWSL環境に開発ツールをインストールして遊んでみました。</p> <h2>開発環境のインストール</h2> <p>ひとつは下記のようにpico-sdkを入手することで、ここではついでにpico-exampleも入手しています。</p> <pre><code>$ cd ~/ $ mkdir pico $ cd pico $ git clone -b master https://github.com/raspberrypi/pico-sdk.git $ cd pico-sdk $ git submodule update --init $ cd .. $ git clone -b master https://github.com/raspberrypi/pico-examples.git $ sudo apt update $ sudo apt install cmake gcc-arm-none-eabi build-essential export PICO_SDK_PATH=${HOME}/pico/pico-sdk</code></pre> <p>もうひとつがpico_setup.shでインストールする方法のようなのですが</p> <pre><code>$ wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh $ chmod 755 ./pico_setup.sh $ ./pico_setup.sh</code></pre> <p>これはビルド中にエラーが発生したようです。</p> <pre><code>The following packages have unmet dependencies: code:armhf : Depends: libnss3:armhf (&gt;= 2:3.26) but it is not installable Depends: apt:armhf but it is not installable Depends: libxkbfile1:armhf but it is not installable Depends: libsecret-1-0:armhf but it is not installable Depends: libgtk-3-0:armhf (&gt;= 3.10.0) but it is not installable Depends: libxss1:armhf but it is not installable Depends: libgbm1:armhf but it is not installable E: Unable to correct problems, you have held broken packages.</code></pre> <p>深追いはせず…</p> <h2>Lチカする</h2> <p>最初のインストールで使えそうなので次のようにLチカサンプルをビルドして、Raspberry Pi picoのBOOTSELボタンをクリックしながらWindowsマシンにUSB接続します。</p> <p>そうするとMass Storageとして認識するらしく、そこにblink.uf2をコピーするとRaspberry Pi picoのLEDが点滅します。</p> <pre><code>$ cd pico-examples $ mkdir build $ cd build $ cd blink $ make -j4</code></pre> <p>ビルドしてドラッグアンドドロップして終了というのはラクチンですね。</p>
WSL2の仮想ストレージを最適化する urn:uuid:308eae61-33b6-696b-87b2-89d9d14e2b0c WSL2の仮想ストレージを最適化する

WSL2の仮想ストレージは一度、確保されてしまうと大きいサイズのままになってしまいます。

そのため、適宜、最適化をしてサイズを小さくするとよいです。

まず、Power ShellでWSL2を止めます。

wsl --shutdown

つぎにdiskplatを立ち上げます。

diskpart

WSL2の仮想ストレージはC:\Users\hidemi\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_xxxxxxxxxxxxx\LocalStateの下にext4.vhdxというファイル名で存在するのでそれを選択してcompactコマンドで最適化します。

select vdisk file="C:\Users\hidemi\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_xxxxxxxxxxxxx\LocalState\ext4.vhdx"
compact
exit

間違えて、Vivado 2021.2をWSL2の仮想ストレージにインストールしたらローカルディスクがいっぱいになってしまいました。

]]>
2022-01-21T00:00:00+09:00 ひでみ hidemi@sweetcafe/jp <h1>WSL2の仮想ストレージを最適化する</h1> <p>WSL2の仮想ストレージは一度、確保されてしまうと大きいサイズのままになってしまいます。</p> <p>そのため、適宜、最適化をしてサイズを小さくするとよいです。</p> <p>まず、Power ShellでWSL2を止めます。</p> <pre><code>wsl --shutdown</code></pre> <p>つぎにdiskplatを立ち上げます。</p> <pre><code>diskpart</code></pre> <p>WSL2の仮想ストレージは<code>C:\Users\hidemi\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_xxxxxxxxxxxxx\LocalState</code>の下に<code>ext4.vhdx</code>というファイル名で存在するのでそれを選択してcompactコマンドで最適化します。</p> <pre><code>select vdisk file="C:\Users\hidemi\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_xxxxxxxxxxxxx\LocalState\ext4.vhdx" compact exit</code></pre> <p>間違えて、Vivado 2021.2をWSL2の仮想ストレージにインストールしたらローカルディスクがいっぱいになってしまいました。</p>
MACアドレスの変更 urn:uuid:1785bcdb-4340-3320-aa5b-35dae665df04 MACアドレスの変更

MACアドレスを使うノードロックなライセンスなどの場合、WSL2の自動でMACアドレス割り振りだとちょっと不便があります。

次のようにMACアドレスを変更することができます。

$ sudo macchanger -m 00:15:5d:XX:XX:XX etn0
Current MAC:   00:15:5d:XX:XX:XX (Microsoft Corporation)
Permanent MAC: 00:15:5d:XX:XX:XX (Microsoft Corporation)
New MAC:       00:15:5d:XX:XX:XX (Microsoft Corporation)

現在のMACアドレスから新しいMACアドレスに変更されたことが表示されます。

MACアドレスの変更はPortをDownしておかなければいけないので、手順としてはつぎのようにDownしてMACアドレスを変更して、再度Upになります。

$ sudo ip link set dev eth0 down
$ sudo macchanger -m 00:15:5d:XX:XX:XX eth0
$ sudo ip link set dev eth0 up

MACアドレスの変更はできるものの、これをやってしまうとネットワークアクセスできなくなるので注意が必要です。

MACアドレスを自動割り振りのMACアドレスに戻すには次のように実行します。

$ sudo ip link set dev eth0 down
$ sudo macchanger -p eth0
$ sudo ip link set dev eth0 up
$ sudo ip route add default via <vEthernet's IP> dev eth0

Interface Down時にDefault Gatewayが消えるので再設定が必要です。

]]>
2022-01-20T00:00:00+09:00 ひでみ hidemi@sweetcafe/jp <h1>MACアドレスの変更</h1> <p>MACアドレスを使うノードロックなライセンスなどの場合、WSL2の自動でMACアドレス割り振りだとちょっと不便があります。</p> <p>次のようにMACアドレスを変更することができます。</p> <pre><code>$ sudo macchanger -m 00:15:5d:XX:XX:XX etn0 Current MAC: 00:15:5d:XX:XX:XX (Microsoft Corporation) Permanent MAC: 00:15:5d:XX:XX:XX (Microsoft Corporation) New MAC: 00:15:5d:XX:XX:XX (Microsoft Corporation)</code></pre> <p>現在のMACアドレスから新しいMACアドレスに変更されたことが表示されます。</p> <p>MACアドレスの変更はPortをDownしておかなければいけないので、手順としてはつぎのようにDownしてMACアドレスを変更して、再度Upになります。</p> <pre><code>$ sudo ip link set dev eth0 down $ sudo macchanger -m 00:15:5d:XX:XX:XX eth0 $ sudo ip link set dev eth0 up</code></pre> <p>MACアドレスの変更はできるものの、これをやってしまうとネットワークアクセスできなくなるので注意が必要です。</p> <p>MACアドレスを自動割り振りのMACアドレスに戻すには次のように実行します。</p> <pre><code>$ sudo ip link set dev eth0 down $ sudo macchanger -p eth0 $ sudo ip link set dev eth0 up $ sudo ip route add default via &lt;vEthernet's IP&gt; dev eth0</code></pre> <p>Interface Down時にDefault Gatewayが消えるので再設定が必要です。</p>
WSL2からArty-A7へ接続 urn:uuid:d8b4fa09-31ca-4013-b3d2-8a67baa0bdc2 WSL2からArty-A7へ接続

Arrty-A7への接続は使っている最中に電源を落とすことがあります。

そうするとUSB接続が切れるので必然的にWSL2と繋げたUSBの設定も消えることになります。

その都度、コマンドを入力するのは面倒なのでArty-A7の電源を入れるたびに実行するバッチファイルを用意します。

まずはPower Shell上でattachするスクリプトを作成します。

管理者権限で起動できるようにしておきます。

ファイル名はusb.ps1です。

if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrators")) { Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs; exit }

usbipd wsl attach --busid 1-2

次のようにPower ShellのスクリプトとudevのReStartするバッチファイルを用意します。

powershell.exe -File C:\Users\hidemi\bin\usb.ps1

wsl -d Ubuntu-20.04 -u root --exec /bin/bash service udev stop
wsl -d Ubuntu-20.04 -u root --exec /bin/bash service udev restart

バッチファイルのショートカットを作成して、管理者権限で実行できるようにしてデスクトップにでも置いておけばArty-A7の電源をOff/Onしたときにショートカットをクリックするだけで再度、WSL2でArty-A7を認識することが出きます。

]]>
2022-01-19T00:00:00+09:00 ひでみ hidemi@sweetcafe/jp <h1>WSL2からArty-A7へ接続</h1> <p>Arrty-A7への接続は使っている最中に電源を落とすことがあります。</p> <p>そうするとUSB接続が切れるので必然的にWSL2と繋げたUSBの設定も消えることになります。</p> <p>その都度、コマンドを入力するのは面倒なのでArty-A7の電源を入れるたびに実行するバッチファイルを用意します。</p> <p>まずはPower Shell上でattachするスクリプトを作成します。</p> <p>管理者権限で起動できるようにしておきます。</p> <p>ファイル名はusb.ps1です。</p> <pre><code>if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole("Administrators")) { Start-Process powershell.exe "-File `"$PSCommandPath`"" -Verb RunAs; exit } usbipd wsl attach --busid 1-2</code></pre> <p>次のようにPower ShellのスクリプトとudevのReStartするバッチファイルを用意します。</p> <pre><code>powershell.exe -File C:\Users\hidemi\bin\usb.ps1 wsl -d Ubuntu-20.04 -u root --exec /bin/bash service udev stop wsl -d Ubuntu-20.04 -u root --exec /bin/bash service udev restart</code></pre> <p>バッチファイルのショートカットを作成して、管理者権限で実行できるようにしてデスクトップにでも置いておけばArty-A7の電源をOff/Onしたときにショートカットをクリックするだけで再度、WSL2でArty-A7を認識することが出きます。</p>