Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
d3e6149
porting: Create new guide initial structure
abkro Nov 19, 2024
fc05df5
porting: Adapt conf.py and structure to
abkro Nov 20, 2024
b41d493
porting: Enter basic structure and contents in modern-porting and deb…
abkro Nov 20, 2024
6545010
porting: Added initial content to preparation section, includding cro…
abkro Nov 21, 2024
6087d59
porting: Correct formatting and add explanatory notes.
abkro Nov 21, 2024
e64c329
porting: Add introduction to README.md.
abkro Nov 21, 2024
ef4b52c
porting: Add reference section with complete list of deviceinfo param…
abkro Nov 24, 2024
6d7822e
porting: Add detailed info about deviceinfo parameters.
abkro Nov 24, 2024
d830530
porting: Correct various formatting errors and add some minor adjustm…
abkro Nov 24, 2024
01c7709
porting: Add subsection Halium Overview.
abkro Nov 25, 2024
d30e398
porting: Add subsection Hardware Abstraction Layer.
abkro Nov 25, 2024
80daeff
porting: Update instructions in README.md to include installing sphin…
abkro Nov 25, 2024
9d39624
porting: Add section Ubuntu Touch Architecture.
abkro Nov 25, 2024
f015729
porting: Correct some formatting errors.
abkro Nov 25, 2024
915f91e
porting: Add Halium Versions section.
abkro Nov 26, 2024
c643b6d
porting: Add subsection Build Systems under section Fundamentals.
abkro Nov 26, 2024
0c337d4
porting: Modify Halium Versions section to cover Halium 9/10 also.
abkro Nov 26, 2024
dc9729d
porting: Merge both Halium sections into one, keeping it in the Funda…
abkro Nov 26, 2024
05c50e0
porting: Add some labels.
abkro Nov 26, 2024
52b9feb
porting: Rework First Boot section, adding debugging info.
abkro Nov 27, 2024
819167c
porting: Add steps for setting up udev.rules.
abkro Nov 27, 2024
59da498
porting: Add section on overlay method.
abkro Nov 28, 2024
0afdae5
porting: Minor edit.
abkro Nov 28, 2024
a632124
porting: Add section on full system image build method.
abkro Nov 28, 2024
ea15aa0
porting: Add disclaimer.
abkro Nov 28, 2024
26fa489
porting: Add missing commands for completing build of flash artifacts.
abkro Nov 28, 2024
8f17934
porting: Add ideas for bibliography structure.
abkro Nov 28, 2024
b1f008a
porting: Add contents to section Vendor Specific.
abkro Nov 28, 2024
507e541
porting: Add Troubleshooting subsection in the Debugging section.
abkro Nov 29, 2024
5970d00
porting: Add more detailed information including visual aids, while s…
abkro Nov 29, 2024
8ca2f8b
porting: Rework and extend section on Android Architecture.
abkro Nov 29, 2024
8a5b397
porting: Improve Halium Overview.
abkro Nov 29, 2024
6ea252c
porting: Revise and extend section Hardware Abstraction.
abkro Nov 29, 2024
080bef2
porting: Revise and extend section Ubuntu Touch Architecture.
abkro Nov 29, 2024
733bcd3
porting: Revise and extend section Build Systems.
abkro Nov 29, 2024
d83d09d
porting: Extend and improve debugging info and guidance.
abkro Nov 30, 2024
ed1b540
porting: Correct minor formatting error.
abkro Nov 30, 2024
f16eede
porting: Add section Legacy Porting.
abkro Dec 1, 2024
8805757
porting: Add section on GKI-devices. Also improve explanations and ad…
abkro Dec 2, 2024
710018a
porting: Replace porting guide with updated and extended version.
abkro Dec 2, 2024
62892a6
porting: Remove deprecated files.
abkro Dec 2, 2024
48b799a
Update requirements.txt
abkro Dec 3, 2024
fe17000
Merge branch 'ubports:master' into porting-guide-modernization
abkro Dec 3, 2024
ee15a96
porting: Temporarily redirect porting/UpdatePortsFor2004.rst to porti…
abkro Dec 3, 2024
0fad3c3
porting: Add redirects from all previous porting chapter sections to …
abkro Dec 4, 2024
dabc896
porting: Remove duplicate redirects.
abkro Dec 4, 2024
88c2083
porting: Remove unnecessary redirects.
abkro Dec 4, 2024
915f6df
porting: Correct redirects.
abkro Dec 4, 2024
186737b
porting: Correct redirects.
abkro Dec 4, 2024
d1c5715
porting: Remove 'expert/novice' pathways. Remove initial disclaimer. …
abkro Dec 8, 2024
edf8309
porting: Correct formatting error in main index.rst in porting chapter.
abkro Dec 9, 2024
077eaa6
porting: Correct several minor formatting mistakes.
abkro Dec 10, 2024
72dec04
porting: Host JS for mermaid extension locally to avoid security issu…
abkro Dec 11, 2024
494fb15
porting: Add links to relevant resources in bibliography section.
abkro Dec 11, 2024
6504c1f
porting: Serve D3 Javasctipt file locally.
abkro Dec 11, 2024
984ab56
porting: Extend configuration sections for audio, sensors, network, a…
abkro Dec 11, 2024
59584b4
porting: Correct mistakes in audio, networking, camera and system-iss…
abkro Dec 12, 2024
dd5a45e
porting: Correct modem reference in section on connectivity debugging.
abkro Dec 12, 2024
e2e11f8
porting: Install mermaid-cli for building visuals.
abkro Dec 12, 2024
37fd509
porting: Add error handling verbose to debug mermaid build failure.
abkro Dec 12, 2024
c2232d9
porting: Mermaid setup - remove 'sudo'.
abkro Dec 12, 2024
6b98dbd
porting: Rewrite Jenkinsfile.setup-mermaid and correct call in main J…
abkro Dec 12, 2024
f395ee4
porting: Add --no-sandbox when configuring puppeteer.
abkro Dec 12, 2024
6ae5ba6
porting: Mermaid setup. Create config directory before writing to it.
abkro Dec 12, 2024
631ab62
porting: Mermaid setup. Modify the mermaid_cmd line to include the pu…
abkro Dec 12, 2024
fa88f4d
porting: Mermaid setup. Changed mermaid_cmd to use -p flag to specify…
abkro Dec 12, 2024
438167f
porting: Mermaid setup. Add directory to Git's safe directories list
abkro Dec 12, 2024
8b5b9a2
porting: Reworked section Fundamentals.
abkro Dec 14, 2024
97bf56d
porting: Remove unneeded files (previous version).
abkro Dec 14, 2024
ae438ec
porting: Update toc-trees and references.
abkro Dec 14, 2024
827ac23
porting: Make section Fundamentals more understandable.
abkro Dec 16, 2024
9873fc0
porting: Improved standalone kernel section with details about differ…
abkro Dec 16, 2024
6615a1e
Merge branch 'ubports:master' into porting-guide-modernization
abkro Dec 16, 2024
655e3e8
porting: Correct erroneous cross reference.
abkro Dec 16, 2024
9d0505f
porting: Removed remaining references to Unity8 and added info on App…
abkro Dec 16, 2024
9496411
porting: Fix underline too short.
abkro Dec 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ pipeline {
agent {
docker {
image "python:3.12"
args '-u root:root' // Run as root to allow package installation
}
}
options {
Expand All @@ -19,6 +20,19 @@ pipeline {
sh 'pip install --quiet --no-cache-dir --user --upgrade -r requirements.txt'
}
}
stage("Setup Mermaid") {
steps {
script {
try {
def setup = load 'Jenkinsfile.setup-mermaid'
setup.call()
} catch (Exception e) {
echo "Setup Mermaid failed with error: ${e.getMessage()}"
throw e
}
}
}
}
stage("Build docs"){
steps {
sh 'python3 -m sphinx -Wab html . _build/html/'
Expand All @@ -29,9 +43,13 @@ pipeline {
stage('Fix git ref for non-master builds') {
when { not { branch 'master' } }
steps {
// Workaround to create the master branch since Jenkins
// refuses to do it on PR builds
sh 'git show-ref --verify --quiet master || git branch master `git show-ref -s origin/master`'
sh '''
# Add workspace to safe.directory
git config --global --add safe.directory "${WORKSPACE}"

# Original command
git show-ref --verify --quiet master || git branch master `git show-ref -s origin/master`
'''
}
}
stage('Check redirects') {
Expand All @@ -45,4 +63,4 @@ pipeline {
cleanWs()
}
}
}
}
39 changes: 39 additions & 0 deletions Jenkinsfile.setup-mermaid
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
def call() {
sh '''
set -x
set -e

echo "Adding NodeSource repository..."
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -

echo "Updating package lists..."
apt-get update

echo "Installing Node.js..."
apt-get install -y nodejs

echo "Installing Chrome dependencies..."
apt-get install -y ca-certificates fonts-liberation libasound2 libatk-bridge2.0-0 \
libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 \
libgbm1 libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 \
libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 \
libxss1 libxtst6 wget xdg-utils

echo "Installing mermaid-cli..."
npm install -g @mermaid-js/mermaid-cli

echo "Installing Chrome headless shell..."
npx puppeteer browsers install chrome-headless-shell

echo "Configuring Puppeteer to run with --no-sandbox..."
mkdir -p /root/.config
echo '{
"args": ["--no-sandbox"]
}' > /root/.config/mmdc-config.json

echo "Setup completed successfully"
'''
}

return this
8 changes: 7 additions & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,15 @@
# ones.
extensions = [
'sphinx.ext.todo',
'sphinxext.rediraffe'
'sphinxext.rediraffe',
'sphinxcontrib.mermaid'
]

# Mermaid configuration for static image generation
mermaid_output_format = 'svg'
mermaid_cmd = 'mmdc -p /root/.config/mmdc-config.json'
mermaid_verbose = True

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

Expand Down
Empty file added fundamentals.txt
Empty file.
17 changes: 11 additions & 6 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Welcome to the official documentation of the UBports project!

UBports develops the mobile phone operating system Ubuntu Touch. Ubuntu Touch is a mobile operating system focused on ease of use, privacy, and convergence.

On this website you find guides to :doc:`install Ubuntu Touch on your mobile phone <userguide/install>`, :doc:`use Ubuntu Touch <userguide/dailyuse/index>`, :doc:`develop Ubuntu Touch apps <appdev/index>`, :doc:`port Ubuntu Touch to an Android handset <porting/introduction/index>` and :doc:`learn more about system components <systemdev/index>`. If this is your first time here, please consider reading our :doc:`introduction <about/introduction>`.
On this website you find guides to :doc:`install Ubuntu Touch on your mobile phone <userguide/install>`, :doc:`use Ubuntu Touch <userguide/dailyuse/index>`, :doc:`develop Ubuntu Touch apps <appdev/index>`, :doc:`port Ubuntu Touch to an Android handset <porting/index>` and :doc:`learn more about system components <systemdev/index>`. If this is your first time here, please consider reading our :doc:`introduction <about/introduction>`.

If you want to help improving this documentation, :doc:`the Documentation contribute page <contribute/documentation>` will get you started.

Expand Down Expand Up @@ -67,11 +67,16 @@ You may view this documentation in the following languages:
:caption: Porting
:name: sec-porting

porting/introduction/index.rst
porting/build_and_boot/index.rst
porting/configure_test_fix/index.rst
porting/finalize/index.rst
porting/UpdatePortsFor2004.rst
porting/index.rst
porting/fundamentals/index
porting/quick-start/index
porting/preparation/index
porting/modern-porting/index
porting/debugging/index
porting/finalize/index
porting/vendor-specific/index
porting/legacy-porting/index
porting/resources/index

.. toctree::
:maxdepth: 1
Expand Down
65 changes: 65 additions & 0 deletions porting/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Ubuntu Touch Porting Guide Development

This repository contains the development version of the modernized Ubuntu Touch porting guide.
The guide is being reworked by Ari Börde Kröyer, based on the current guide and the Halium Generic
Adaptation Build Tools, and using AI assistance.

# Notes to the Reader

My end goal is that this version of the guide can become a drop-in replacement for the current
version of the guide, and serve to help and promote the porting effort. This will require a
coordinated community effort, as I am not sufficiently technically knowledgeable and skilled to
complete this task on my own.

I therefore ask the reader to keep in mind that what you are seeing is an unfinished product which
may very well contain factual mistakes and errors, and that your ideas and feedback are both welcome
and needed.

I am making the first version available on November 21, 2024. In an early phase, I encourage readers
to discuss this project on Telegram, in the UBports Porting group (https://t.me/ubports_porting). Feel
free to tag me there when proposing ideas, pointing out errors, etc. Please keep in mind that I have
limited time to spend on this project, so my responses might come with some delay.


## Setup Instructions

1. Install dependencies:
```bash
pip install sphinx furo sphinxext-rediraffe sphinxcontrib-mermaid
```

2. Clone the repository:
```bash
git clone https://github.com/abkro/docs.ubports.com porting-guide/
cd porting-guide
```

3. Build the documentation:
```bash
cd porting-guide-work
make html
```

4. View the documentation:
- In the `porting-guide-work/` folder, find and open `_build/html/index.html` in your web browser
- Navigate through sections using the sidebar

## Review Guidelines

Please review:
- Technical accuracy
- Clarity of instructions
- Logical flow between sections
- Completeness of each section
- Cross-references and navigation

Submit feedback through:
- Telegram, in the UBports Porting group (https://t.me/ubports_porting)

## Building Troubleshooting

If you encounter build errors:
- Ensure all dependencies are installed
- Check Python version (3.6+ required)
- Verify directory structure matches repository
- Check console output for specific error messages
64 changes: 0 additions & 64 deletions porting/UpdatePortsFor2004.rst

This file was deleted.

4 changes: 4 additions & 0 deletions porting/_static/css/ubports.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.parameter-details {
margin-left: 2em;
margin-bottom: 2em;
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 0 additions & 50 deletions porting/build_and_boot/Boot_debug.rst

This file was deleted.

Loading