[kapper@kapper pmbootstrap]$ ./pmbootstrap.py init [21:31:44] Location of the 'work' path. Multiple chroots (native, device arch, device rootfs) will be created in there. [21:31:44] Work path [/home/kapper/.local/var/pmbootstrap]: [21:31:45] NOTE: pmaports path: /home/kapper/.local/var/pmbootstrap/cache_git/pmaports [21:31:45] Choose your target device vendor (either an existing one, or a new one for porting). [21:31:45] Available vendors (48): alcatel, amazon, asus, bq, chuwi, fairphone, finepower, fujitsu, google, gp, hisense, htc, huawei, infocus, jolla, leeco, lenovo, lg, medion, meizu, motorola, nextbit, nobby, nokia, oneplus, oppo, ouya, pine64, planet, purism, qemu, raspberry, samsung, semc, sharp, sony, surftab, t2m, tablet, teclast, tokio, wiko, wileyfox, wingtech, xiaomi, yu, zte, zuk [21:31:45] Vendor [asus]: [21:31:46] Available codenames (9): duma, flo, grouper, me176c, t00f, tf101, tilapia, z00t, z00vd [21:31:46] Device codename [grouper]: [21:31:46] This device has proprietary components, which trade some of your freedom with making more peripherals work. [21:31:46] We would like to offer full functionality without hurting your freedom, but this is currently not possible for your device. [21:31:46] device-asus-grouper-nonfree-firmware: Google Nexus 7 (2012) WiFi & BT firmware [21:31:46] Enable this package? (y/n) [y]: [21:31:47] Username [kapper]: [21:31:49] Available user interfaces (13): [21:31:49] * none: No graphical environment [21:31:49] * gnome: (Wayland) Gnome Shell (not for armhf) [21:31:49] * hildon: (X11) Lightweight GTK+2 UI (optimized for single-touch touchscreens) (DISABLED FOR ARMHF, ARMV7!) [21:31:49] * i3wm: (X11) Tiling WM (keyboard required) [21:31:49] * kodi: (Wayland) 10-foot UI useful on TV's [21:31:49] * mate: (X11) MATE Desktop Environment, fork of GNOME2 (stylus recommended) [21:31:49] * phosh: (Wayland) Mobile UI developed for the Librem 5 (works only with numeric passwords!) [21:31:49] * plasma-desktop: (X11/Wayland) KDE Desktop Environment (works well with tablets) [21:31:49] * plasma-mobile: (Wayland) Mobile variant of KDE Plasma (slow without hardware acceleration, allows only numeric passwords!) [21:31:49] * plasma-mobile-extras: Plasma Mobile with more apps pre-installed (video and music players, pdf reader, etc.) [21:31:49] * shelli: Plain console with touchscreen gesture support [21:31:49] * sway: (Wayland) Tiling WM, drop-in replacement for i3wm (DOES NOT RUN WITHOUT HW ACCELERATION!) [21:31:49] * weston: (Wayland) Reference compositor (demo, not a phone interface) [21:31:49] * xfce4: (X11) Lightweight GTK+2 desktop (stylus recommended) [21:31:49] User interface [xfce4]: [21:31:49] Build options: Parallel jobs: 5, ccache per arch: 5G [21:31:49] Change them? (y/n) [n]: [21:31:50] Additional packages that will be installed to rootfs. Specify them in a comma separated list (e.g.: vim,file) or "none" [21:31:50] Extra packages [dillo,font-ipa,xvkbd]: nano,dillo,font-ipa,xvkbd,nethack,micro-tetris [21:40:58] Your host timezone: Asia/Tokyo [21:40:58] Use this timezone instead of GMT? (y/n) [y]: [21:40:59] Device hostname (short form, e.g. 'foo') [asus-grouper]: [21:40:59] Zap existing chroots to apply configuration? (y/n) [y]: [21:41:00] Unregister qemu binfmt (arm) [21:41:01] % rm -rf /home/kapper/.local/var/pmbootstrap/chroot_native [21:41:01] % rm -rf /home/kapper/.local/var/pmbootstrap/chroot_rootfs_asus-grouper [21:41:02] Cleared up ~993 MB of space [21:41:02] WARNING: The chroots and git repositories in the work dir do not get updated automatically. [21:41:02] Run 'pmbootstrap status' once a day before working with pmbootstrap to make sure that everything is up-to-date. [21:41:02] Done! [kapper@kapper pmbootstrap]$ ./pmbootstrap.py install [21:41:05] *** (1/5) PREPARE NATIVE CHROOT *** [21:41:06] (native) install alpine-base [21:41:11] (native) install cryptsetup util-linux e2fsprogs parted dosfstools [21:41:13] *** (2/5) CREATE DEVICE ROOTFS ("asus-grouper") *** [21:41:14] (native) install qemu-arm [21:41:14] Register qemu binfmt (arm) [21:41:14] (rootfs_asus-grouper) install alpine-base [21:42:00] (rootfs_asus-grouper) install postmarketos-base device-asus-grouper device-asus-grouper-nonfree-firmware postmarketos-ui-xfce4 nano dillo font-ipa xvkbd nethack micro-tetris [21:43:50] (rootfs_asus-grouper) write /etc/os-release [21:43:50] (rootfs_asus-grouper) install [21:43:56] (rootfs_asus-grouper) install [21:44:01] (rootfs_asus-grouper) mkinitfs asus-grouper [21:44:06] *** SET LOGIN PASSWORD FOR: 'kapper' *** New password: Retype new password: Sorry, passwords do not match. passwd: Failed preliminary check by password service passwd: password unchanged [21:44:17] NOTE: The failed command's output is above the ^^^ line in the log file: /home/kapper/.local/var/pmbootstrap/log.txt [21:44:17] WARNING: Failed to set the password. Try it one more time. New password: Retype new password: passwd: password updated successfully [21:44:22] NOTE: No valid keymap specified for device [21:44:26] *** (3/5) PREPARE INSTALL BLOCKDEVICE *** [21:44:27] (native) create asus-grouper.img (620M) [21:44:27] (native) mount /dev/install (asus-grouper.img) [21:44:27] (native) partition /dev/install (boot: 58M, root: the rest) [21:44:28] (native) format /dev/installp2 [21:44:29] (native) mount /dev/installp2 to /mnt/install [21:44:29] (native) format /dev/installp1 (boot, ext2), mount to /mnt/install/boot [21:44:30] *** (4/5) FILL INSTALL BLOCKDEVICE *** [21:44:30] (native) copy rootfs_asus-grouper to /mnt/install/ [21:44:48] *** (5/5) FLASHING TO DEVICE *** [21:44:48] Run the following to flash your installation to the target device: [21:44:48] * pmbootstrap flasher flash_rootfs [21:44:48] Flashes the generated rootfs image to your device: [21:44:48] /home/kapper/.local/var/pmbootstrap/chroot_native/home/pmos/rootfs/asus-grouper.img [21:44:48] (NOTE: This file has a partition table, which contains /boot and / subpartitions. That way we don't need to change the partition layout on your device.) [21:44:48] * pmbootstrap flasher flash_kernel [21:44:48] Flashes the kernel + initramfs to your device: [21:44:48] /home/kapper/.local/var/pmbootstrap/chroot_rootfs_asus-grouper/boot [21:44:48] (NOTE: fastboot also supports booting the kernel/initramfs directly without flashing. Use 'pmbootstrap flasher boot' to do that.) [21:44:48] * If the above steps do not work, you can also create symlinks to the generated files with 'pmbootstrap export' and flash outside of pmbootstrap. [21:44:48] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary) [21:44:48] Done [kapper@kapper pmbootstrap]$ ./pmbootstrap.py flasher flash_rootfs [21:45:04] (native) flash rootfs image [21:45:07] (native) install android-tools Sending 'system' (634880 KB) OKAY [ 77.593s] Writing 'system' OKAY [ 28.567s] Finished. Total time: 106.214s [21:46:54] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary) [21:46:54] Done [kapper@kapper pmbootstrap]$ ./pmbootstrap.py flasher flash_kernel [21:47:29] (rootfs_asus-grouper) install [21:47:34] (rootfs_asus-grouper) install [21:47:40] (rootfs_asus-grouper) mkinitfs asus-grouper [21:47:45] (native) flash kernel asus-grouper Sending 'boot' (4244 KB) OKAY [ 0.536s] Writing 'boot' OKAY [ 1.103s] Finished. Total time: 1.701s [21:47:47] You will get an IP automatically assigned to your USB interface shortly. [21:47:47] Then you can connect to your device using ssh after pmOS has booted: [21:47:47] ssh kapper@172.16.42.1 [21:47:47] NOTE: If you enabled full disk encryption, you should make sure that osk-sdl has been properly configured for your device [21:47:47] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary) [21:47:47] Done [kapper@kapper pmbootstrap]$ ./pmbootstrap.py shutdown [21:47:59] Unregister qemu binfmt (arm) [21:47:59] Done