User Tools

Site Tools


Architecture of Reptilian

Reptilian is a hybrid of Android (mobile) and Ubuntu (desktop) Linux distributions. To make both systems available, Reptilian use two distinct userspaces with different directory mappings but atop a single Linux kernel.

Virtual Disk Layout

Reptilian's core is based on Android x86, which as the name implies, is a variant of Android that is built for x86 processors (and particularly PCs). The boot partition contains…

  • GRUB (the bootloader) in /grub
  • The kernel and initrd.img in /boot
  • Android user data in /data
  • The ramdisk and system images in /android-VERISON

In addition, Reptilian comes with an Ubuntu userspace partition. This userspace is laid out in typical fashion for the most part. However, Reptilian includes pre-packaged artifacts for building the Linux kernel in /usr/rep:

  • The build toolchain is in /usr/rep/build/tools
  • Kernel configuration file is in /usr/rep/build/config

The reptilian user also has several environment variables set to simplify the compilation process.

Each partition can be accessed from the sister system as well. The Ubuntu partition is mapped within Android to /mnt/ubuntu, while the Android partition is mapped within Ubuntu to /mnt/sysroot.

Boot Routine

The boot process for Reptilian is as follows:

  1. The GRUB bootloader is used to determine the kernel version and parameters. It loads the kernel.
  2. Partway through the init process, the “vendor” scripts are executed, one of which mounts and starts Ubuntu.
  3. The Ubuntu init executes, starting the SSH server (and any other services added by the user).
architecture.txt · Last modified: 2020/09/07 13:11 by misterjei