• Android-x86/Android-x86_64 und Remix OS sind Android-Forks für PCs und Laptops mit und ohne Touchscreen.
  • Hier werden die Bootmenu-Einträge für den GRUB beschrieben.
  • Fehler? Ergänzungen? Fragen? Schreib mir.

Ausgangslage

Möchte man z.B. Android-x86 zusätzlich zum bestehenden Betriebssystem installieren verzichtet man i.d.R. darauf, den Android-Installer den Bootsektor bzw. den Bestehenden Bootloader überschreiben zu lassen. Somit muss man in seinen Bootloader die Einträge anlegen.

GRUB

  • Die Einträge kann man unter /etc/grub.d/40_custom unterhalb ergänzen.
  • Anschließend den Bootloader aktualisieren:
    • Entweder: grub-mkconfig -o /boot/grub/grub.cfg
    • Oder update-grub

Android-x86_64

  • Android ist in der Dritten Partition (/dev/sda3) installiert.
  • Dort befindet sich ein Ordner android-6.0-r1.
    • Darunter liegen die Ordner data und system sowie die Dateien initrd.img, kernel und ramdisk.img.
  • Wenn anstatt Android-x86_64 Android-x86 eingesetzt wird, muss die Einstellung androidboot.hardware unbedingt von android_x86_64 auf android_x86 angepasst werden.
1
2
3
4
5
6
7
menuentry 'Android-x86_64 (v1)' --class android {
	set root=(hd0,3)
	echo 'Loading Android-x86 linux ...'
	linux /android-6.0-r1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86_64 acpi_sleep=s3_bios,s3_mode SRC=/android-6.0-r1
	echo 'Loading Android-x86 ramdisk ...'
	initrd /android-6.0-r1/initrd.img
}

Jetzt könnte man für die Identifizierung des root die UUID des Laufwerkes anstatt der Reihenfolge der Hardwaregeräte verwenden. Gerade für Betriebssysteme auf einem USB-Stick eine gute Option.

  • lsblk -f zeigt die aktuell erkannten Laufwerke und deren UUIDs an.
1
2
3
4
5
6
7
8
menuentry 'Android-x86_64 (v1)' --class android {
	set root=(hd0,3)
	search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  012ab340-1234-1234-1234-012abc345def
	echo 'Loading Android-x86 linux ...'
	linux /android-6.0-r1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86_64 acpi_sleep=s3_bios,s3_mode SRC=/android-6.0-r1
	echo 'Loading Android-x86 ramdisk ...'
	initrd /android-6.0-r1/initrd.img
}

Remix OS

  • Android ist auf einem USB-Stick installert.
  • Es gibt die Partitionen mit den Ordnern:
    • REMIX_OS, /dev/sdb1, 23 GB FAT
      • Android
        • data
        • obb
      • LOST.DIR
      • System Volume Information
      • .Trash
    • REMIXOSSYS, /dev/sdb2, 5,4 GB FAT
      • boot
      • efi
      • isolinux
      • LOST.DIR
      • System Volume Information
      • .disk
      • Dateien:
        • cid.sys, info.ini, install.img, isolinux.sys
        • initrd.img
        • kernel
        • ramdisk.img
        • ldlinux.c32, menu.c32, remixos_meta.sys, syslinux.cfg, system.sfs, TRANS.TBL, ubnfilel,txtm ubninit, ubnkern, ubnpathl.txt
    • REMIXOSDATA, /dev/sdb3, 34 GB Ext4
      • app, data, system
  • Dort befindet sich ein Ordner android-6.0-r1.
    • Darunter liegen die Ordner data und system sowie die Dateien initrd.img, kernel und ramdisk.img.
  • Wenn anstatt Android-x86_64 Android-x86 eingesetzt wird, muss die Einstellung androidboot.hardware unbedingt von android_x86_64 auf android_x86 angepasst werden.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
menuentry 'Resident mode - All your data and apps are saved ' --class android-x86 {
	search --file --no-floppy --set=root /kernel
	linux /kernel root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive quiet SERIAL=random logo.showlogo=1 DATA= USB_DATA_PARTITION=1
	initrd /initrd.img
}

menuentry 'Guest mode - No data will be saved after each session' --class android-x86 {
	search --file --no-floppy --set=root /kernel
	linux /kernel root=/dev/ram0 androidboot.hardware=remix_x86_64 androidboot.selinux=permissive quiet SERIAL=random logo.showlogo=1 REMOUNT_RW=0 DATA= DATA_IN_MEM=1
	initrd /initrd.img
}

search --no-floppy -f /EFI/RemixOS/theme.cfg --set=efi --hint hd0,msdos1
set prefix=(${efi})/EFI/RemixOS
if [ -e ${prefix}/theme.cfg ]; then
	source ${prefix}/theme.cfg
else
	set timeout=30
fi