俺様向けメモ
ただのてすと
2022-02-18
2021-11-03
Tinker Board 2 Kernel再コンパイル方法
はじめに
デフォルトのTinker Board 2 用Tinker OSはnftableのmasqueradeとnatに対応していない。
使えるようになるにはkernelの再コンパイルが必要となる。今回、コンパイル&稼働することができたので、公開する。
必要なもの:
- debian9
- ソース(https://github.com/TinkerBoard2/kernel)
- クロスコンパイラ(http://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz)
手順:
1. コンパイル環境の準備(OS)
debian9なのはgccのデフォルトがver6だからである。LinuxKernelはgcc10とかには対応していないので、debian9を用意しよう。個人的はdockerがおすすめ。
そしてaptコマンドでコンパイルに必要なアプリをどんどんインストールしよう。
2. Kernelソースの取得
TinkerBoard2のLinuxKernelソースをgithubから取得しよう。gitコマンドでも良いけど、
githubからのzipダウンロードもおすすめ。
3. クロスコンパイラのダウンロード
TinkerBoard2のフォーラムによると、linaroのクロスコンパイラを使うらしい。
おとなしくダウンロードして解凍しよう。
$ tar -Jxvf gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
4.コマンドを実行する。
# Kernelのオプションをtinker2固有の設定にしてくれる。
$ make ARCH=arm64 CROSS_COMPILE=/root/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- tinker2_defconfig
# ユーザーが設定する部分。
# CONFIG_NFT_MASQやCONFIG_NFT_CHAIN_ROUTE_IPV4を有効にしよう。
$ make ARCH=arm64 CROSS_COMPILE=/root/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- menuconfig
# Kernelのコンパイル
$ make ARCH=arm64 CROSS_COMPILE=/root/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- -j4 rk3399-tinker_board_2.img
※コンパイルのとき、コンパイルに必要なアプリがなく。エラーになるかもしれない。エラーを読んで必要なファイルをどんどんインストールしよう。
※うまくコンパイルができていれば、「boot.img」が作られる。
5.カーネルをSDカードへ書き込む。
「boot.img」をSDカードのパーティーション4番目に直接書き込む。
$ sudo dd if=boot.img of=/dev/mmcblk0p4
※TinkerBoard2が稼働中でも書き込み可能
6. TinkerBoard2をリブートする。
dmegや、zcat /proc/config.gz
などで想定通り設定(コンパイル)されていることを確認してみてください。
備考:
※ TinkerBoard2をルーター化してみたかった。なお、TinkerBoard2のルーター化は成功しました。
※ ここに書いてある内容を参考にした。
https://tinker-board.asus.com/forum/index.php?/topic/14991-kernel-build-error-wlan-wireless-and-net-modules/
2021-11-02
Chromebook + USB DAC
結論
「HDは」動く。ただし、Urtra-HDさせるには制限があり、再生側のアプリケーションがChromebookに対応している必要がある。構成
-
ChromebookASUS Chromebook Detachable CM3
-
USB-CハブAnker PowerExpand 8-in-1 USB-C PD 10Gbps
-
USB-DACiFi audio ZEN DAC Signature V2
説明
音源
今回の音源はChromebook。Chromebookで良い音が聞きたかった。 最近のものだったら、外部ディスプレイも繋げられるし、キーボードやマウスも繋げられる。 ただし,殆どのアプリはChromebookのUrtra-HDに対応していない。USB-Cハブ
充電しながら音を流したいのだったら買いましょう。 USB-A(メス)のコネクタも付いていることですし。USB-DAC
つなぎ先が、スピーカーだったのでコレにした。専用のACアダプターがついているせいか、値段はお高め。2020-06-28
2020-05-25
Yubikey5を使ってみた。
はじめに
「テレワーク」と「リモートワーク」だの急に言われ始めた昨今、社内の機密情報をどのように安全にとどけるのか、重要になると考えた。
たとえば、給与明細は、どのように送り、どのように受け取ればよいだろうか。
重要な書類はどのようにチェックをすればよいだろうか?
もちろんお金周りも文章もすでに電子化対応済みだ。
だがこれまでは、最終的には紙と捺印がつかわれてきた。システムの構築は間に合わない。
突如として「テレワーク」時代は始まってしまった。既存の技術で なんとかできないだろうか。
そんなとき、YubiKeyなる、デバイスがあることを初めて知った。
YubiKeyは救世主になるか?調べてみた。
結論
救世主にはならない。YubiKeyはアーリアダプター的デバイスではないだろうか。普及にはまだまだかかるだろうし、現時点で一般層に使ってもらうのは かなり難しいという感触を得た。
... せっかく調べたので、Yubikeyの使い方(一部)を記載していく。
大雑把にしか記載はしていないが、興味のある方は参考にしてほしい。Yubikeyについて
Yubikeyは歴史あるデバイスのようで、「Yubikey5」というシリーズ名になっている。 2020年で購入できるのも「Yubikey5」。コネクタの形状や出来ることが、ラインナップで分かれている。
https://yubikey.yubion.com/yubikey_lineup.html
さらに、ファームのバージョンで出来ることが増えていくのだが、セキュリティ対策のため、ファームのアップデートははできない。
https://support.yubico.com/support/solutions/articles/15000006434-upgrading-yubikey-firmware購入するときはラインナップをしっかり確認し、 使用するときはファームバージョンを念のため確認しよう。
Yubikey5-NFCが使える対象者
- gpg、ssh-keygen、opensslが使える人。
-
パッケージマネージャが使える人
(Homebrew、Chocolatey、apt、yum, pacman ... ) - 技術の探求者
YubiKeyを使いこなすには、HPからダウンロードしてもよいのだけど、それなりにパッケージが必要になるので、
パッケージマネージャを使うほうがいいだろう。
公式ツールのyubikey-managerなどもパッケージマネージャでインストール可能の他、
openscなどといった聞き慣れないツールもパッケージマネージャからインストール出来る。
設定中や検証中、Yubikeyからキーが取れないときもあるかもしれない。(キーとして認識しない時がある)そのときはYubiKeyを何度か挿し直してみたり、次のどちらかのコマンドを実行しgpg-agentの再起動をしてみよう。
$ gpg-connect-agent /bye
$ gpgconf --kill gpg-agnet
YubiKey5-NFCでできること。(一例です)
- OpenPGPを使うとき、サイン、暗号解除するとき(秘密鍵を使用するとき)にデバイスを挿して、PINを入力してつかう。
- SSH接続するときに、デバイスを挿して、PINを入力して使う。
- (その他、「ログインするとき、デバイスを挿し、PINを入力してログインする」、OTP、FIDO2など機能豊富らしい)
YubiKey5-NFC + OpenPGP
- 最近のファームからECC暗号が使えるようになった。
-
デバイスの設定にはひたすらgpgコマンドを使う。
--card-statusや--card-editオプションが何かと思ったらこのためだった。
このようなデバイスは「smartcard」と言うらしい。 - イメージ的には、デバイスに秘密鍵を登録し、秘密鍵をつかうアクションをするときに、デバイスを挿し、PINを入力する。
- PINには、PINとPUKの2種類あるが、PINは普通に使用するときに入力する。PUKは秘密鍵をデバイスに登録するときに使用する。
- macの場合は、PINを入力する画面が文字化けするかもしれない。その時はpinentry-ttyとかに変えたほうがいいかもしれない。
- デバイスには、秘密プライマリキーを入れることも出来るし、秘密サブキーを入れることも出来る。両方入れることも可能。つまりプライマリキー用にも出来るし、サブキー用にもできる。
- 他のデバイスで使えるようにするには以下のようにする。
- デバイスを設定したPCでパブリックキーをエクスポートする。
- 他のPCでパブリックキーをインポートする。
する。$ gpg --card-status
- gpg -Kで認識できるようになる。
次の状態が、ローカル上にマスター秘密鍵が無い状態。
sec#
次の状態が、ローカル上にサブキー秘密鍵が無い状態。
ssb>
sec#
次の状態が、ローカル上にサブキー秘密鍵が無い状態。
ssb>
パブリックキーがなくなるとデバイスとの同期ができなくなってしまうようだ。道理で「パブリックキーを鍵サーバーに登録する」という手順説明の中にあるわけだ。
YubiKey5-NFC + SSH
-
PublicKeyを取り出すには、Generateしたあと、
または、Exportしたファイルに対して$ pkcs15-tool --read-ssh-key 1
することで変換できる。$ openssl x509 -in foo.pem -noout -pubkey | ssh-keygen -i -m pkcs8 -f /dev/stdin
- クライアント側の使用方法は複雑だ。
Windowsだったら、「「putty-cac」に含まれている「Pageant」」と「「putty」「teraterm」」「MinGWやCygwinだったらさらにssh-pageantが必要」という恐ろしいレベルだ。ssh-pageantを使うときにはこのような感じでキーの登録が必要だ。(ssh-agentの知識もいるということか...)$ ssh -I /usr/local/lib/opensc-pkcs11.so foo@example.com
$ eval $(/usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-$USERNAME") $ ssh-add -L
おわりに
一般的に普及するのは難しいという感触だが、みんなが使ってくれないとこのようなデバイスは普及しないと思う。gpgとsshのことしか記載していないが、参考になれば幸いだ。
2015-10-05
自作PCを作る(2015年版)
コンピュータの世界はいまだに日進月歩。
PCを今年(2015年)組み立てたので参考までに公開します。
この組み合わせで一番困るのは、マザーボードメモリー表記とマニュアルに齟齬(表記ミス)があることでした。
デュアルチャンネルメモリにするには、2つメモリーをセットしなければなりません。
マニュアルによると、[#1-#2], [#3-#4]の組み合となります。そして、同じ色のソケットに取り付けるようにとあります。
メーカのHPによればボード上では、CPUに近い方から、
#4 黒
#2 赤
#3 黒
#1 赤
らしいのですが、 実際は以下のようになっており、
[CPUに近い方]
#1 黒
#2 赤
#3 黒
#4 赤
PCを今年(2015年)組み立てたので参考までに公開します。
- CPU: intel i7-6700K
- マザーボード:GIGABYTE GA-Z170X-GAMING3
- メモリー:CFD PANRAM W4U2133PS-8G (DDR4 PC4-17000 8GB × 2)
- GPU:ALSA GTS970
この組み合わせで一番困るのは、マザーボードメモリー表記とマニュアルに齟齬(表記ミス)があることでした。
デュアルチャンネルメモリにするには、2つメモリーをセットしなければなりません。
マニュアルによると、[#1-#2], [#3-#4]の組み合となります。そして、同じ色のソケットに取り付けるようにとあります。
メーカのHPによればボード上では、CPUに近い方から、
#4 黒
#2 赤
#3 黒
#1 赤
らしいのですが、 実際は以下のようになっており、
[CPUに近い方]
#1 黒
#2 赤
#3 黒
#4 赤
結局のところ、[#3-#4]に(試していませんが、#1-#2に)装着するとデュアルと認識されます。
なお、[#4-#2]の組み合では片方のメモリが認識されなくなるようでした。
(ヒヤリとする動作なので、あまり推敲していないのですが一旦ここまでで公開します)
2014-04-26
登録:
投稿 (Atom)