e-tipsmemo

ごった煮

Ubuntu root file system for armhf

組み込みLinuxの勉強として
あるARMデバイスのためにSDカードのパーティションUbuntuのRoot File Systemを展開しておきたい。

タイトルはBuildとあるがビルドするほどのものでもないかもしれない。

実行環境はVMplayer上のUbuntu16.04 LTS

0 準備

$ sudo apt-get install qemu-user-static

今回はSDカードの第二パーティションにRoot File Systemを展開したいので事前にそうしておく。

$ sudo gparted /dev/sdb

などで
f:id:katakanan:20171224105057p:plain
とする

1 インストール

$ sudo mount -o loop /dev/sdX2  /mnt

ここを見て
Index of /dists
自分の欲しいUbuntuのバージョンの名前?をコマンドの適切な位置に入れる。
例えば
16.04 LTSならxenial
14.04 LTSならtrusty

sudo debootstrap --foreign --arch armhf [Ubuntuのバージョン] /mnt http://ports.ubuntu.com/
sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin/
sudo chroot /mnt
/usr/bin/groups: cannot find name for group ID 0
I have no name!@ubuntu:/#

これでchrootした
ここからは、chroot以下での作業

I have no name!@ubuntu:/# ./debootstrap/debootstrap --second-stage
I have no name!@ubuntu:/# passwd
(略)
I have no name!@ubuntu:/# su
root@ubuntu:/# passwd (念のため)
(略)
root@ubuntu:/# apt-get update
(略)
root@ubuntu:/# adduesr hoge
(略:パスワードは設定する)

/home以下にhogeのフォルダができている。
または

root@ubuntu:/# cat /etc/passwd

hogeユーザーがいることを確かめて終了

これで一応Root File System の展開は終了。

・・続く

Linuxデバイスドライバ 第3版

Linuxデバイスドライバ 第3版