Gentoo Linux test image
#1
I took an experimental stage3 tarball for arm64 (http://distfiles.gentoo.org/experimental/arm64/) and integrated that with longsleep's simple-image to get a working solution. For the actual installation I just plugged the card into a cardreader and used the normal Ubuntu image to bootstrap the system. Following the Gentoo installation handbook works just like normal, just skip the parts about building a kernel / installing a bootloader of course... so if you want to try running Gentoo on the Pine, feel free to play with this test image:

http://itsdave.co.uk/pine64/Gentoo/gentoo-pine64-20160804.img.gz  md5sum: 2F049A4C2C16A3AF827E5A43C6C46DEB

Upload fixed, thanks to ItsDave for hosting the file!

I upgraded the packages of the stage 3 tarball and rebuilt most packages on the live system afterwards, added longsleep's platform scripts and corekeeper is already running in the background. So far I didn't hit any obstacles with installing / compiling packages for ARM64...

A dhcp client and a sshd are listening on eth0 and the default user/pw is 'gentoo/gentoo' , root password is also 'gentoo' so you might want to change that :-)

Of course this all comes with no warranty for anything whatsoever, but if you have a need for Gentoo, you probably already know what you are doing.

There will be no official support for this image, but feel free to ask questions and suggest additions to the base image!

--------------------------------------------------------------------------

2016-08-07 Update 1: If you run out of RAM while building larger projects (especially C++ ), try setting MAKEOPTS="-j3" instead of -j5

--------------------------------------------------------------------------

2017-01-15 Update 2: As shaggy013 pointed out, there are actually autobuilds for arm64 stage3 tarballs : http://ftp.halifax.rwth-aachen.de/gentoo...ge3-arm64/

--------------------------------------------------------------------------
Come have a chat in the Pine IRC channel >>
#2
Thanks again, Xalius ! Very nice work !

I am testing this image right now, actually ! The image seems solid, stable, and has what most of us gnu+linux Geeks expect...

... I have noticed only one small baby tiny omission... vim is not there... not to worry, you can add it if you want to !

In place of vim you may use nano until you get vim loaded ! Wink
marcushh777    Cool

please join us for a chat @  irc.pine64.xyz:6667   or ssl  irc.pine64.xyz:6697

( I regret that I am not able to respond to personal messages;  let's meet on irc! )
#3
Good morning Pinesters !

Ok, for those of you new to Gentoo, I'm here to show you how to install an app in Gentoo. Its a little different, because it does not download a binary blob and place it in /usr/bin !!

The installation process actually merges the apps source, by downloading the required packages sources and compiling them on-the-fly as it installs them ! The upside to this process is that the Gentoo system matches YOUR hardware and configuration very perfectly--- its clean, solid, and stable. Ok, let's install the missing vim app; the vim app is an app-editor.

first make yourself root:

su -

logon with the root password (default for Gentoo, is gentoo)

The following command will show you what is required without doing anything; very safe:

emerge -pv app-editor/vim-core

The following command will actually merge the product and install vim on your system, after you respond Yes

emerge -a app-editor/vim-core

^^^
The above command (in this case) is a six step installation. Yes, you do have to be connected to the Internet with a good link. The process actually builds the vim-core dependencies and sources on-the-fly while you watch... its an educational and fascinating process (and you'll learn a lot about gnu+linux in the process). Warning, it does take some time; this six step process took about ten minutes on my system.

hav'fun , and stay positive (attitude is everything)
marcushh777    Cool

please join us for a chat @  irc.pine64.xyz:6667   or ssl  irc.pine64.xyz:6697

( I regret that I am not able to respond to personal messages;  let's meet on irc! )
#4
Thanks Mark for the short introduction on how to merge (install) packages in Gentoo. There are two more specialities people will likely encounter while doing basic package management:

1.) Installing a package that is "masked" : Packages can be masked (prevented from installing) for various reasons (like incompatible architecture, conflict with other packages), the most common reason is that a package is marked as unstable on a given architecture (KEYWORD: ~i386 , ~arm64...). Currently a lot of packages for arm64 have that flag. The emerge command will complain and tell you what to do then (add the particular package to the package.accept_keywords file mostly) to make an exception. You can globally accept ~arm64 packages, but that is usually not recommended (add ACCEPT_KEYWORDS="~arm64" in make.conf).

2.) If a configuration file in /etc/... is updated by a package, emerge will tell you about that and ask you to merge the changes. This is different compared to most other distros. You can either merge the config files manually or use one of the tools provided, mainly running dispatch-conf or etc-update. Those tools will in most cases automatically merge the changes, but in case of conflicts you have to do it manually.

Refer to the Gentoo handbook for configuring the system and working with the portage package system:

https://wiki.gentoo.org/wiki/Handbook:AM...stallation
https://wiki.gentoo.org/wiki/Handbook:AM...ll/Working
https://wiki.gentoo.org/wiki/Handbook:AM...ll/Portage
https://wiki.gentoo.org/wiki/Handbook:AM...Networking

The next step for me is finding out what sane CFLAGS for arm64 / Cortex A53 are, at the moment I use:

CFLAGS="-march=armv8-a+crc -mtune=cortex-a53 -ftree-vectorize -O2 -pipe -fomit-frame-pointer"
Come have a chat in the Pine IRC channel >>
#5
We just found out (thanks to Chrishas from IRC) that building larger C++ projects (llvm in this case) with -j5 (5 threads in parallel) is too much for the Pine with 2GB RAM, running out of memory... so I would recommend to set MAKEOPTS="-j3" instead of -j5 in /etc/portage/make.conf and override that if necessary for lighter builds...
Come have a chat in the Pine IRC channel >>
#6
Heard of Gentoo (supposedly named for the fastest swimming penguin) but never had the nerve to mess with it. Maybe I'll dedicate another microSD card to seeing if I can get this up and running.
#7
(08-28-2016, 09:17 AM)jkmooney Wrote: Heard of Gentoo (supposedly named for the fastest swimming penguin) but never had the nerve to mess with it.  Maybe I'll dedicate another microSD card to seeing if I can get this up and running.

Its a blast !  I'm loving it, really.
marcushh777    Cool

please join us for a chat @  irc.pine64.xyz:6667   or ssl  irc.pine64.xyz:6697

( I regret that I am not able to respond to personal messages;  let's meet on irc! )
#8
Glad to see some other Gentoo users running it on the Pine.
After stumbling across this thread this morning I did my own install on my A64+ 2GB board.

i didn't end up using your image. i just downloaded the base Debian image with longsleep's current kernel on it, booted into that, and used it as an install disk.
Worked fine. I'm still using that kernel, with root and swap on a usb hosted SSD. 

Should i ever need to get back into Debian, I can boot with the original uEnv.txt that I backed up.

It's still updating world after a portage sync. 

Next thing I want to try is try to get longsleeps building environment working on it and compile the kernel natively.
Then get X working. Sounds like longsleep has made some progress on acceleration working, at least for video decoding. I haven't read the threads enough to know how far he's gotten.
Last time I checked in (at initial ship time) any acceleration was a distant , if ever, thing.

Update: Ahh I see only video decode acceleration is possible at this time, oh well. X acceleration would be great, but the obstacles seem firmly in place.
#9
If this is a good candidate for its own post, please adjust.  In fact, might I suggest a title: distcc Octapine64.

distcc distributes compile tasks among participating hosts.  Gentoo is a source based distribution that must be compiled when installed.

I ran on gentoo for years.  It's where I went when I dropped RedHat.  I switched to Ubuntu when I went to work at Verizon as a network analyst, which "required" me to stop developing as a term of employment.  Which was bravo sierra, and I ended up quitting, for that and other reasons, mostly having to do with their willful wanton incompetence.  (And no, I'm not worried about saying this in a post and "having it come back to hurt me."  Were that ever to be the case, such a client or employer would not be for me anyway.)

I found this post while looking for any post on distcc.  distcc is a gentoo'rs best friend.  And distcc looks like it now even (haven't touched this stuff in about six years...) works for config too!  

Portage kicks arse.  gentoo is the easiest way I know of to get absolutely exactly what you want, no more and no less, on a system build.  The only thing that might beat it is linux from scratch, but only if you really, really, really know what you're doing, and have lots of time to do it.  :-)

Until you've built your own kernel, well... you haven't.  That alone opens you up to the wide wide world of supported hardware kit.  Gentoo provides the difference between theory and experience.  ("Knowledge" without experience is JUST an idea.  And those do not count for much.)

In gentoo, everything is normally compiled.  Everything.  Thus distcc.

Talk about a cheap and powerful cluster, get eight pine64s (one of them a 2G, and one eight port switch, and you've got some serious kit.  An Octapine(64).  All for well under $400, easily.  Cheap on gas too.  Go for the 1Gs, with gigabit ethernet.


Fact is, affordable clustering will be one of pine64's shinning distinctions.  From blender to node.js, to ... this is FUN!  hardkernel's Odroids are our closest competition, and they cannot touch us on price, price being an X factor in clusters.

This Octapine64 will be one heck of a build tool.  Cross compile, and its good for every supported instruction set/architecture.  Especially once we get the mali kit working.  And NEON.  I'd be very surprised if we don't blow up in the gentoo community.  It's a no-brainer, and they are smart people.

BTW, I like the pine64.org site migration to wordpress/woocommerce.  Nice.  And the pending padi.  OMG.  I've been looking for a device like this for about three years.  Gonna have a working product soon, better, cheaper and easier than I could have imagined, if padi lives up to its advanced notice.

LOVE IT!!!


David
David, the lip smacking pirate hedgehog.  "SHIVER me timbers!"  
#10
[From xalius]  "... but if you have a need for Gentoo, you probably already know what you are doing."

Not really but, just got a new SD card and Xenial wouldn't give me a window manager so DAMN THE TORPEDOES, FULL SPEED AHEAD!!!

Smile


Possibly Related Threads…
Thread Author Replies Views Last Post
  NEMS Linux 1.5 Released for A64/A64+, A64-LTS/SOPine, Rock64, RockPro64 (NAGIOS) Baldnerd 4 10,111 03-28-2020, 06:20 PM
Last Post: ty1911
  Howto run Linux with resolution other than 1080p longsleep 28 71,031 06-13-2019, 01:53 AM
Last Post: Nilda
  NEMS Linux for Pine A64 (+) Luke 1 5,532 05-09-2019, 05:42 PM
Last Post: pineadmin
  Pine Board using linux stuck during boot sequence ktaragorn 4 9,117 03-30-2019, 06:48 AM
Last Post: ktaragorn
  Real-time linux kernel Artyom 45 80,615 09-11-2018, 01:08 AM
Last Post: zzwpine
  linux distribution hazerty 3 6,742 04-01-2018, 02:48 PM
Last Post: dkryder
  Linux Web Server OS harcrow 2 6,268 01-30-2018, 10:26 AM
Last Post: Rustproof
  Gentoo for pine64 - longsleep kernel incoherent 0 3,884 12-09-2017, 08:14 AM
Last Post: incoherent
  Found this fully working RASPBIAN Image that boots to desktop speedro86 21 31,657 10-07-2017, 10:06 PM
Last Post: speedro86
  eta linux image?? firosiro 1 4,472 08-03-2017, 10:05 PM
Last Post: pfeerick

Forum Jump:


Users browsing this thread: 1 Guest(s)