せろひきの練習NEO

パソコン&スマートデバイス&サーバーテクノロジー

バッファローの新SeeQVaultドライブでHDD換装

2022年6月にバッファローから新しいSeeQVault 外付けHDDシリーズが発売されました。

game.watch.impress.co.jp

2021年末から2022年にかけて各社のSeeQVault外付けHDDが軒並み製造終了になりどうなることかと思っていたのですが、その後このシリーズが発売開始になり、現在も安定供給されている状況です。

うちでも2022年の年末に(入手できなくなったら困るなーと思って)1台確保してあったのですが、いよいよ(先代の容量がいっぱいになり)出番になってきたので...換装してみました。

というのもこのHD-SQS-Aシリーズ、3TBは存在せず2TBの次は4TBとなっています。しかも実売価格は1,000円ほどしか違いません。うちではPanasonic製DMR-BRZ2000を使っている関係上、最大3TBまでのドライブしか使用できず、であれば4TBモデルを買って、以前買ってあったロジテック放出品の3TB AV HDDと換装しようと考えました。

続きを読む

バッファーロー製SeeQVault HDDのドライブを換装 (2022年8月)

かなり前に購入したバッファロー製SeeQVault HDDの壊れたドライブを換装したので、その記録です。

ターゲットは HDV-SQ2.0U3/VC、すでに製造終了になっている古いSeeQVault 外付けHDDです。Panasonic製のブルーレイレコーダー DMR-BRZ2000 に繋いで使用していました。

https://www.buffalo.jp/webpim/product/image/H/HDV-SQU3_VC/HDV-SQ2.0U3_VC/HDV-SQ2.0U3_VC__0100.jpg

www.buffalo.jp

 

ところが、ある時点から「再生は(なんとか)できるが、録画しようとすると異常に時間がかかってリトライを繰り返し、5分のコンテンツでも1時間以上コピー時間がかかる」ようになってしまいました。USBケーブルやACアダプタを交換しても改善しないので、HDDドライブの故障か、変換基板の故障のどちらかだなと思っていました。

で、2021年の年末に(ロジクールではない方の)ロジテック社で AV用HDDの在庫品放出イベントがありました。

www.amazon.co.jp

インターネットで調べたところ、バッファローのSeeQVault HDDは換装可能とのことだったので、もしかしてドライブ交換できる...と思って、DMR-BRZ2000で利用可能な最大容量 3TBのAV用HDDを一台 12,050円で2台入手しておきました。

続きを読む

Lenovo ThinkCentre M70a ALL IN ONE に NVMe SSDを追加

Lenovo オールインワンPC 「ThinkCentre M70a All-In-One」を購入し、NVMe SSDに換装(実際には追加)したので報告します。

 

ターゲットのPCはこちら。2022年2月初頭に レノボ アウトレット で流れていたモデルです。(その後販売終了)

 

f:id:bunniesfield:20220331030022p:plain

ThinkCentre M70a ALL IN ONE

ThinkCentre M70a All-In-One | ビジネスに最適な21.5型オールインワンPC | レノボ・ジャパン (lenovo.com)

 

アウトレットで購入可能だったのは唯一以下の仕様


●  プロセッサー: インテル Core i5-10400 プロセッサー 
●  初期導入OS: Windows 10 Pro 64bit (日本語版) 
●  ディスプレイ: 21.5型ワイド (1920x1080) WVA LEDバックライト付液晶(16:9)マルチタッチ非対応:モニター一体型 内蔵カメラ:あり (前面:200万画素、FHD 1080p カメラ)、デジタルアレイ マイクロホン 
●  メモリー: 8GB(8GBx1)(PC4-23400 DDR4 SDRAM SODIMM) 
●  ストレージ1: 500GB (7200rpm) (シリアルATA/2.5インチ) 
●  光学デバイス: Ultra Slim DVDスーパーマルチ 
●  標準保証: 1年引き取り修理 
●  電源アダプター: 135W 
●  グラフィックス: インテル UHD グラフィックス 630 (CPU内蔵) 
●  Keyboard: USB, Black with Number Pad - 日本語 
●  Pointing Device: キーボード:フルサイズ キーボード(109A 日本語、OADG 準拠、USB) マウス:光学ホイール・マウス(USB) スタンド:なし 
●  ワイヤレス・アダプター: インテル Wireless-AC 9560 + Bluetooth (Bluetoothのバージョンは製品出荷時のOSのバージョンに依ります。) 

 

アウトレット価格は 68,200円 (税、送料込み) でした。

 

珍しくスリムタイプのDVDマルチが載っていますが、実は注目すべきは「インテル Core i5-10400」のところに「T」とか「U」とかがついていないところ。また、メモリがPC4-23400 DDR4であるというところ。つまり、デスクトップ用のTDP 65W CPUがそのまま搭載されている(らしい)ということです。

 

www.intel.co.jp

 

このモデルの場合ビジネス用PCということもあり、メンテナンス用のマニュアルも完備しています。という事で調べてみたところ、やはりデスクトップ用CPUが搭載されている事、NVMe SSD用スロットが存在する事、DIMMメモリを追加可能な事などが確認できました。

 

ユーザーガイド

https://download.lenovo.com/pccbbs/thinkcentre_pdf/m70a_m90a_ug_ja.pdf

 

ハードウエア保守マニュアル (英語)

https://download.lenovo.com/pccbbs/thinkcentre_pdf/m70a_m90a_hmm_en.pdf

 

Product Specifications

PSREF ThinkCentre ThinkCentre M70a (lenovo.com)

 

---

 

実際にアウトレットを注文して待つこと数日...届きました。一応問題なくWindows 10が立ち上がることを確認したのですが、Windows10 の初期セットアップが異常に遅い。近ごろ体験したことのない遅さでした。

 

で、かねてから用意していた WD Blue NVMe 1TB SSDとKingstonのDDR4 2933MHz 8GB x 2を取り付けます。(この写真のDIMMは1枚だけですが、結局2枚組 DIMMに入れ替えました)

WD BLUE SN550 1TB (Amazonのセール時に買ってストックしていたもの、9,815円で購入)

Kingston FURY Impact インパクト CL17 1.2V Unbuffered SODIMM KF429S17IBK2/16 (約12,000円)

 

f:id:bunniesfield:20220331031504j:plain

 

VESA標準タイプの足を外した後、プラスチックの爪のみで留まっているフタなどを外していきます。この辺りはメンテナンスマニュアルに書いてある通り。

 

f:id:bunniesfield:20220331031551j:plain

プラスチックのフタを外す前

 

f:id:bunniesfield:20220331031555j:plain

フタを外すとDVDマルチドライブが見える。外したあとの爪の位置も参考に。

f:id:bunniesfield:20220331032354j:plain

DVDマルチドライブはHitachi LG製

f:id:bunniesfield:20220331031610j:plain

シールド版を外すとCPUファンとHDDが見える

f:id:bunniesfield:20220331032358j:plain

HDDは(一応)WD Blackの500GB

f:id:bunniesfield:20220331031544j:plain

VESAマウント付近のカバーを外す

f:id:bunniesfield:20220331033152j:plain

マザーボードの全貌が見えました

f:id:bunniesfield:20220331033156j:plain

SSDを取り付け (止めネジが必要)

f:id:bunniesfield:20220331032347j:plain

DIMM RAMは結局 Kingston Fury 8GB x 2 に変更

たぶんTDP 65WのCPUの換装もできそうな感じですが、今回はここまで。組上げてSSDパーティションにダウンロードしてきたWindows 10 version 21H2 を USBメモリから普通にインストールしました。 (ライセンスはデジタルライセンスでインターネットにつなぐと勝手に再認証されます) CPU-ZのCPU情報は以下。

 

f:id:bunniesfield:20220331035013p:plain

Intel Core i5 10400

500GB HDDは残すこともできたのですが、思い切りよくUEFI BIOSの設定を変更してつながってないことにしてしまいました。特にHDDを外すようなことはしていません。(外すとそのうち無くすため)

 

ディスク中割り当てられていない部分があるのはパーティションバックアップリストア時に「リストア先のパーティションが小さい」とかならないようにわざと空けてあります。(回復パーティションが2つあるのはご愛好)

f:id:bunniesfield:20220331034005p:plain

1TB SSDに普通にWindows 10をインストール

お約束のDiskベンチマーク結果は以下。この世代ではPCIe は 3.0 (x4)です。普及品のSSDでこのスピードが出れば十分ではないでしょうか。実際に触れてみてもHDD時代とは比較にならないくらいに爆速でした。

f:id:bunniesfield:20220331034007p:plain

CrystalDiskMarkの結果

ちなみに、CPU-Zで見たDIMMメモリのSPD情報は以下のようです。元はSamsungの DDR4 3200MHzが互換モードで動いているようでしたが、Dual Channelの高速メモリに変えたので気分いいです。(速いかどうかは未調査)

f:id:bunniesfield:20220331035010p:plain

メモリ DDR4 2933MHz のSPD情報

---

 

余談ですが、シールドパネルを戻すときにシールド版の爪の部分を正しく差し込まないと、最後に上から見たときにすき間ができてカッコ悪いです。(何を言っているか伝わらないかな???)

 

f:id:bunniesfield:20220331040203p:plain

シールド版のツメを正しく差し込む

 

 

 

 

 

dell optiplex 3070 micro の SSDを換装

先日(中古で入手していた) dell optiplex 3070 micro の SSDを換装しましたので報告です。

 

ターゲットのPCは以下

 

https://japancatalog.dell.com/pd/dart_admin/desktop-optiplex-3070-micro-mlk-pdp-gallery-504x350.jpg

 

Dell Optiplex 3070 micro
https://dl.dell.com/topicspdf/optiplex-3070-desktop_owners-manual5_ja-jp.pdf

 

CPU Intel Core i3-8100T/3.1GHz
RAM 8GB

3070 microは現在 第9世代 intel (9100Tなど)を載せたものがまだ販売中ですが、これは初期モデルという事になります。NVME 128GB SSDWindows 10がインストールされていましたが、これを換装して Ubuntu 20.04 をインストールしました。

 

使用したSSDはこちら

WD Blue SN550 1TB

https://shop.westerndigital.com/content/dam/store/en-us/assets/products/internal-storage/wd-blue-sn550-nvme-ssd/gallery/1tb/wd-blue-sn550-nvme-ssd-front-1tb.png.wdthumb.1280.1280.webp

https://shop.westerndigital.com/ja-jp/products/internal-drives/wd-blue-sn550-nvme-ssd#WDS100T2B0C

 

2021年 9月現在 12,000円くらいで購入可能なスタンダードなNVME SSDです。

 

実際に蓋を開けてみると以下のような感じになっています。

f:id:bunniesfield:20210914115206j:plain

dell optiplex 3070 micro

元の128GB SSDは Type 2240の小さいタイプでした。下に放熱用のシリコーンゴムが敷いてありました。

 

プラスf:id:bunniesfield:20210914115458j:plain

f:id:bunniesfield:20210914115625j:plain

 

プラスのドライバーを利用して、取付用ネジ (スタッド)の位置を 2280の位置に変更します。

f:id:bunniesfield:20210914115543j:plain

換装するSSDはこちら

f:id:bunniesfield:20210914115900j:plain

取付完了

結局、放熱用ゴムは (NANDメモリーチップに密着しないので)外してしまいました。

f:id:bunniesfield:20210914120054j:plain

今回は100% Linux PCなので、WIndows 10の入れ替えは行いません。

Ubuntu 20.04 をUSBメモリからインストールするために、rufus 3.15 を使用しました。

https://rufus.ie/ja/

 

f:id:bunniesfield:20210914120508p:plain

---

という事で、問題なく Ubuntu 20.04 がインストールできました。

 

Acronis True ImageをインストールしたことのあるPCでSTOPエラー 0xC0000135が発生しOSが起動しなくなる

パーティションのバックアップ/リストアでいつもお世話になっているTrue Imageシリーズですが、いつのころからかSTOPエラー0xC0000135が発生し全くOS起動しなくなります。

ブート画面は出るので、インストールメディアで起動後にコマンドプロンプトを起動し、bcdeditでブートログを有効にしてみるのですが、そもそもブートログファイルが作成されるところまで行かないようです。

で、「STOPエラー0xC0000135」で検索すると、以下の記事が見つかりました。(この時点ではTrue Imageが影響しているとは思っていませんでしたが...)

 

forum.acronis.com

 

コメントの#9に注目ください。

要するに SYSTEMレジストリに設定されている自動起動のプログラム「autopart.exe」が悪さをするということです。修復用のコマンドプロンプトでregeditを起動してSYSTEMハイブのファイルを読み込み、ControlSetXXX\Control\SessionManager にある BootExecute というMULTI_SZのエントリから「autopart.exe」を削除することで(その後起動に結構長い時間かかりましたが)辛抱強く待つとOS起動するようになりました。

ThinkPad t14s のSSDを換装

このたび新しくLenovo ThinkPad T14s (AMDモデル) を導入しました。実はその前はThinkPad T460s でSamsung SSD 970 EVO (1TB)を使用し、EFI System / Windows 10 / Data のようにパーティション分けして使用していました。両方64bit WindowsでGPTパーティションなので、できればT460sのSSDをT14sに換装してDataドライブをそのまま利用できればと思った次第です。

ところが一筋縄ではいかなかったのでメモを残しておきます。

 

1. SSDを確認

T460s同様に簡単に開けられます。最初に入っているのはSamsungの256MB SSDです。(ここでケチった)

ちなみに、RAMはオンボードのみで簡単には増設できない? (16GBにしておいてよかった...)

 

f:id:bunniesfield:20200803141951j:plain

ThinkPad T14s (AMD)

一方、書き込み先の1TB SSDは USB 3.0接続のインターフェースで接続します。

2. 最初、プリインストールのWindows 10 にAcronis Disk Director 12.5 をインストールして、コピー先の(USB接続の) EFI Systemと Windowsパーティションを削除後、オンボードEFI SYstemをコピーしようとしたのですが、以下の2つの理由でうまくいきません。

- Windows上でEFI Systemはコピーできても良さそうなのだが、USBデバイスのパワーマネジメント(Selective Suspend?)が起動してコピー実行中にUSBデバイスを抜いたような状態になる。

- Windows上では起動中のWindowsパーティションはコピーできない。OS再起動時にコピーする仕組みがありこれが使用されるが、エラーが発生しコピーできない。

 

ここで、EFI BIOSでSecure Bootが設定されていることに気が付いた。BIOS設定でSecure BootをOFFにしてみたが同じエラーが発生しやはりコピーできない。

 

この時点で起動中の自分のWindowsからのコピーはあきらめ、デスクトップPCのPCI-E NVME IFボードとUSBでコピーする方法に方向転換しました。

 

3. デスクトップPC(たまたまWindows7 64bitでしたが)にAcronis Disk Director 2.5をインストールし、ここからPCI-E NVME IFボードとUSBでコピーしようとしたのですが、Windows上ではやはりうまくいきません。

 

デスクトップなのでDVD-Rメディアから簡単に起動できるので、Disk Director 2.5の起動ディスクから起動してここからコピーする方針に変更しました。

最初WIndows PE版の起動ディスクを考えたのですが、Windows7ではNVMEドライバがOS標準ではないのでLinux版の起動ディスクを作成しました。

 

(最終的にはデータドライブとしてコピーしたので、デスクトップPCは不要です。ノートPCとUSB接続のNVME IF、それにDisk Directorの起動可能なメディアがあればOK)

 

4. Disk Director 2.5の起動ディスクから起動して、EFI SystemとWindowsパーティションを(そのままのサイズおよびそのままの順番で先頭から)コピー

この方法でやっとうまくコピーできましたが、コピー先のWindowsパーティションにドライブ名を割り当ててもExplorerで表示できないことに気が付きました。あとでWindowsから見てみると bitlockerパーティションと表示されました。

 

bitlockerパーティションのキーはノートPCのTPMに保存されていると思われます。ノートPCに戻せばアクセス可能? と想定し、そのまま1TB SSDをT14sに接続しました。

 

5. T14s の電源を入れてみるが、やはり起動しない。

 

ブルースクリーンで「OSが見つからない」みたいなエラーになります。今回Windowsパーティションは1つなので、OS選択の画面は表示されません。(が、ブートマネージャは起動してるっぽい?)

 

6. あらかじめ用意してあったWindows 10のインストール用USBメモリから起動し、「修復」を何度か行ってみるが、やはり起動しない。

 

コマンドプロンプト(WinPE)を起動してみたところ、bitlockerパーティションは問題なくアクセスできます。DiskPartも想定通りで特に問題ない。

ところがfixboot  /ScanOSでは C:\Windowsが見つかるもののfixboot /rebuildbcdでは「書き込みできない」のようなエラーが出てうまくいきません。

 

7. 以下の記事を見て、そういえばWindowsパーティションが指定されていないことに気が付く。

クローン後に起動しない ブートローダー修復

https://jm1xtk.dip.jp/cnt/94_os_boot/index.php

 

Windowsパーティション

device = unknown

osdevice 指定なし

となっていました。(よく考えたらあたりまえ)

 

ということで、パーティションの GUIDを指定して

bcdedit /set { GUID } device "partition=C:"
bcdedit /set { GUID } osdevice "partition=C:"

 

と設定した後再起動すると、やっとWindows 10が起動しました。

続きを読む

Windows 10 のWSLでmicropythonをビルドする

micropythonは主にARM環境(Cortex M)で使用されるpython処理系です。ほぼほぼpython 3.4 + 一部のpython 3.5機能が実装されています。

https://micropython.org/

f:id:bunniesfield:20200627071628p:plain

micropython.org トップページ

ところで、micropythonの github を見てみると、Linux環境でのビルド方法が紹介されています。

https://github.com/micropython/micropython/tree/master

これって普通にWSLでビルドできそう、と思ったので実際にやってみました。

使用した環境は Windows 10 Pro version 1909 (64bit)、PCはThinkPad T460s です。

1. Windows 10にWSLをインストール

Microsoft Storeアプリから、Ubuntu 18.04 LTSを選択してインストールします。(いわゆるWSL1ですね。)

2. aptデータベースを更新

cello@TP460S-WIN10:~$ sudo apt update
[sudo] password for cello:
Get:1 https://packages.microsoft.com/ubuntu/18.04/prod bionic InRelease [4003 B]
Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Hit:3 http://archive.ubuntu.com/ubuntu bionic InRelease
Get:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:5 https://packages.microsoft.com/ubuntu/18.04/prod bionic/main amd64 Packages [119 kB]
Get:6 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [761 kB]
Get:8 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [982 kB]
Get:9 http://security.ubuntu.com/ubuntu bionic-security/main Translation-en [241 kB]
Get:10 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [62.1 kB]
Get:11 http://security.ubuntu.com/ubuntu bionic-security/restricted Translation-en [14.1 kB]
Get:12 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [674 kB]
Get:13 http://security.ubuntu.com/ubuntu bionic-security/universe Translation-en [224 kB]
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/main Translation-en [333 kB]
Get:15 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [7696 B]
Get:16 http://security.ubuntu.com/ubuntu bionic-security/multiverse Translation-en [2792 B]
Get:17 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [69.7 kB]
Get:18 http://archive.ubuntu.com/ubuntu bionic-updates/restricted Translation-en [15.8 kB]
Get:19 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1086 kB]
Get:20 http://archive.ubuntu.com/ubuntu bionic-updates/universe Translation-en [337 kB]
Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [11.3 kB]
Get:22 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse Translation-en [4804 B]
Fetched 5200 kB in 14s (373 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
136 packages can be upgraded. Run 'apt list --upgradable' to see them.
cello@TP460S-WIN10:~$

3. 必要なaptパッケージをインストール。ドキュメントには build-essential (includes toolchain and make), libffi-dev, and pkg-config が必要と書いてあります。 

cello@TP460S-WIN10:~$ sudo apt install build-essential
[sudo] password for cello:
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 71 not upgraded.

cello@TP460S-WIN10:~$ sudo apt install pkg-config
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
pkg-config
0 upgraded, 1 newly installed, 0 to remove and 71 not upgraded.
Need to get 45.0 kB of archives.
After this operation, 185 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 pkg-config amd64 0.29.1-0ubuntu2 [45.0 kB]
Fetched 45.0 kB in 1s (31.8 kB/s)
Selecting previously unselected package pkg-config.
(Reading database ... 39332 files and directories currently installed.)
Preparing to unpack .../pkg-config_0.29.1-0ubuntu2_amd64.deb ...
Unpacking pkg-config (0.29.1-0ubuntu2) ...
Setting up pkg-config (0.29.1-0ubuntu2) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

cello@TP460S-WIN10:~$ sudo apt install libffi-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libffi-dev
0 upgraded, 1 newly installed, 0 to remove and 71 not upgraded.
Need to get 156 kB of archives.
After this operation, 362 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 libffi-dev amd64 3.2.1-8 [156 kB]
Fetched 156 kB in 2s (97.3 kB/s)
Selecting previously unselected package libffi-dev:amd64.
(Reading database ... 39348 files and directories currently installed.)
Preparing to unpack .../libffi-dev_3.2.1-8_amd64.deb ...
Unpacking libffi-dev:amd64 (3.2.1-8) ...
Setting up libffi-dev:amd64 (3.2.1-8) ...
Processing triggers for install-info (6.5.0.dfsg.1-2) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
cello@TP460S-WIN10:~$  

ここにはちゃんとは書いてありませんが、python3が必要です。

cello@TP460S-WIN10:~$ which python3
/usr/bin/python3

cello@TP460S-WIN10:~$ python3 --version
Python 3.6.9
cello@TP460S-WIN10:~$

あと当たり前ですが git も必要ですね。この辺りはお任せします。

 4. micropython を clone

現在のディレクトリにmicropythonをcloneします。必要に応じてcd します。

cello@TP460S-WIN10:~$ cd
cello@TP460S-WIN10:~$ git clone https://github.com/micropython/micropython.git
Cloning into 'micropython'...
remote: Enumerating objects: 81027, done.
remote: Total 81027 (delta 0), reused 0 (delta 0), pack-reused 81027
Receiving objects: 100% (81027/81027), 44.59 MiB | 8.08 MiB/s, done.
Resolving deltas: 100% (58697/58697), done.
Checking out files: 100% (3664/3664), done.
cello@TP460S-WIN10:~$ cd micropython/
cello@TP460S-WIN10:~/micropython$ ls
ACKNOWLEDGEMENTS CODEOFCONDUCT.md LICENSE docs examples lib mpy-cross py tools
CODECONVENTIONS.md CONTRIBUTING.md README.md drivers extmod logo ports tests
cello@TP460S-WIN10:~/micropython$ ls ports
bare-arm esp32 javascript minimal pic16bit qemu-arm stm32 unix zephyr
cc3200 esp8266 mimxrt nrf powerpc samd teensy windows
cello@TP460S-WIN10:~/micropython$  

 5 mpy-crossツールをビルド

このためにpython3が必要?

cello@TP460S-WIN10:~/micropython$ cd mpy-cross/
cello@TP460S-WIN10:~/micropython/mpy-cross$ make
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
mkdir -p build/genhdr
GEN build/genhdr/mpversion.h
GEN build/genhdr/moduledefs.h
GEN build/genhdr/qstr.i.last
GEN build/genhdr/qstr.split
GEN build/genhdr/qstrdefs.collected.h
QSTR updated
GEN build/genhdr/qstrdefs.generated.h
mkdir -p build/lib/utils/
mkdir -p build/py/
CC ../py/mpstate.c
CC ../py/nlr.c
CC ../py/nlrx86.c
CC ../py/nlrx64.c

(中略)

CC ../py/repl.c
CC ../py/smallint.c
CC ../py/frozenmod.c
CC main.c
CC gccollect.c
CC ../lib/utils/gchelper_generic.c
LINK mpy-cross
text data bss dec hex filename
299214 17248 872 317334 4d796 mpy-cross
cello@TP460S-WIN10:~/micropython/mpy-cross$ cd ..
cello@TP460S-WIN10:~/micropython$ 

6 unix版micropythonをビルド

cello@TP460S-WIN10:~/micropython$ cd ports/unix
cello@TP460S-WIN10:~/micropython/ports/unix$ ls
Makefile coverage.c main.c modmachine.c moduselect.c mpthreadport.c
alloc.c fatfs_port.c manifest.py modos.c modusocket.c mpthreadport.h
btstack_usb.c gccollect.c manifest_coverage.py modtermios.c mpconfigport.h qstrdefsport.h
coverage-frzmpy input.c modffi.c modtime.c mpconfigport.mk unix_mphal.c
coverage-frzstr input.h modjni.c moduos_vfs.c mphalport.h variants
cello@TP460S-WIN10:~/micropython/ports/unix$ make submodules
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Updating submodules: lib/axtls lib/berkeley-db-1.xx lib/libffi
Submodule 'lib/axtls' (https://github.com/pfalcon/axtls) registered for path '../../lib/axtls'
Submodule 'lib/berkeley-db-1.xx' (https://github.com/pfalcon/berkeley-db-1.xx) registered for path '../../lib/berkeley-db-1.xx'
Submodule 'lib/libffi' (https://github.com/atgreen/libffi) registered for path '../../lib/libffi'
Cloning into '/home/cello/micropython/lib/axtls'...
Cloning into '/home/cello/micropython/lib/berkeley-db-1.xx'...
Cloning into '/home/cello/micropython/lib/libffi'...
Submodule path '../../lib/axtls': checked out '43a6e6bd3bbc03dc501e16b89fba0ef042ed3ea0'
Submodule path '../../lib/berkeley-db-1.xx': checked out '35aaec4418ad78628a3b935885dd189d41ce779b'
Submodule path '../../lib/libffi': checked out 'e9de7e35f2339598b16cbb375f9992643ed81209'
cello@TP460S-WIN10:~/micropython/ports/unix$ make
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
mkdir -p build-standard/genhdr
GEN build-standard/genhdr/mpversion.h
GEN build-standard/genhdr/moduledefs.h
GEN build-standard/genhdr/qstr.i.last
GEN build-standard/genhdr/qstr.split
GEN build-standard/genhdr/qstrdefs.collected.h
QSTR updated
GEN build-standard/genhdr/qstrdefs.generated.h
mkdir -p build-standard/build-standard/
mkdir -p build-standard/extmod/
mkdir -p build-standard/lib/axtls/crypto/
mkdir -p build-standard/lib/axtls/ssl/
mkdir -p build-standard/lib/berkeley-db-1.xx/btree/
mkdir -p build-standard/lib/berkeley-db-1.xx/mpool/
mkdir -p build-standard/lib/embed/
mkdir -p build-standard/lib/mp-readline/
mkdir -p build-standard/lib/timeutils/
mkdir -p build-standard/lib/utils/
mkdir -p build-standard/py/
CC ../../py/mpstate.c
CC ../../py/nlr.c
CC ../../py/nlrx86.c
CC ../../py/nlrx64.c

(中略)

MPY upip.py
MPY upip_utarfile.py
GEN build-standard/frozen_content.c
CC build-standard/frozen_content.c
CC main.c
CC gccollect.c
CC unix_mphal.c
CC mpthreadport.c
CC input.c
CC modmachine.c
CC modos.c
CC moduos_vfs.c
CC modtime.c
CC moduselect.c
CC alloc.c
CC coverage.c
CC fatfs_port.c
CC btstack_usb.c
CC ../../lib/axtls/ssl/asn1.c
CC ../../lib/axtls/ssl/loader.c
CC ../../lib/axtls/ssl/tls1.c
CC ../../lib/axtls/ssl/tls1_svr.c
CC ../../lib/axtls/ssl/tls1_clnt.c
CC ../../lib/axtls/ssl/x509.c
CC ../../lib/axtls/crypto/aes.c
CC ../../lib/axtls/crypto/bigint.c
CC ../../lib/axtls/crypto/crypto_misc.c
CC ../../lib/axtls/crypto/hmac.c
CC ../../lib/axtls/crypto/md5.c
CC ../../lib/axtls/crypto/rsa.c
CC ../../lib/axtls/crypto/sha1.c
CC ../../extmod/modbtree.c
CC ../../lib/berkeley-db-1.xx/btree/bt_close.c
CC ../../lib/berkeley-db-1.xx/btree/bt_conv.c
CC ../../lib/berkeley-db-1.xx/btree/bt_debug.c
CC ../../lib/berkeley-db-1.xx/btree/bt_delete.c
CC ../../lib/berkeley-db-1.xx/btree/bt_get.c
CC ../../lib/berkeley-db-1.xx/btree/bt_open.c
CC ../../lib/berkeley-db-1.xx/btree/bt_overflow.c
CC ../../lib/berkeley-db-1.xx/btree/bt_page.c
CC ../../lib/berkeley-db-1.xx/btree/bt_put.c
CC ../../lib/berkeley-db-1.xx/btree/bt_search.c
CC ../../lib/berkeley-db-1.xx/btree/bt_seq.c
CC ../../lib/berkeley-db-1.xx/btree/bt_split.c
CC ../../lib/berkeley-db-1.xx/btree/bt_utils.c
CC ../../lib/berkeley-db-1.xx/mpool/mpool.c
CC modtermios.c
CC modusocket.c
CC modffi.c
CC ../../lib/mp-readline/readline.c
CC ../../lib/timeutils/timeutils.c
CC ../../lib/utils/gchelper_generic.c
LINK micropython
text data bss dec hex filename
445351 55344 2112 502807 7ac17 micropython
cello@TP460S-WIN10:~/micropython/ports/unix$ ls -l ./micropython
-rwxrwxrwx 1 cello cello 505744 Jun 27 06:59 micropython
cello@TP460S-WIN10:~/micropython/ports/unix$ file ./micropython
./micropython: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=d95cd37b4e2e95465f6ff5aceb2e115c9d3ed383, stripped
cello@TP460S-WIN10:~/micropython/ports/unix

7. 実行してみる

cello@TP460S-WIN10:~/micropython/ports/unix$ ./micropython
MicroPython v1.12-590-g9f911d822 on 2020-06-27; linux version
Use Ctrl-D to exit, Ctrl-E for paste mode
>>> list(5 * x + y for x in range(10) for y in [4, 2, 1])
[4, 2, 1, 9, 7, 6, 14, 12, 11, 19, 17, 16, 24, 22, 21, 29, 27, 26, 34, 32, 31, 39, 37, 36, 44, 42, 41, 49, 47, 46]
>>> (Control-Dを入力)
cello@TP460S-WIN10:~/micropython/ports/unix$ ./micropython -h
usage: ./micropython [<opts>] [-X <implopt>] [-c <command> | -m <module> | <filename>]
Options:
-h : print this help message
-i : enable inspection via REPL after running command/module/file
-v : verbose (trace various operations); can be multiple
-O[N] : apply bytecode optimizations of level N

Implementation specific options (-X):
compile-only -- parse and compile only
emit={bytecode,native,viper} -- set the default code emitter
heapsize=<n>[w][K|M] -- set the heap size for the GC (default 2097152)
cello@TP460S-WIN10:~/micropython/ports/unix$ ./micropython -m upip install micropython-pystone
Installing to: /home/cello/.micropython/lib/
Warning: micropython.org SSL certificate is not validated
Installing micropython-pystone 3.4.2.post2 from https://micropython.org/pi/pystone/pystone-3.4.2.post2.tar.gz
cello@TP460S-WIN10:~/micropython/ports/unix$ ./micropython -m pystone
Pystone(1.2) time for 50000 passes = 0.438
This machine benchmarks at 114155 pystones/second
cello@TP460S-WIN10:~/micropython/ports/unix$

ということでビルドできました。

 8. インストールしておく

cello@TP460S-WIN10:~/micropython/ports/unix$ sudo make install
[sudo] password for cello:
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
install -d /usr/local/bin
install micropython /usr/local/bin/micropython
cello@TP460S-WIN10:~/micropython/ports/unix$ cd
cello@TP460S-WIN10:~$ which micropython
/usr/local/bin/micropython
cello@TP460S-WIN10:~$ micropython -m pystone
Pystone(1.2) time for 50000 passes = 0.515
This machine benchmarks at 97087.4 pystones/second
cello@TP460S-WIN10:~$cello@TP460S-WIN10:~$

ということで問題なさそうです。(micropythonライブラリはユーザーの ~/.micropythonフォルダにインストールされています。)