バッファローの新SeeQVaultドライブでHDD換装
2022年6月にバッファローから新しいSeeQVault 外付けHDDシリーズが発売されました。
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 に繋いで使用していました。
ところが、ある時点から「再生は(なんとか)できるが、録画しようとすると異常に時間がかかってリトライを繰り返し、5分のコンテンツでも1時間以上コピー時間がかかる」ようになってしまいました。USBケーブルやACアダプタを交換しても改善しないので、HDDドライブの故障か、変換基板の故障のどちらかだなと思っていました。
で、2021年の年末に(ロジクールではない方の)ロジテック社で AV用HDDの在庫品放出イベントがありました。
インターネットで調べたところ、バッファローの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月初頭に レノボ アウトレット で流れていたモデルです。(その後販売終了)
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がそのまま搭載されている(らしい)ということです。
このモデルの場合ビジネス用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円)
VESA標準タイプの足を外した後、プラスチックの爪のみで留まっているフタなどを外していきます。この辺りはメンテナンスマニュアルに書いてある通り。
たぶんTDP 65WのCPUの換装もできそうな感じですが、今回はここまで。組上げてSSDのパーティションにダウンロードしてきたWindows 10 version 21H2 を USBメモリから普通にインストールしました。 (ライセンスはデジタルライセンスでインターネットにつなぐと勝手に再認証されます) CPU-ZのCPU情報は以下。
500GB HDDは残すこともできたのですが、思い切りよくUEFI BIOSの設定を変更してつながってないことにしてしまいました。特にHDDを外すようなことはしていません。(外すとそのうち無くすため)
ディスク中割り当てられていない部分があるのはパーティションバックアップリストア時に「リストア先のパーティションが小さい」とかならないようにわざと空けてあります。(回復パーティションが2つあるのはご愛好)
お約束のDiskベンチマーク結果は以下。この世代ではPCIe は 3.0 (x4)です。普及品のSSDでこのスピードが出れば十分ではないでしょうか。実際に触れてみてもHDD時代とは比較にならないくらいに爆速でした。
ちなみに、CPU-Zで見たDIMMメモリのSPD情報は以下のようです。元はSamsungの DDR4 3200MHzが互換モードで動いているようでしたが、Dual Channelの高速メモリに変えたので気分いいです。(速いかどうかは未調査)
---
余談ですが、シールドパネルを戻すときにシールド版の爪の部分を正しく差し込まないと、最後に上から見たときにすき間ができてカッコ悪いです。(何を言っているか伝わらないかな???)
dell optiplex 3070 micro の SSDを換装
先日(中古で入手していた) dell optiplex 3070 micro の SSDを換装しましたので報告です。
ターゲットのPCは以下
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 SSDに Windows 10がインストールされていましたが、これを換装して Ubuntu 20.04 をインストールしました。
使用したSSDはこちら
WD Blue SN550 1TB
https://shop.westerndigital.com/ja-jp/products/internal-drives/wd-blue-sn550-nvme-ssd#WDS100T2B0C
2021年 9月現在 12,000円くらいで購入可能なスタンダードなNVME SSDです。
実際に蓋を開けてみると以下のような感じになっています。
元の128GB SSDは Type 2240の小さいタイプでした。下に放熱用のシリコーンゴムが敷いてありました。
プラス
プラスのドライバーを利用して、取付用ネジ (スタッド)の位置を 2280の位置に変更します。
換装するSSDはこちら
取付完了
結局、放熱用ゴムは (NANDメモリーチップに密着しないので)外してしまいました。
今回は100% Linux PCなので、WIndows 10の入れ替えは行いません。
Ubuntu 20.04 をUSBメモリからインストールするために、rufus 3.15 を使用しました。
---
という事で、問題なく Ubuntu 20.04 がインストールできました。
Acronis True ImageをインストールしたことのあるPCでSTOPエラー 0xC0000135が発生しOSが起動しなくなる
パーティションのバックアップ/リストアでいつもお世話になっているTrue Imageシリーズですが、いつのころからかSTOPエラー0xC0000135が発生し全くOS起動しなくなります。
ブート画面は出るので、インストールメディアで起動後にコマンドプロンプトを起動し、bcdeditでブートログを有効にしてみるのですが、そもそもブートログファイルが作成されるところまで行かないようです。
で、「STOPエラー0xC0000135」で検索すると、以下の記事が見つかりました。(この時点ではTrue Imageが影響しているとは思っていませんでしたが...)
コメントの#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にしておいてよかった...)
一方、書き込み先の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
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機能が実装されています。
ところで、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/python3cello@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 NImplementation 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フォルダにインストールされています。)