The wild adventures of entoo phone

so, Im the proud owner of a Redmi Note 11 Pro, good phone, gets 260H/s mining Mонеро. at the time of writing its cross compiling gcc so I can use it as a distcc node.
but can I make it better?
of course I can. with the power of /g/entoo

But bread, how are you gonna get Дженту running on a phone?

with the power of eprefixes of course! I mean its just a matter of unpacking a tarball and then running startprefix right?

right...?

Attempt 1. eprefix extravaganza

so obviously, since dżentu provides an already ready (ha, rhymes) chroo- i mean, prefix for us to use on android, its only logical for me to try that first. and so I did.

so everything goes smoothly, download tarball, extract to /data/gentoo64, run startprefix and:

root@veux /data/gentoo64 # ./startprefix
mkdir: failed to create /usr: /dev/block/dm-6: read-only filesystem
root@veux /data/gentoo64 #

oh right, this is android; rootfs is read-only.

but thats an easy fix, all you gotta do is remount rootfs as read-write and:

root@veux /data/gentoo64 # mount / -o remount,rw
'/dev/block/dm-6' is read-only
root@veux /data/gentoo64 #

oh no.

Attempt 2. chroot chaos

so lets try a normal chroot then, everything should just werk

root / # export GPREFIX=/data/data/com.termux/files/gentoo
root / # mkdir $GPREFIX && cd $GPREFIX
root /data/data/com.termux/files/gentoo # wget https://gentoo.osuosl.org/releases/arm64/autobuilds/current-stage3-arm64-openrc/stage3-arm64-openrc-20221225T234752Z.tar.xz
root /data/data/com.termux/files/gentoo # /data/data/com.termux/files/usr/bin/xz -d stage3-*.xz
root /data/data/com.termux/files/gentoo # /data/data/com.termux/files/usr/bin/tar xvf stage3-*.tar
root /data/data/com.termux/files/gentoo # mount --rbind /dev $GPREFIX/dev
root /data/data/com.termux/files/gentoo # mount --rbind /sys $GPREFIX/sys
root /data/data/com.termux/files/gentoo # mount -t proc /proc $GPREFIX/proc
root /data/data/com.termux/files/gentoo # chroot $GPREFIX /bin/bash
sh-5.1# source /etc/profile
root@localhost / # emerge-webrsync
root@localhost / # eselect profile set 1
root@localhost / # useradd -mG wheel,portage anon

so that just worked, nice. but before we continue, we need to fix جنتو. what do i mean by that? by that i mean, the default pam config requires you to have a ""sexcure""" password. UNACCEPTABLE.

but in order to do that, we need to emerge vim, but to do that, we need to first disable portage's sandboxing, because if we dont it will throw an EINVAL every 0.7 frames

root@localhost / # echo 'FEATURES="-pid-sandbox -net-sandbox -ipc-sandbox"' >> /etc/portage/make.conf root@localhost / # emerge vim

so now that that's fixed, heres a quick guide on making gentoo usable:

vim /etc/pam.d/system-auth
/passwdqc [enter] dd
:s/try_first_pass use_authtok//g [enter]
:wq [enter]

noooow we can change the user's password

root@localhost / # passwd anon
root@localhost / # su anon
anon@localhost / $

There, after all of that, ジェンツー just werks.

So now its your turn. Go, my child, INSTALL GENTOO

         -/oyddmdhs+:.                anon@localhost
     -odNMMMMMMMMNNmhy+-`             --------------
   -yNMMMMMMMMMMMNNNmmdhy+-           OS: Gentoo Linux aarch64
 `omMMMMMMMMMMMMNmdmmmmddhhy/`        Kernel: 5.4.180-qgki
 omMMMMMMMMMMMNhhyyyohmdddhhhdo`      Uptime: 3 hours, 12 mins
.ydMMMMMMMMMMdhs++so/smdddhhhhdm+`    Packages: 263 (emerge)
 oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.   Shell: sh
  :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh   Resolution: 1080x2400x120x183275vid
    .:+sydNMMMMMNNNmmmdddhhhhhhmMmy   Terminal: magiskd
       /mMMMMMMNNNmmmdddhhhhhmMNhs:   CPU: ARM Cortex-A55 (8) @ 1.804GHz
    `oNMMMMMMMNNNmmmddddhhdmMNhs+`    Memory: 3360MiB / 5437MiB
  `sNMMMMMMMMNNNmmmdddddmNMmhs/.      Terminal: magiskd
 /NMMMMMMMMNNNNmmmdddmNMNdso:`
+MMMMMMMNNNNNmmmmdmNMNdso/-
yMMNNNNNNNmmmmmNNMmhs+/-`
/hMMNNNNNNNNMNdhs++/-`
`/ohdmmddhys+++/:.`
  `-//////:--.