J1010のブートデバイスをeMMCからmicroSDカードに変更
解説
reComputer J1010 には、ブートデバイスとして、16GBのeMMCが搭載されています。
しかし、初回起動直後においても、ルートディスク(「/」ディスク)の空き容量は、2.2GBほどしかありません。(ディスク空き容量の確認)
16GBよりも容量の大きい32GBや64GBのmicroSDカードを用意し、ブートデバイスをeMMCからmicroSDカードに変更することで、ルートディスク(「/」ディスク)の空き容量を拡張できます。
ブートデバイスをeMMCからmicroSDカードに変更する方法についてまとめます。
reComputer J1010 の販売元であるSeeed社の reComputer J1010 の Wiki サイトの以下のページに記載の方法に従います。
J1010 Boot From SD Card - Seeed Wiki
ブートデバイスをeMMCからmicroSDカードに変更するために、すべきことは以下です。
- SDカード機能を有効化します。
- microSDカードをext4フォーマットでフォーマットします。
- bootFromUSBのリポジトリをクローンします。
- ルートディスクの内容をmicroSDカードにコピーします。
- ブートオプションファイル(「extlinux.conf」ファイル)の「root」パラメータの値を変更します。
- 再起動します。
- microSDカードからブートしていることを確認します。
SDカード機能の有効化
「J1010のSDカード機能の有効化」を実施します。
microSDカードのフォーマット
「disk」ツールを起動します(※1)。
※1 : 「disk」ツールの起動方法
① デスクトップ左上の「コンピュータを検索」をクリックします。
② 検索キーワード欄に「disk」と入力します。
③ アプリケーション「disk」もしくは「ディスク」が見つかります。
④ アプリケーション「disk」もしくは「ディスク」をクリックし、起動します。
デバイス「/dev/mmcblk0p1」は、eMMC です。
デバイス「/dev/mmcblk1p1」が、microSDカード です。
デバイス「/dev/mmcblk1p1」を選択します。
作成済みのパーティションを選択し、「-」ボタンでパーティションを削除し、デバイス全体を未割り当てな状態にします。
続いて、デバイス全体をext4フォーマットのパーティションにします。
「+」ボタンを押します。
「パーティション作成」ダイアログが表示されます。
「次へ」をクリックします。
タイプは、「Ext4」を選択します。
ボリューム名は、適当な名前を入力します。
「作成」をクリックします。
デバイス「/dev/mmcblk1p1」全体が「ext4」でフォーマットされました。
bootFromUSBのリポジトリのクローン
以下のコマンドを実行し、bootFromUSBのリポジトリをクローンします。
ルートディスクの内容のmicroSDカードへのコピー
以下のコマンドを実行し、ルートディスクの内容をmicroSDカードへコピーします。
コピーが終了するまで、しばらく(数十分)待ちます。
「extlinux.conf」ファイルの編集
ブートオプションファイル(「extlinux.conf」ファイル)を編集します。
ファイルを編集する際のテキストエディタとして nano (nano – Text editor) を使用することとします。
nanoをインストールしていない場合は、以下のコマンドを実行し、nanoをインストールします。
以下のコマンドを実行し、ブートオプションファイル(「extlinux.conf」ファイル)をnanoで開きます。
以下を探します。
2行あります。
2行共、「mmcblk0p1」を「mmcblk1p1」に書き換えます。
「ctrl + o」を押下し、ファイルを上書き保存します。
「ctrl + x」を押下し、ファイルを閉じます。
再起動
以上で、ブートデバイスがeMMCからmicroSDカードに変更されました。
以下のコマンドを実行し、J1010を再起動します。
microSDカードからブートしていることの確認
デバイスのマウントポイントの確認
以下のコマンドを実行します。
次のような出力が得られます。
実行結果例
デバイス「mmcblk0p1」、すなわち、eMMCのマウントポイントが
「/media/[ログインユーザー名]/[eMMCのUUID]」
になり、
デバイス「mmcblk1p1」、すなわち、microSDカードのマウントポイントが
「/」
になっています。
ディスクの空き容量の確認
以下のコマンドを実行します。
実行結果例
ルートディスク(「/」ディスク)の空き容量が、16GBになりました(32GBのmicroSDカードを使用)。
(eMMCからブートしたときのルートディスクの空き容量は、2.2GBほどでした)
参考)ブートデバイスをeMMCに戻す方法
ブートデバイスをmicroSDカードからeMMCに戻すには、ブートオプションファイル(「extlinux.conf」ファイル)の内容を元に戻します。
「eMMC上の extlinux.conf ファイル」を編集しますが、編集するファイルのパスに注意が必要です。
eMMCからブートした時は、「eMMC上の extlinux.conf ファイル」のパスは、
「/boot/extlinux/extlinux.conf」
ですが、
microSDカードからブートした時は、「eMMC上の extlinux.conf ファイル」のパスは、
「/media/[ログインユーザー名]/[eMMCのUUID]/boot/extlinux/extlinux.conf」
になります。
Terminalにて、
と入力し([ログインユーザー名]のところは、ログインしているユーザー名に適宜置き換えます。)、
エンターキー押下せず、タブキーを押下します。するとeMMCのUUIDが補完入力されます。
さらに続けて、「boot/extlinux/extlinux.conf」と入力します。
たとえば、以下のようになります(extlinux.confファイルのパスは個体ごとに異なります)。
エンターキーを押下し、ブートオプションファイル(「extlinux.conf」ファイル)を開きます。
以下を探します。
2行あります。
2行共、「mmcblk1p1」を「mmcblk0p1」に書き換えます。
「ctrl + o」を押下し、ファイルを上書き保存します。
「ctrl + x」を押下し、ファイルを閉じます。
以上で、ブートデバイスがeMMCに戻りました。