Gentoo on Pinebook Pro RELEASE
#41
I have a rockpro64, ive built a gentoo Iinux on debian-arm64 , usb emmc, as chroot.
64 was max , however i have to replace laptop m.2... (i bought i mini adapter and ribbon adapter to stuff an m.2 into a playbox case.
Touchscreen drivers are a rarity but doable pia, screen mirroring to hdmi/dsp0-ts)
For a demo feild pentester contraption..

Sdcard to emmc adapter so.. as sdcards stresses out faster.. or need endurance models.
Emmc are more akin to m.2 and far more re

My emmc is outa space so opportune time to move the build mess to 550 m.2.

Now 128 emmc are on menu so 2 might be good.
Multi instace binhost, will keep packages, with different build flags but also eats space.
And can prepare, the manjaro root fs , cleave out / /boot /boot/efi symbolic link some files on /boot to /efi ..
I have grub with uefi, uboot zfs etc etc etc.,
Newer uboot can load uefi. Ie grub-efi as intermediate boot, pick a kernel, or even refind..
Pick kernel/os on m.2 emmc, sd.. usb etc.


So preparing a chroot is quite doable.

Sakaki's Rpi4 binhost is helping, but be warned, many are opengl+gles2 or majority -gles2..
However many packages wont build , but her/his crossdev build pkgs can the be rebuilt..
+/- features.. xfce is in tree.


https://github.com/necrose99/gentoo-binhost
Upstream has a few older packages but more on server targets.

Ive added a few pine64 rockpro64, rock64, and the pine book pro files as binaries.

And PENTOO LINUX, my original purpose.
Ports of metasploit, gcc crossdev's etc.

Scaleway hosting, 35 usd/32 E's a mo 8-16 gigs , and dep on virtual cores, debian host 256 gigs of mounted chroot.
Speed of compiles is greatly improved.
Make linux j8 etc. Useful if fakeroot = ./my-kernel
-C to chroot on tar xz > kernel.txz

Most kernels, gentoo, panfrost sorces , Sabayon, pentoo, make all modules, then allyess
Fix config, sysfs v2 depreciated in general setup, N as in hell No.
Next i need to grepout debugging items in config.

Aufs5 sources. Or stand alone async-emerge needs it. , cloveros a gentoo live has a reliable aufs5 patching bit in gitgud , buildroot scripts.
https://github.com/alexdux/async-emerge-overlay
Uses chroot in tmpfs/ramdrive to remake world.
Drops bins in /packages, ie kde qt5-x.y.z x.y.35 out deps hell no letgo...
Upgrade qt stack revdep-rebuild wala.

Since i care to run possible 3x arm64 devices, id rather go failsafe on kernel.

Scaleway, ill need to renew soon i suppose, and docker is good for building and reliable.



Sent from my SM-N960U using Tapatalk
  Reply
#42
Great resource for Gentoo users.

Does it take a long time to compile OS + kernel + DE? Meaning from usability point, if regular 2-4-weekly update takes more than 1 day to compile (of course excluding browsers)?


Unrelated, is there a way to make this set-up more/fully FLOSS?:

Gentoo is great by giving option ACCEPT_LICENSE="-* @FREE" in make.conf

But those binaries are needed:

BCM4345C5.hcd
fw_bcm43456c5_ag.bin
brcmfmac43456-sdio.clm_blob
dptx.bin

First three are for wifi/BT - could be skipped while using USB wifi, right?

While is dptx.bin critical for machine operation, or only for usb-c video out?

Are there any other binary blobs that I'm not aware of?

Finally, manjaro kernel is used. Is this kernel baked with proprietary firmware binaries, or firmware is installed separately as a package (as in Gentoo sources) - making ideal case so no need to install linux-libre or deblob kernel by yourself


Thanks a lot
  Reply
#43
I doubt anyone will read this, but here we go.
I followed all the install instructions, except for when it comes time to install the boot-loader. The pinebook pro doesn't use grub2 or lilo or anything like that (i think), it instead uses u-boot, right? Well, I wasn't able to boot and when I checked the boot partition I noticed that there wasn't an Image or Image.gz file. I know I missed something, so can someone tell me please? I would appreciate it so much, because it's my dream to turn this into a gentoo machine with i3-gaps, rice it up, and post on r/unixporn. I would love nothing better than to neofetch that gentoo logo right in the middle of the screenshot.
  Reply
#44
For those of you that have successfully managed a working Gentoo install, can you provide a little more detail around the bootloader process?

I was able to run through the entire chroot process successfully (as far as I can tell), but got tripped up at the last stage of installing a bootloader. Is installing u-boot and the "u-boot-update" step all that's required? And more specifically, is u-boot being installed to the bootloader partition or the /boot partition? (I'm guessing bootloader partition is correct which is probably where I've gone wrong.)

I've used Gentoo for years and years, but never with a u-boot setup. Thanks.
  Reply
#45
Went through the install process for a third time with no luck booting. Reading some of the previous posts, it sounds like maybe uboot should be installed on one of the mmcblk1 partitions rather than mmcblk2?

Feels like the uboot piece is the hangup. Curious if anyone has any further details on which partition to target during uboot install. Thanks.

Edit: I guess mmcblk1 is the SD card. I've been looking at this too long and need to step away.
  Reply
#46
If you've created partitions as per post #27 you should dd to the corresponding partition
otherwise you have to dd to mmcblk2 (no partition number as you're writing to disk sectors) using seek command to place the files on the right disk sectors

Code:
dd if=idbloader of=/dev/mmcblk2 seek=64
dd if=uboot of=/dev/mmcblk2 seek=16384

double check mmcblk number using lsblk

You'll also need trusted firmware file if using debian uboot
  Reply
#47
Thanks @nightranger73 . That helps knowing to write to mmcblk rather than a partition and that got me further. No successful boot, but I no longer have to flip the emmc hardware switch to boot an SD.

What’s the trusted firmware situation? Is there documentation around that? I honestly have no idea whether I’m using the Debian uboot. I need to do some basic uboot research to better understand the entire process. Done dozens of gentoo installs but never worked with uboot. Thanks again for assistance.
  Reply
#48
@midnightcheese The trusted firmware is built separately and then bundled into the two uboot binaries during its compilation. It is easy to build both yourself, if you don't want to use precompiled images from various places. See step 5 in my Debian/Devuan guide for sample instructions:

https://www.kulesz.me/post/140-debian-de...4-install/

Also, I recommend making a partition for storing both idbloader.img as well as u-boot.itb, so you don't accidentally overwrite either your regular filesystem with them or vice versa. Simply leave some space before your first partition or (my personal recommendation) create a "fake" partition which you never format to "mark" the respective u-boot area.
  Reply
#49
And some more info here, I think he uses gentoo also
https://stikonas.eu/wordpress/2019/09/15...rockpro64/
  Reply
#50
Hi!

Happy Gentoo user on a Pinebook Pro:
Code:
# neofetch
         -/oyddmdhs+:.                root@pbp
     -odNMMMMMMMMNNmhy+-`             --------
   -yNMMMMMMMMMMMNNNmmdhy+-           OS: Gentoo/Linux aarch64
`omMMMMMMMMMMMMNmdmmmmddhhy/`        Host: Pine64 Pinebook Pro
omMMMMMMMMMMMNhhyyyohmdddhhhdo`      Kernel: 5.12.9-gentoo
.ydMMMMMMMMMMdhs++so/smdddhhhhdm+`    Uptime: 34 secs
oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.   Packages: 868 (emerge)
  :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh   Shell: bash 5.1.8
    .:+sydNMMMMMNNNmmmdddhhhhhhmMmy   Resolution: 1920x1080
       /mMMMMMMNNNmmmdddhhhhhmMNhs:   Terminal: /dev/pts/0
    `oNMMMMMMMNNNmmmddddhhdmMNhs+`    CPU: (6) @ 1.416GHz
  `sNMMMMMMMMNNNmmmdddddmNMmhs/.      Memory: 137MiB / 3868MiB
/NMMMMMMMMNNNNmmmdddmNMNdso:`
+MMMMMMMNNNNNmmmmdmNMNdso/-
yMMNNNNNNNmmmmmNNMmhs+/-`
/hMMNNNNNNNNMNdhs++/-`
`/ohdmmddhys+++/:.`
  `-//////:--.
Code:
# emerge --info
Portage 3.0.19 (python 3.9.5-final-0, default/linux/arm64/17.0, gcc-11.1.0, glibc-2.33, 5.12.9-gentoo aarch64)
=================================================================
System uname: Linux-5.12.9-gentoo-aarch64-with-glibc2.33
KiB Mem:     3961144 total,   3612776 free
KiB Swap:      30220 total,     30220 free
Head commit of repository gentoo: 7ba6fa62d85c26262848d9ed646a297685129057

Head commit of repository audio-overlay: 2f8870b079d0a4d5ad88587dd24718544cda26db

Head commit of repository local: df9092c8b43e63433a2740dad2f61ab234a4ca6d

sh bash 5.1_p8
ld GNU ld (Gentoo 2.36.1 p3) 2.36.1
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0::gentoo
dev-lang/python:          2.7.18_p10::gentoo, 3.9.5_p2::gentoo, 3.10.0_beta2::gentoo
dev-lang/rust:            1.52.1::gentoo
dev-util/cmake:           3.20.3::gentoo
sys-apps/baselayout:      2.7-r2::gentoo
sys-apps/openrc:          0.43.3::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.13.4-r2::gentoo, 1.16.3-r1::gentoo
sys-devel/binutils:       2.36.1-r1::gentoo
sys-devel/gcc:            11.1.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.12::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33::gentoo
Repositories:

gentoo
    location: /var/portage/repos/gentoo
    sync-type: git
    sync-uri: git://anongit.gentoo.org/repo/gentoo.git
    priority: -1000

audio-overlay
    location: /var/portage/repos/audio-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-audio/audio-overlay.git
    masters: gentoo

local
    location: /usr/local/portage
    sync-type: git
    sync-uri: /data/nas/xavier/git_repos/local_overlay.git/
    masters: gentoo

crossdev
    location: /data/nas/xavier/portage/pinebook-pro/var/db/repos/crossdev
    masters: gentoo
    priority: 10

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="@FREE as-is freedist"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -mlittle-endian -mabi=lp64 -march=armv8-a+crypto+crc -mtune=cortex-a72.cortex-a53"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -mlittle-endian -mabi=lp64 -march=armv8-a+crypto+crc -mtune=cortex-a72.cortex-a53"
DISTDIR="/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps y --quiet-build=n --buildpkg"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg candy config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--as-needed"
MAKEOPTS="-j7 -l7"
PKGDIR="/var/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acpi alsa apng arm64 bluetooth branding bzip2 cairo cli crypt cryptsetup css cups dbus dlna dri dssi dts dvb exif flac gif glamor gles2 gnome-keyring gpm gtk gudev gui iconv joystick jpeg lcms libcanberra libglvnd libinput libnotify libsamplerate libtirpc mad matroska mng mp3 mpeg mtp natspec ncurses network nls nptl ocr ogg openal opengl openmp openssl opus osc pango pcre pdf png pnm printsupport qt5 readline sane sdl seccomp sna sndfile snmp spell split-usr sqlite ssl startup-notification svg system-bootstrap system-llvm tcpd threads tiff truetype udev unicode upnp usb uxa vorbis wmf x264 xattr xcb xinerama xml xosd xv xvid zlib" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" KERNEL="linux" L10N="fr nl" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="panfrost" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS

I use Gento since 2004, on all my machines/servers, this is not the first ARM system I have, I also run Gentoo on rpi1, helios4 and helios64 (also a RK3399).
Kind regards,
Xavier Miller.
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Upgrading Armbian from v24.2.1 gnome, breaks pinebook pro Sb2024 0 115 11-10-2024, 02:50 PM
Last Post: Sb2024
  Pinebook pro won't boot after bootloader installation jwensouls 4 942 08-21-2024, 04:17 AM
Last Post: KC9UDX
  [Pinebook Pro/Mobian/XFCE4] can fix touch or screen in greeter not both SynthGal 0 401 05-31-2024, 09:42 AM
Last Post: SynthGal
  Debian on Pinebook Pro u974615 7 2,893 03-31-2024, 10:11 AM
Last Post: u974615
  Pinebook Pro upgrading from the factory image yamsoup 12 4,113 02-22-2024, 04:02 PM
Last Post: tllim
  Help installing Manjaro on eMMC of Pinebook Pro pine4546464 4 3,222 12-13-2023, 07:22 PM
Last Post: trillobite
  Need Help Recovering Manjaro /boot Contents on Pinebook Pro calinb 6 3,512 12-11-2023, 03:47 AM
Last Post: calinb
  Boot Order in Pinebook Pro food 8 2,700 11-23-2023, 07:37 AM
Last Post: KC9UDX
  PineBook Pro seems to go to deep sleep, but doesn't wake up pogo 11 7,421 08-31-2023, 04:20 PM
Last Post: TRS-80
  Would a Pinebook Pro be good for a Linux newbie? cassado10 6 2,509 08-08-2023, 04:58 AM
Last Post: moobythegoldensock

Forum Jump:


Users browsing this thread: 1 Guest(s)