Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Architectures & Platforms Gentoo on ARM
  • Search

Raspberry Pi 3 - 64 Bit Operation

Gentoo on all things ARM. Both 32 bit and 64 bit.
Tell about your hardware and CHOST.
Problems with crossdev targeting ARM hardware go here too.
Post Reply
  • Print view
Advanced search
119 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next
Author
Message
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Wed Apr 13, 2016 4:44 pm

Yamakuzure,

In view of the possibility of later fails, I started libreoffice again, this time with no distcc and -j1.
Even so, its using 75Mb of swap just now and that seems to be increasing.
I wonder if there is a memory leak in the build system?

After 20 hours building, the log is 6.8Mb. A completed amd64 log is just over 20Mb, so it looks like a late Friday finish.

That will be just in time for me to do the stub, u-boot and the kernel.

My /etc/portage/package.accept_keywords/libreoffice is

Code: Select all

<media-libs/libvisio-9999 **
<app-text/libetonyek-9999 **
<dev-libs/libixion-9999 **
=media-libs/glm-0.9.7.2 **
=sci-libs/suitesparseconfig-4.2.1 **
=sys-devel/boost-m4-0.4_p20160328 **
=app-text/libebook-0.1.2-r1 **
<sys-devel/ucpp-9999 **
=app-text/libexttextcat-3.4.4 **
<dev-util/mdds-9999 **
=dev-cpp/libcmis-0.5.1 **
<app-text/libodfgen-9999 **
=sci-mathematics/lpsolve-5.5.2.0 **
<app-text/libmspub-9999 **
<app-text/libmwaw-9999 **
<media-libs/libfreehand-9999 **
<dev-libs/liborcus-9999 **
=dev-libs/rasqal-0.9.32 **
=dev-db/unixODBC-2.3.2-r2 **
=sci-libs/colamd-2.8.0 **
<dev-libs/librevenge-9999 **
<media-libs/libpagemaker-9999 **
<media-libs/libcdr-9999 **
=app-text/mythes-1.2.4 **
=app-office/libreoffice-5.1.2.2 **
=dev-libs/hyphen-2.8.8 **
=media-fonts/libertine-5.3.0.20120702-r2 **
=app-text/libwpd-0.10.1 **
=app-text/liblangtag-0.5.8 **
=dev-libs/redland-1.0.17-r1 **
=dev-cpp/clucene-2.3.3.4-r5 **
=media-libs/raptor-2.0.14 **
=app-text/libwps-0.4.3 **
=app-text/libwpg-0.3.1 **
<net-misc/npapi-sdk-9999 **
=app-text/libabw-0.1.1 **
=app-office/libreoffice-l10n-5.1.2.2 **
If libreoffice builds and runs, I'll file a keywording bug for the above, with the exact versions I have installed.

I'm tempted to do an aarch64-unknown-linux-gnu-emerge -K from my aarch64 BINHOST, to get my cross build system updated.
That should let me cross compile things that depend on perl, since it will install things that won't cross compile. It turn, that will keep aarch64-unknown-linux-gnu-emerge happy.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Thu Apr 14, 2016 4:29 pm

Yamakuzure,

Ewww building on the SD card. I have everything except /boot on USB.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Fri Apr 15, 2016 6:08 am

NeddySeagoon wrote:Yamakuzure,

Ewww building on the SD card. I have everything except /boot on USB.
Yeah, distcc does wonders here.

However, I can't get the VideoCore to show up in dmesg. All I get is, that cma-vc4 reserved 0,0MiB.

I *think* it is because of vc4 being missing in the device tree in both Zeldins and Electron752 forks.
Unfortunately finding out which .dts(i) is the right to use from Steven Anholts Repo isn't trivial. If you filter his branches on GitHub for "vc4" there are a lot showing up. Will do some more research then.

In the meantime I have updated both Electron752s kernel and boot aprtition to the latest so I do not miss any updates.

I'll report back when I have VC4 up and running.
Edited 220,176 times by Yamakuzure
Top
EvadingGrid
n00b
n00b
Posts: 13
Joined: Thu Apr 04, 2013 2:59 pm
Contact:
Contact EvadingGrid
Website

  • Quote

Post by EvadingGrid » Fri Apr 15, 2016 10:08 am

VC4 :D
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Sat Apr 16, 2016 8:35 am

libreoffice built.

I'll set up git and learn to keyword things.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
steveL
Watchman
Watchman
Posts: 5153
Joined: Wed Sep 13, 2006 1:18 pm
Location: The Peanut Gallery

  • Quote

Post by steveL » Sat Apr 16, 2016 12:22 pm

NeddySeagoon wrote:libreoffice built.
Woot!
I'll set up git and learn to keyword things.
Even better news. :-)
Top
safeness
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 105
Joined: Fri Jul 02, 2004 5:09 pm
Location: Eastside, WA

  • Quote

Post by safeness » Sat Apr 16, 2016 3:59 pm

Are you guys using zram-init by any chance? I've been using it to add 2G of swap and compile with MAKEOPTS=-j5 and it works like a champ. Granted, I haven't built libreoffice with that so you might need to dial that back.
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Mon Apr 18, 2016 12:17 pm

safeness wrote:Are you guys using zram-init by any chance? I've been using it to add 2G of swap and compile with MAKEOPTS=-j5 and it works like a champ. Granted, I haven't built libreoffice with that so you might need to dial that back.
zram-init works great here with 1,5GB of swap.
Edited 220,176 times by Yamakuzure
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Mon Apr 18, 2016 5:08 pm

Code: Select all

USE="-gstreamer" emerge firefox -av
won't build.

I was expecting it to fail to link in 1G RAM but the build log ends with ...

Code: Select all

 /var/tmp/portage/www-client/firefox-45.0.1/work/firefox-45.0.1/ipc/chromium/src/base/atomicops_internals_arm_gcc.h:77:2: error: #error MemoryBarrier() is not implemented on this platfo
 #error MemoryBarrier() is not implemented on this platform.
  ^
/var/tmp/portage/www-client/firefox-45.0.1/work/firefox-45.0.1/ipc/chromium/src/base/atomicops_internals_arm_gcc.h:281:4: error: #error "Your CPU's ARM architecture is not supported ye
 #  error "Your CPU's ARM architecture is not supported yet"
which looks fairly terminal.

USE="-gstreamer" gets past media-video/ffmpeg-2.8.6 looking for windows.h, which we neither have nor want on Linux.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Mon Apr 18, 2016 5:17 pm

Summary so far ...

What doesn't work for me
On board WiFi
Sound. There are no sound devices in /dev/snd

Not tested
On board bluetooth.
Videocore 4 hardware acceleration.

What does work.
All four CPU cores
Framebuffer Console
USB and Wired network with DMA
Hardware random number generator
MicroSD card
Serial Port (Not used much any more)
Xfce4
(Xorg uses the framebuffer driver)
Libreoffice
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
Yamakuzure
Advocate
Advocate
User avatar
Posts: 2323
Joined: Wed Jun 21, 2006 11:06 am
Location: Adendorf, Germany
Contact:
Contact Yamakuzure
Website

  • Quote

Post by Yamakuzure » Tue Apr 19, 2016 10:48 am

Great Summary, Neddy.

I am still working on the device tree to get the VideoCore chip to be seen, starting off from Electron752's fork.

However, if I add the relevant parts like it is done in the anholt fork (bcm2837-64-next branch), the pixel clock can not be found.
Electron752 simply reuses an old 2708 device tree, where the clocks have been hard coded. If I upgrade to the newer design, USB stops working.

So I daresay I need a while more.

Unfortunately the "pros" aren't interested in VC4. I am. The RPi3 is meant to become a workstation here...
Edited 220,176 times by Yamakuzure
Top
Zucca
Moderator
Moderator
User avatar
Posts: 4688
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Fri Apr 29, 2016 4:01 pm

Hello folks.
I have bought RPi3, and Gentoo is my first choice for it.
I really do want to run full 64-bit operating system on it.
Gentoo would suit best, I think. Distcc could also help on compile times by a large margin. I have few octa-core AMD machines here that can help.
Anyway. How is this project giong? Does the WiFi work? What does not work at the moment?

Also... do you guys use heatsink(s) on your RPi3? I have few smaller ones lying around I could use...

EDIT: does this help on anything: https://github.com/gentoo/arm ?
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Fri Apr 29, 2016 4:20 pm

Zucca,

I don't have anything to add to my summary above. I suffered some build time issues which have stopped progress for a week or so.

I use a heatsink now and keep the lid off the case. The heatsink is too hot to touch during building, so its well over 50C.

WiFi crypto will use RAM and CPU time, which is probably a bad thing.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
antonlacon
Apprentice
Apprentice
Posts: 257
Joined: Sun Jun 27, 2004 1:36 am

  • Quote

Post by antonlacon » Sat May 07, 2016 1:03 am

I'm looking at cross-compiling the @system set and running into issues with packages not finding their dependencies. I'm using crossdev to do the heavy lifting.

Crossdev was set up with aarch64-unknown-linux-gnu, and the make.profile has been adjusted to an arm profile.

crossdev's make.conf (comments stripped) looks like:

Code: Select all

CHOST=aarch64-unknown-linux-gnu
CBUILD=x86_64-pc-linux-gnu
ARCH=arm64
HOSTCC=x86_64-pc-linux-gnu-gcc

CFLAGS="-march=armv8-a -mtune=cortex-a53 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
LDFLAGS="${LDFLAGS} -Wl,--hash-style=gnu -Wl,--sort-common"
MAKEOPTS="-j4"
ELIBC="glibc"
NPTL_KERN_VER="4.1.0"

ROOT="/mnt/raspi3-setup"
PORTAGE_CONFIGROOT="/usr/${CHOST}/"

ACCEPT_KEYWORDS="arm64 ~arm64"

FEATURES="userpriv usersandbox nodoc"
EMERGE_DEFAULT_OPTS="--buildpkg --buildpkg-exclude \"virtual/* sys-kernel/*-sources\" --binpkg-respect-use=y\
	 --with-bdeps=y --quiet-build=y"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-9e"

PKGDIR=/mnt/raspi3-packages
PORTAGE_TMPDIR="/var/tmp/cross-portage"

PKG_CONFIG_PATH="${ROOT}/usr/lib64/pkgconfig/"

USE="${ARCH} -pam"
FFTOOLS=""
An example build error is nano will not build because it cannot find ncurses. libncurses.so.6 (and friends) are all in $ROOT/lib64. The pkgconfig files are all in $ROOT/usr/lib64/pkgconfig.

Is there a variable I'm missing that tells aarch64-...-emerge where to look?
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Sat May 07, 2016 8:44 am

antonlacon,

I have

Code: Select all

PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
which I got free with crossdev.
/lib and /lib64 are not symlinked together on arm64, unlike amd64 /no-multilib/

I also found that I needed

Code: Select all

# where to find C++
CXX="/usr/x86_64-pc-linux-gnu/aarch64-unknown-linux-gnu/gcc-bin/5.3.0/aarch64-unknown-linux-gnu-g++"
to build things with optional C++ support.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
antonlacon
Apprentice
Apprentice
Posts: 257
Joined: Sun Jun 27, 2004 1:36 am

  • Quote

Post by antonlacon » Sun May 08, 2016 9:36 am

NeddySeagoon wrote:I have

Code: Select all

PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
which I got free with crossdev.
/lib and /lib64 are not symlinked together on arm64, unlike amd64 /no-multilib/
Would you verify $ROOTusr/lib/pkgconfig has .pc files in it? I changed it to the lib64 path as that's where those files were installing with the original value.
I also found that I needed

Code: Select all

# where to find C++
CXX="/usr/x86_64-pc-linux-gnu/aarch64-unknown-linux-gnu/gcc-bin/5.3.0/aarch64-unknown-linux-gnu-g++"
to build things with optional C++ support.
Thanks, I'll keep that in mind. All of my build failures (16 at present) involve failure to locate libraries or headers.
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Sun May 08, 2016 9:47 am

antonlacon,

Playing with ls and tab complete I get

Code: Select all

$ ls /usr/aarch64-unknown-linux-gnu/usr/lib/  
crda/        portage/     python-exec/ sendmail     tmpfiles.d/

$ ls /usr/aarch64-unknown-linux-gnu/usr/lib64/p
p11-kit/                pkgconfig/              python2.7/
p11-kit-proxy.so        pm-utils/               python3.4/
pkcs11/                 preloadable_libintl.so  
so there is no pkgconfig/ in lib, only in lib64.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
antonlacon
Apprentice
Apprentice
Posts: 257
Joined: Sun Jun 27, 2004 1:36 am

  • Quote

Post by antonlacon » Sun May 08, 2016 9:27 pm

Cheers.

Digging deeper, changing $ROOT from the default is discouraged: https://wiki.gentoo.org/wiki/Embedded_H ... th_Portage
Top
de-fiese-moeps
n00b
n00b
User avatar
Posts: 15
Joined: Thu Nov 17, 2005 12:47 pm

  • Quote

Post by de-fiese-moeps » Fri Jun 10, 2016 7:39 pm

Hello,
it works here aswell. Although I had to enable swap to compile with multiple processes. The only problem I currently have is that optimization with -march=native is rejected by gcc: test.c:1:0: error: unknown value ‘native’ for -march.
--Sint ut sunt aut non sint.--
[Accept them as they are or deny their existence.]
unknown
Top
Zucca
Moderator
Moderator
User avatar
Posts: 4688
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

Boot freezes?

  • Quote

Post by Zucca » Sat Sep 17, 2016 4:11 pm

I'm having problems with my RPi3. The boot freezes... kind of. It just stops. Looks like it does not execute openrc.
I've followed Neddy's guide.
I even put init=/sbin/openrc on cmdline.txt. I don't get any error messages, so I'm bit out of luck here.
I get text on the terminal and four raspberries show up. If I plug a keybopard I get text telling that kernel has recognized the device.

I'm pretty noob with these ARM boards. Especially with their early boot process (although this isn't so early boot). So bear with me. :?
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Sat Sep 17, 2016 5:33 pm

Zucca,

Bring it up with a serial console if you have a 3.3v serial to USB interface. Note that a 5v serial interface will destroy yor Pi..
You can capture that and pastebin it.
If you don't some images of the boot screen may be useful.

You can also try my /boot filesystem. As is, it expects root on USB.

Do you have rootwait on the kernel command line?
If root never becomes available, it will wait forever (hang).
Replace rootwait with rootdelay=30
After the 30 second timeout, the boot process will continue and try to mount root anyway.
If the rootfs isn't there, the console will tell you all about it.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
Zucca
Moderator
Moderator
User avatar
Posts: 4688
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Sat Sep 17, 2016 8:34 pm

Hi.
Thanks for the fast reply, Neddy.

I replaced rootwait with rootdelay=10, but the results are the same.
I don't have usb-serial cable.

Screenshot
Video
Gif

I have three partitions on my sdcard. /boot , swap and /. I've given labels to each partition so that in fstab those are found by LABEL=RPI3_BOOT for example.

EDIT: I haven't been able to correct the overscan issue. It seems to work on top and bottom (which is now correctly set), but left and right settings don't do anything. Although that's propably my crappy TV to blame.
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
Zucca
Moderator
Moderator
User avatar
Posts: 4688
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

Success!

  • Quote

Post by Zucca » Sun Sep 18, 2016 9:26 pm

SUCCESS!

Strangely enough (or just lack of knowledge) the problem lied in cmdline.txt. Or rather that it wasn't being used. Meaning that the pre set kernel command line was still in use.
However I read some U-boot guides from openmoko wiki and with them I was able to use setenv and saveenv -commands within the U-boot shell to set new kernel command line arguments. Mainly replacing root=/dev/sda1 to root=/dev/mmcblk0p3 and rootwait to rootdelay=10. Although I might want to increase that delay to 15.
Next I need to buy some fast (and small) USB2.0 storage for my Pi now. I wouldn't want to compile things on that sdcard. Also a big heat sink is in my to-buy -list.
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
Zucca
Moderator
Moderator
User avatar
Posts: 4688
Joined: Thu Jun 14, 2007 10:31 pm
Location: Rasi, Finland
Contact:
Contact Zucca
Website

  • Quote

Post by Zucca » Wed Sep 21, 2016 8:56 am

Hi Neddy.
NeddySeagoon wrote:if you have a 3.3v serial to USB interface.
Since I don't have one, I thought to get one for future needs.
Can you point me with a link (eBay maybe?), since I was unable to find one from local stores.
..: Zucca :..

Code: Select all

init=/sbin/openrc-init
-systemd -logind -elogind seatd
I am NaN! I am a man!
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56077
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Wed Sep 21, 2016 9:23 am

Zucca,

Heres one on Amazon
This one is mislabelled as a USB to TTL ... TTL is 5v. You really don't want 5v.
However, its also advertised to work with the Pi and its sold by a company who do a lot with the Pi and friends.
The four wires are Ground, Tx data, Rx data and Power. Power might just be 5v so don't connect it anywhere unless you have the means to check that first.
The wires go straight onto the GPIO pins on the Pi.

If you get a known Pi safe USB to serial adaptor, you will be OK.

Beware ebay, there are a lot of fakes around.

The one I have was provided many years ago by E-On. They gave me an energy monitor with a 3.3v serial port.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
Post Reply
  • Print view

119 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • Next

Return to “Gentoo on ARM”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy