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 12:49:34
Message-Id: 33e2d2b33d955bdadd7b36b7e776d5eb@sandien.com
In Reply to: Re: [gentoo-soc] Gentoo musl Support Expansion for Qt/KDE Week 8 by cat@catcream.org
1 I would also suggest not putting this off until week 12 -- it takes time
2 to work back and forth and make changes. Also, if you are working with
3 other people, they are just as busy as you needing to crank out the last
4 bits, and need whatever lead-time their schedules require. Last minuite
5 requests always mess things up.
6
7 On Aug 8 2022 7:39 AM, cat@××××××××.org wrote:
8 > Okay I got you, sure!
9 >
10 >
11 >
12 > Aug 8, 2022, 13:18 by ebo@×××××××.com:
13 >
14 >> When you get the draft of step-by-step doc, sit down and do a clean
15 >> install and follow the step-by-step to verify that it works as
16 >> documented. Maybe if you have someone that can beta test things, they
17 >> can verify the final docs.
18 >>
19 >> Anyway, that is all I meant.
20 >>
21 >> EBo --
22 >>
23 >>
24 >> On Aug 8 2022 6:58 AM, cat@××××××××.org wrote:
25 >>
26 >>> Yes! I have week 12 fully dedicated to writing documentation
27 >>> actually.
28 >>> I have written some notes but I'll also use my daily blogs to remind
29 >>> me of what to write about :)
30 >>>
31 >>> What do you mean by "and verification that they are really up to
32 >>> date", like so the older docs are really up to date? For the
33 >>> PinePhone
34 >>> Pro in particular I'd like to do something like this
35 >>> https://wiki.gentoo.org/wiki/PinePhone but with a lot more
36 >>> information.
37 >>>
38 >>>
39 >>>
40 >>> Aug 8, 2022, 02:33 by ebo@×××××××.com:
41 >>>
42 >>>> I'm not one of your mentors (I am a former GSOC intern and mentor;
43 >>>> which explains why I am still on the lists).
44 >>>>
45 >>>> All of this sounds like wonderful progress. The one thing I have
46 >>>> not seen you mention is documentation, quick-starts, and
47 >>>> verification that they are really up to date. Spending a week or
48 >>>> two on those to polish then up would be a wonderful addition.
49 >>>>
50 >>>> EBo --
51 >>>>
52 >>>> On Aug 7 2022 8:01 PM, cat@××××××××.org wrote:
53 >>>>
54 >>>>> This week I've spent most of my time getting Gentoo musl to run on
55 >>>>> my
56 >>>>> PinePhone Pro and packaging mauikit apps. I have also done some
57 >>>>> minor
58 >>>>> testing on KDE applications and some other miscellaneous things.
59 >>>>>
60 >>>>> In my proposal I had initially planned on porting KDE applications
61 >>>>> and
62 >>>>> making them build on Gentoo musl the following two weeks, and then
63 >>>>> making sure test suites run the week following that. But I've
64 >>>>> already
65 >>>>> gotten kde-apps-meta installed and the programs are working well
66 >>>>> for
67 >>>>> the most part. Though I haven't enabled every use flag for the KDE
68 >>>>> apps and I haven't ran every test suite so there's definitely work
69 >>>>> to
70 >>>>> do left, just not 3 weeks work. So instead I asked Sam if I could
71 >>>>> spend some time working on getting Gentoo musl to run on my
72 >>>>> PinePhone
73 >>>>> Pro with Plasma Mobile as a side project.
74 >>>>> <!--more-->
75 >>>>>
76 >>>>> Starting with the PinePhone. The Gentoo install itself was pretty
77 >>>>> smooth and I didn't run into any major issues. But I really got
78 >>>>> stuck
79 >>>>> on some other more low level and non-Gentoo bits.
80 >>>>> The first issue I ran into was when I installed a new kernel onto
81 >>>>> it.
82 >>>>> Apparently a single developer called Megi does most of the PPP
83 >>>>> kernel
84 >>>>> development so I installed his kernel. Confusingly his development
85 >>>>> branch is called "orange-pi-5.x" and it took me some time figuring
86 >>>>> that out :D. Anyways, the compilation itself was straight forward,
87 >>>>> and
88 >>>>> the defconfig _almost_ worked well. I stole the bootloader
89 >>>>> configuration from PostmarketOS, rsync:ed the kernel + dtbs, and
90 >>>>> then
91 >>>>> changed some relevant parts in the bootloader config. Sadly the
92 >>>>> phone
93 >>>>> did not boot, and there was no output to be seen on the screen :/.
94 >>>>> After reading the wiki I found out that I could connect via serial
95 >>>>> through the headphone jack. I used an RS232-to-USB adapter and
96 >>>>> soldered it onto the internal wires of a 3.5mm cable. For output
97 >>>>> this
98 >>>>> did work, but when connecting TX to also get input, the output just
99 >>>>> got messed up and I couldn't read it. I tried to debug this and
100 >>>>> also
101 >>>>> seeked help from others, but ultimately couldn't get it to work.
102 >>>>> Luckily the only thing I needed was output because I saw in the
103 >>>>> bootlog that EFI stub was missing from the kernel. Enabling that
104 >>>>> and
105 >>>>> generating an initramfs made the phone boot!
106 >>>>>
107 >>>>> Then I started emerging some packages, and even though I had the
108 >>>>> charger plugged in, the phone completely discharged after a while.
109 >>>>> After that the phone did not want to boot and I tried all kinds of
110 >>>>> things, like booting from SD card, reflashing bootloader, trying
111 >>>>> different cables and nothing worked ... It turned out that the
112 >>>>> bootloader (Tow-boot) had a bug that made the phone not charge
113 >>>>> after
114 >>>>> the battery as emptied, and I needed to boot it into a special mode
115 >>>>> holding a button with a sim card opener.
116 >>>>>
117 >>>>> After that I set up distcc with cross compilation, and there came
118 >>>>> the
119 >>>>> second issue. "__aarch64_cas4_sync undefined symbol". I asked Sam
120 >>>>> and
121 >>>>> he said it probably was a distcc issue. Because of me not wanting
122 >>>>> to
123 >>>>> run into this again I tried the aarch64-gentoo-linux-musl-emerge
124 >>>>> wrapper instead. This worked for the most part, but I had trouble
125 >>>>> with
126 >>>>> copying over my phones configuration to /usr/.../etc/portage.
127 >>>>> I then learned about the ROOT, SYSROOT, and PORTAGE_CONFIGROOT
128 >>>>> variables. Toghether with sshfs I could easily emerge packages for
129 >>>>> the
130 >>>>> phone on my PC without using something slow like qemu-user, nice!
131 >>>>> I emerged a lot of packages like this and noticed that the program
132 >>>>> dispatch-conf did not honour the variables. This was easy to fix
133 >>>>> and I
134 >>>>> PR:ed it here https://github.com/gentoo/portage/pull/881.
135 >>>>>
136 >>>>> I have also created a lot of ebuilds for Mauikit apps, these are
137 >>>>> cross
138 >>>>> platform KDE applications that look great on smaller devices like
139 >>>>> phones. https://github.com/gentoo/kde/pull/910/commits. They also
140 >>>>> work
141 >>>>> great on my PC.
142 >>>>>
143 >>>>> All in all I've spent most my time this week working on the
144 >>>>> PinePhone,
145 >>>>> and the two following weeks I'll do a lot of testing for the KDE
146 >>>>> applications.
147 >>>>>