VirtualBoxにCentOS 7をインストールする
先日,macOSのVirtualBoxにCentOS 7をインストールした. 時同じくして,Raspberry Pi用にOSの入ったSDカードが必要となった. 私はRaspberry PiでArch Linuxを使うのが好みなので,今回もArch Linux ARMをインストールすることにした. 公式サイトでARMv6のインストレーション手順を確認すると,Linuxでのインストール手順しか書いていない. そこで今回,VirtualBoxにインストールされたCentOSにSDカードをマウント,Arch Linuxをインストールすることにした. ココにはその手順を記す.
手順
SDカードが使用済みの場合はSDFormatterなどで上書きフォーマット(Overwrite Format)を事前に施して置く. SDカードの中がきれいになったら次の手順でArchを焼き込む.
- VBoxManageコマンドでVMDKファイルを作成
- VMDKファイルをVirtualBoxに読み込ませる
- ゲストOS(CentOS 7)を起動させる
- SDカードがマウントされていることを確認
- Arch Linux ARM公式サイトの手順でArchを焼く
- 焼き込みが終わったらゲストOSをシャットダウン
- ホストOSからSDカードを取り出す(Eject)
- 読み込んだVMDKファイルの後片付けをする
VMDKの作成
FAT32などできれいにフォーマットされたSDカードをmacOSにマウントしたらターミナルを開き,次のコマンドでマウント位置を確認する.
diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 999.3 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.8 GB disk1
1: Windows_FAT_32 ARCH 15.8 GB disk1s1
この場合,/dev/disk1にSDカードがマウントされていることが分かる. 次のコマンドでSDカードをアンマウントする.
diskutil unmountDisk /dev/disk1
このアンマウントを行わないと,他のプロセスと競合し(Resouce busyなどのエラーが出て)上手く行かない. 以後,ホストOSにマウントされることがあったら,都度このコマンドでアンマウントしよう. 次のコマンドでこのSDカードのVMKDファイルを作成する.
sudo VBoxManage internalcommands createrawvmdk -filename sdcard.vmdk -rawdisk /dev/disk1
sdcard.vmdkというファイル名のVMDKが(ホームディレクトリなどに)生成される.
VirtualBoxに読み込ませる時に,権限うんぬん言われる可能性があるので,今のうちにchmodしておく.
sudo chmod 777 /dev/disk1
sudo chmod 777 sdcard.vmdk
(この時点でSDカードがmacOSにマウントされていたら再び"diskutil unmountDisk /dev/disk1"でアンマウントしておく). 以上でVMDKの生成は終了. VirtualBoxを起動しよう.
VMDKをVirtualBoxに読み込ませる
CentOS 7の"Storage"設定を開く.
CentOS 7.vdiがマウントされているControllerを選択し,ハードディスクにプラスのマークをクリック.
ダイアログが出てくるので,"Choose existing disk(既存のディスクを選択)"を選択.
先程つくったVMDKファイルを選択する.
これでSDカードがマウントされる. "OK"で設定を適用し,CentOS 7を起動.
Arch Linux ARMのインストール
Arch Linux ARMのインストール方法は別記録として用意した. 英語ならある程度読めるし,さらっとした説明の方が解り易いという方はArch Linux ARMの公式サイトへ! そうでない方や私の文書を読んでくれるような広い心をお持ちの方は下記リンクをクリックしてみよう.
Arch Linux ARMをインストールする
Arch Linux ARMをインストールするにはrootとしてログインするか,"sudo su"コマンドでrootユーザーに昇格する必要がある. ログイン後は次のコマンドでSDカードがマウントされていることを確認する.
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 16G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 15G 0 part
├─cl_root 253:0 0 13.4G 0 lvm /
└─cl_swap 253:1 0 1.6G 0 lvm [SWAP]
sdb 8:16 0 14.7G 0 disk
└─sdb1 8:17 0 14.7G 0 part
sr0 11:0 1 1024M 0 rom
...
上の例では16GBの仮想HDDを持つCentOSに,16GBのSDカードをマウントしてしまったので少々分かり難くなっているが,sdbのブロックがSDカードになる. 見事SDカードをゲストOSにマウントすることが出来た. 後はArch Linux ARM公式ページのInstallationに従いArchをSDカードにインストールする.
Raspberry Pi | Arch Linux ARM
事前に次のパッケージをインストールしておくとスムーズに進められる.
yum -y install dosfstools bsdtar wget
Tips
"mkfs.ext4"や"bsdtar"の処理には時間がかかる. wgetのhttp://os.archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gzはArchLinuxARM-rpi-2-latest.tar.gzなどにも変更可能. Raspberry Pi 2や3にインストールする場合など,適宜URIを変更する.VMDKのかたづけ
Arch Linux ARMのインストールが完了したらCentOSを終了させる.
次回VirtualBoxを起動した時に,次のようなダイアログが表示される. これはCentOSの仮想マシンにマウントしたVMDKファイルが見つからないことを訴えている. "Check"をクリックし,設定画面を開く. sdcard.vmdkを右クリックし"Remove"する. 削除してよいかダイアログが出てくるが,構わず削除する. これですべてが元通り.
poweroff
"Storage"設定を開き,マウントしたVMDKを削除しておく.
その後,VMDKファイルも削除し,ホストOS(macOS)からSDカードを取り出そう(以下のコマンドを実行後にSDカードをMacから取り外そう).
diskutil eject /dev/disk1
VirtualBoxも終了させて,片付けはお終い.
次回VirtualBoxを起動した時に,次のようなダイアログが表示される. これはCentOSの仮想マシンにマウントしたVMDKファイルが見つからないことを訴えている. "Check"をクリックし,設定画面を開く. sdcard.vmdkを右クリックし"Remove"する. 削除してよいかダイアログが出てくるが,構わず削除する. これですべてが元通り.
82776612351882218
https://www.storange.jp/2017/04/virtualboxsd.html
https://www.storange.jp/2017/04/virtualboxsd.html
VirtualBoxにSDカードをマウントする
2017-04-03T20:19:00+09:00
https://www.storange.jp/2017/04/virtualboxsd.html
Hideyuki Tabata
Hideyuki Tabata
200
200
72
72