Gentoo Archives: gentoo-soc

From: EBo <ebo@×××××××.com>
To: gentoo-soc@l.g.o
Cc: cat@××××××××.org
Subject: Re: [gentoo-soc] Gentoo musl Support Expansion for Qt/KDE Week 8
Date: Mon, 08 Aug 2022 00:33:50
Message-Id: 182a47071dee4f163b82369253810c8d@sandien.com
In Reply to: [gentoo-soc] Gentoo musl Support Expansion for Qt/KDE Week 8 by cat@catcream.org
1 I'm not one of your mentors (I am a former GSOC intern and mentor; which
2 explains why I am still on the lists).
3
4 All of this sounds like wonderful progress. The one thing I have not
5 seen you mention is documentation, quick-starts, and verification that
6 they are really up to date. Spending a week or two on those to polish
7 then up would be a wonderful addition.
8
9 EBo --
10
11 On Aug 7 2022 8:01 PM, cat@××××××××.org wrote:
12 > This week I've spent most of my time getting Gentoo musl to run on my
13 > PinePhone Pro and packaging mauikit apps. I have also done some minor
14 > testing on KDE applications and some other miscellaneous things.
15 >
16 > In my proposal I had initially planned on porting KDE applications and
17 > making them build on Gentoo musl the following two weeks, and then
18 > making sure test suites run the week following that. But I've already
19 > gotten kde-apps-meta installed and the programs are working well for
20 > the most part. Though I haven't enabled every use flag for the KDE
21 > apps and I haven't ran every test suite so there's definitely work to
22 > do left, just not 3 weeks work. So instead I asked Sam if I could
23 > spend some time working on getting Gentoo musl to run on my PinePhone
24 > Pro with Plasma Mobile as a side project.
25 > <!--more-->
26 >
27 > Starting with the PinePhone. The Gentoo install itself was pretty
28 > smooth and I didn't run into any major issues. But I really got stuck
29 > on some other more low level and non-Gentoo bits.
30 > The first issue I ran into was when I installed a new kernel onto it.
31 > Apparently a single developer called Megi does most of the PPP kernel
32 > development so I installed his kernel. Confusingly his development
33 > branch is called "orange-pi-5.x" and it took me some time figuring
34 > that out :D. Anyways, the compilation itself was straight forward, and
35 > the defconfig _almost_ worked well. I stole the bootloader
36 > configuration from PostmarketOS, rsync:ed the kernel + dtbs, and then
37 > changed some relevant parts in the bootloader config. Sadly the phone
38 > did not boot, and there was no output to be seen on the screen :/.
39 > After reading the wiki I found out that I could connect via serial
40 > through the headphone jack. I used an RS232-to-USB adapter and
41 > soldered it onto the internal wires of a 3.5mm cable. For output this
42 > did work, but when connecting TX to also get input, the output just
43 > got messed up and I couldn't read it. I tried to debug this and also
44 > seeked help from others, but ultimately couldn't get it to work.
45 > Luckily the only thing I needed was output because I saw in the
46 > bootlog that EFI stub was missing from the kernel. Enabling that and
47 > generating an initramfs made the phone boot!
48 >
49 > Then I started emerging some packages, and even though I had the
50 > charger plugged in, the phone completely discharged after a while.
51 > After that the phone did not want to boot and I tried all kinds of
52 > things, like booting from SD card, reflashing bootloader, trying
53 > different cables and nothing worked ... It turned out that the
54 > bootloader (Tow-boot) had a bug that made the phone not charge after
55 > the battery as emptied, and I needed to boot it into a special mode
56 > holding a button with a sim card opener.
57 >
58 > After that I set up distcc with cross compilation, and there came the
59 > second issue. "__aarch64_cas4_sync undefined symbol". I asked Sam and
60 > he said it probably was a distcc issue. Because of me not wanting to
61 > run into this again I tried the aarch64-gentoo-linux-musl-emerge
62 > wrapper instead. This worked for the most part, but I had trouble with
63 > copying over my phones configuration to /usr/.../etc/portage.
64 > I then learned about the ROOT, SYSROOT, and PORTAGE_CONFIGROOT
65 > variables. Toghether with sshfs I could easily emerge packages for the
66 > phone on my PC without using something slow like qemu-user, nice!
67 > I emerged a lot of packages like this and noticed that the program
68 > dispatch-conf did not honour the variables. This was easy to fix and I
69 > PR:ed it here https://github.com/gentoo/portage/pull/881.
70 >
71 > I have also created a lot of ebuilds for Mauikit apps, these are cross
72 > platform KDE applications that look great on smaller devices like
73 > phones. https://github.com/gentoo/kde/pull/910/commits. They also work
74 > great on my PC.
75 >
76 > All in all I've spent most my time this week working on the PinePhone,
77 > and the two following weeks I'll do a lot of testing for the KDE
78 > applications.