#はじめに
Raspberry Pi用のSDカードを作ってみる。マイクロSDカードの条件は以下の通りである。
- FAT32でフォーマットされていること(本件で取り扱う問題64GB以上のSDXCカードはexFATがデフォルト)
- Linux 5.3以前の制限。Linux 5.4がディストリビューションに取り込まれれば解消される見込み.
- 容量256GB以下であること(3B+以降なら256GB以上に対応)
- マイクロSDカードであること
- 最古のRaspberry PiはフルサイズSDカードであったが、それ以降(B+ 512)はマイクロSDカード)
- なお、I/O性能については、クラス10を満たしていれば特に問題ない。(SDカードに対するアクセス性能がゆるいといえる。いわゆるランダムアクセス性能はあまり変わらないため。)
##FAT32とは
DOS用に開発された歴史的なファイルシステムである。ファイルサイズの最大値は4GB,ディスクサイズの最大値は32GBから2TB等の制限がある。なお、ディスクサイズの制限は、OS実装依存である。一般に2000年以前の古いOSを使うとディスクサイズの最大値が32GB程度になるが、ここ10年のOSなら問題はない。
##FAT32が必須の理由
Raspberry Piの前提となるLinuxでは、起動できるのはFAT32形式のみで、exFAT形式には対応していない。
これは、exFATが、Microsoft独自の仕様かつ特許等の危惧があったため開発されてこなかったことに由来する。なお、exFAT仕様自体は最近Microsoftより公開された。この進展によりLinux Kernel 5.4(2019/11/24)ではexFATが取り込まれた。ただし、Ubuntu等に取り込まれるには、それから1年程度は必要かと思われる。
##SDカード容量が256GBであるか確認すべき理由
Raspberry Piのドキュメントによると、3+以前のSoCでは制限により起動できないと記載されている。
#手順
FAT32にディスクフォーマットを変更する。
フォーマッタ―で、ディスクフォーマットをFAT32に変更する。今のところ、Disk Formatter
もしくは、MiniTool Partition Wizard
あたりが良いかと思う。
Raspberry Pi用イメージを書き込む
公式イメージ等があるので、適当なものを選んでインストールする。
起動してみる。
普通に、Raspberry Pi 3Bで起動できた。
参考までに、使ったマウスは、ELECOMのM-XT3URである。
#参考資料
##フォーマッター
- パーティションをきったり、ファイルシステム形式を選べるもの(FAT32を選べる)
- パーティションを変更できない。ファイルシステム形式自動選択(exFAT)
##Raspberry Pi資料
##SDカード
##exFAT
- Raspberry Pi exFAT: Adding Support for exFAT File System
- (LKML)Linux 5.4 exFATがマージされた版
-
exFAT in the Linux kernel? Yes!
##ファイルシステム