hack のためのネタ帳, etc,,,

USB フラッシュメモリへのインストール

persistent の設定方法を探してたんだが、
GRUB で ISO loopback boot とか七面倒なことしなくても、
幾つかファイルをコピーして GRUB に登録するだけで済むことが分かった。

まず、拾ってきた Android-x86 の ISO の root にある
  • initrd.img
  • kernel
  • ramdisk.img
  • system.sfs
を USB フラッシュメモリの適当な場所に配置。
更に同じ場所に
dd if=/dev/null of=data.img bs=1 count=0 seek=$((8*1024**3)) # 8GiB sparse file
mkfs.ext4 -L "Android Data" data.img
のようにして Android のユーザー用データ保存領域のための loop-device 用 ext4 ファイルシステムを data.img というファイル名で作成しておく。
試しに btrfs も試してみたが、btrfs だと認識しなかった。
現時点でサポートしているのは ext2, ext3, ext4, ntfs, fat32 らしい。

あとは grub.cfg にこれらのファイルを参照させればよかった。

今回の場合、USB フラッシュメモリの /boot/iso/android-x86_64-9.0-rc1/ 以下に配置したので、
grub.cfg は以下のようになった。
search.fs_uuid xxxxxxxxxxxxxxxx ISOs

menuentry "Android x86_64 9.0 RC1" {
  set src=/boot/iso/android-x86_64-9.0-rc1
  set root=($ISOs)
  linux  $src/kernel root=/dev/ram0 androidboot.selinux=permissive SRC=$src quiet
  initrd $src/initrd.img
}


元の ISO を loopback boot させる場合、/boot/iso/android-x86_64-9.0-rc1.iso に配置したなら
search.fs_uuid xxxxxxxxxxxxxxxx ISOs

menuentry "Android x86_64 9.0 RC1 ISO with theme" {
  export isofile
  set isofile="/boot/iso/android-x86_64-0.9-rc1.iso"
  loopback loop0 ($ISOs)$isofile
  set root=(loop0)
  configfile /boot/grub/grub.cfg
}

menuentry "Android x86_64 9.0 RC1 ISO" {
  export isofile
  set isofile="/boot/iso/android-x86_64-0.9-rc1.iso"
  loopback loop ($ISOs)$isofile
  set root=(loop)
  configfile /boot/grub/grub.cfg
}
のようにすればよい。

iso loopback boot する場合に nomodeset 等が必要な場合は
configfile で ISO 内の grub.cfg を読ませると、毎回手動で追記しないといけないので、
grub.cfg へ以下のようなエントリを追加しておくと良い。
menuentry "Android x86_64 9.0 RC1 ISO Live nomodeset" {
  set isofile=/boot/iso/android-x86_64-9.0-rc1.iso
  set src=iso-scan/filename=$isofile
  loopback loop ($ISOs)$isofile
  set root=(loop)
  linux  /kernel root=/dev/ram0 androidboot.selinux=permissive $src quiet nomodeset
  initrd /initrd.img
}

このページへのコメント

AIKW (Android-x86 Introducer Kit for Windows)の詳細情報 : Vector ソフトを探す!
ttp://www.vector.co.jp/soft/winnt/util/se524231.html

0
Posted by 名無し(ID:cRZqBdpIJQ) 2022年04月14日(木) 15:58:00 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます