~mil/framebufferphone-devel

1

Tips for building on Arch Linux ARM

Details
Message ID
<SJ0PR17MB562186661362AB99A0C18F47D9069@SJ0PR17MB5621.namprd17.prod.outlook.com>
DKIM signature
missing
Download raw message
I'm looking to build fbp on Danctnix Arch ARM, but don't know where to start. Which parts of the fbp UI are postmarketos specific? I can't imagine that any f_scripts are special pmOS, since they're based on oilshell. Any pointers to building on Arch would be helpful, i'll give it a shot without any modifications on Monday (busy weekend.)
Details
Message ID
<c97e21fd-d029-4578-a28d-32e35a620d94@www.fastmail.com>
In-Reply-To
<SJ0PR17MB562186661362AB99A0C18F47D9069@SJ0PR17MB5621.namprd17.prod.outlook.com> (view parent)
DKIM signature
missing
Download raw message
On Fri, Mar 4, 2022, at 11:19 PM, Bobby Hamblin wrote:
> I'm looking to build fbp on Danctnix Arch ARM, but don't know where to 
> start. Which parts of the fbp UI are postmarketos specific? I can't 
> imagine that any f_scripts are special pmOS, since they're based on 
> oilshell. Any pointers to building on Arch would be helpful, i'll give 
> it a shot without any modifications on Monday (busy weekend.)

Running on Arch shouldn't be too hard; nothing with framebufferphone
was built specifically with pmOS in mind. I'd think the process from a
barebones Arch/Danctnix install, would look approximately like:

1. Install deps for fbp: freetype-dev, linux-headers equivalents on Arch
  - Reference APKBUILD: https://git.alpinelinux.org/aports/tree/testing/fbp/APKBUILD
2. Install zig 0.8.1 via source
  - Unfortunately Alpine is stuck at zig 0.8.1 and thus I'm targetting
    fbp against 0.8.1 currently. Arch is ahead at 0.9.1. In the interim
    you could build a custom arch package for zig 0.8.1 or simpler just
    install from zig's binaries.
  - You could use this script to fetch the 0.8.1 binary for zig and install to system:
    https://paste.sr.ht/~mil/b87158f18076d174aa4d30d8d550b99c9908645e
  - Above script could be run with: `./zig_upd.sh 0.8.1`
3. Run `zig build` and copy fbp binary to /usr/bin e.g. like APKBUILD does
4. Run `fbp` making sure to `modeprobe uinput` kernel module beforehand; note, 
   openrc service on postmarketos autostarts fbp on boot, similar methodology
   could be used in systemd for autostarting on boot, see:
   https://gitlab.com/postmarketOS/pmaports/-/blob/master/main/postmarketos-ui-framebufferphone/fbp.init

At that point you'd have `fbp` (the graphical UI & button bindings/touch
interface itself) installed. Note there is *no* dependency between
`fbp` and `f_scripts`. So you could test UI with fbp at this point. As
for f_scripts, each f_script is standalone (and on alpine its own
subpackage). You can reference the dependencies for each script at:
https://git.alpinelinux.org/aports/tree/testing/f_scripts/APKBUILD

Let me know how you make out, would be awesome to see ported to Arch as
I'm a fan there too. Also if you havn't already, maybe check things out
on pmOS too via pmbootstrap to get a sense of how things works / inspect
system.  Basically only thing that runs as daemon is `fbp` binary so as
long as you get that compiled, your set; f_scripts are just niceties.


Miles
Reply to thread Export thread (mbox)