[Librem-5-dev] Building and testing your own kernel

Andy Green andy at warmcat.com
Fri Dec 28 14:49:31 PST 2018

On 28/12/2018 20:01, Andy Green via Librem-5-dev wrote:
> On 28/12/2018 19:48, Guido Günther wrote:
>> Hi,
>> On Fri, Dec 28, 2018 at 09:48:24AM +0100, Guido Günther wrote:
>>> Hi,
>>> On Fri, Dec 28, 2018 at 10:04:16AM +0800, Andy Green via Librem-5-dev 
>>> wrote:
>>>> On 28/12/2018 07:18, David Boddie via Librem-5-dev wrote:
>>>>> On Thu Dec 27 03:43:39 PST 2018, Dorota Czaplejewicz wrote:
>>>>>> Hi Andy,
>>>>>> thank you for doing that work. We're normally building the kernel
>>>>>> using image-builder [0], and we're currently using .debs for the
>>>>>> kernel.
>>>>> Thanks, Andy!
>>>>>> I feel like this information belongs on some wiki, but we don't
>>>>>> have one set up yet. I've started putting random useful info on
>>>>>> my own page [1]. David, do you have any ideas?
>>>>> I have been using my fork of the documentation for stashing notes
>>>>> about things:
>>>>> https://source.puri.sm/david.boddie/developer.puri.sm/wikis/home
>>>>> We could just enable the wiki for the documentation:
>>>>> https://source.puri.sm/Librem5/developer.puri.sm/wikis/home
>>>>> Andy, does that sound like it might be a useful place for you to
>>>>> put stuff? We could use it as a staging area for things that
>>>>> should end up in the documentation.
>>>> Yes I think you're going to need the wiki.  Many developers will stay
>>>> on-piste and just follow the blessed, existing flow, but part of the 
>>>> whole
>>>> idea is some won't.  Then it will get expensive doing 1:1 chat for 
>>>> every
>>>> detail needed to get them started.
>>>> Information rots quickly but even so it usually doesn't all rot at 
>>>> the same
>>>> rate and is worth keeping for a while.  At least information in the 
>>>> wiki
>>>> that is rotting can be updated by others when they see it's out of 
>>>> date,
>>>> which is harder to do for "documentation".
>>>> I cloned it, added an article .md by hand, and registered my ssh 
>>>> pubkey with
>>>> the site, but I can't push it back.
>>>> $ git push 
>>>> ssh://warmcat@source.puri.sm/Librem5/developer.puri.sm.wiki.git
>>>> +master:master
>>>> warmcat at source.puri.sm's password:
>>> For changes to the official docs (which you're trying to push directly
>>> to when using the above URL) you want to fork the repo first
>>>       https://source.puri.sm/Librem5/developer.puri.sm/forks/new
>>> to get your own copy. If you then push changes to that repo on a branch
>>> different than master gitlab will show you an URL to create a merge
>>> request. More details are here:
>>>       https://docs.gitlab.com/ee/gitlab-basics/add-merge-request.html
>>> The upside is that the CI tests run on the MRs right away making sure
>>> the sphinx docs still build correctly.
>> As Dorota pointed out to me you wanted to push to the wiki not the dev
>> docs repo. The URL there is
>>      git at source.puri.sm:Librem5/developer.puri.sm.wiki.git
>>      ^^^
> Ah got it, thanks.
> I'll give this another go in the morning.

The wiki stuff is pretty opaque for casual use.  It ends well but there 
are some hidden steps...

1) Initially you must git clone the wiki as it advises [1]

  $ git clone ssh://git@source.puri.sm:/Librem5/developer.puri.sm.wiki.git

2) Then you push it to your own account blind, like a manual fork 
(because there is no fork UI for the wiki...)

$ git push ssh://git@source.puri.sm:/warmcat/developer.puri.sm.wiki.git

3) In your own account, this git repo does not have any UI footprint as 
would a logical forked repo.  If you try to synthesize the appropriate 
URL to see it like other git repos, it's a 404.

4) The trick is it has logically become "the wiki" on your account. 
Click the wiki button on the left-hand vertical navigation bar on your 
pages, it will go to:


5) From here, since it's "your" wiki, you have extra buttons for "New 
page", "Edit" etc, and you can edit and preview the markdown how you 
like in the browser.

6) Since this is changing the remote git repo, editing in that way loses 
sync with your local cloned copy.  But you can sync your local copy with 
the changes made in the browser UI

$ git pull ssh://git@source.puri.sm:/your-account/developer.puri.sm.wiki.git

The end result is you can see my changes here


I have also written up these steps there (and moved the information 
about wiki style there off the main page).


[1] https://source.puri.sm/Librem5/developer.puri.sm/wikis/git_access
[2] https://source.puri.sm/warmcat/developer.puri.sm.wiki/  and ... 

More information about the Librem-5-dev mailing list