summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--36c3/Replicant_sustainability/Makefile2
-rw-r--r--36c3/Replicant_sustainability/Replicant_sustainability.tex189
2 files changed, 76 insertions, 115 deletions
diff --git a/36c3/Replicant_sustainability/Makefile b/36c3/Replicant_sustainability/Makefile
index 7bc95ec..bdea753 100644
--- a/36c3/Replicant_sustainability/Makefile
+++ b/36c3/Replicant_sustainability/Makefile
@@ -12,7 +12,7 @@ output:
output/$(TITLE).pdf: output $(TITLE).tex $(IMAGES)
pdflatex $(TEXFLAGS) '\providecommand\locale{en}\input{$(TITLE).tex}'
- # pdflatex $(TEXFLAGS) '\providecommand\locale{en}\input{$(TITLE).tex}'
+ pdflatex $(TEXFLAGS) '\providecommand\locale{en}\input{$(TITLE).tex}'
output/%.png: dot/%.dot output
dot -T png $< > $@
diff --git a/36c3/Replicant_sustainability/Replicant_sustainability.tex b/36c3/Replicant_sustainability/Replicant_sustainability.tex
index 1aefd44..91ac38f 100644
--- a/36c3/Replicant_sustainability/Replicant_sustainability.tex
+++ b/36c3/Replicant_sustainability/Replicant_sustainability.tex
@@ -37,9 +37,8 @@
\begin{frame}
\center{Replicant:}
\begin{itemize}
- \item Fully free Android distribution approved by the FSF
+ \item Fully free Android distribution approved by the FSF.
\item But the hardware it runs on is not...
- \item More details on hardware related freedom issues later %% TODO
\end{itemize}
\end{frame}
@@ -47,26 +46,29 @@
\center{Quick Facts}
\begin{itemize}
\item Website: replicant.us
- \item Exists since September 2009
- \item Currently based on LineageOS
+ \item Exists since September 2009.
+ \item Currently based on LineageOS.
\item Android versions:
\begin{itemize}
- \item Replicant 6: Android 6, last security update: October 2017\cite{last-android-6-update}
- \item Replicant 9: Android 9, work in progress\cite{porting-to-android-9}
+ \item Replicant 6: Android 6, last security update: October 2017\cite{last-android-6-update}.
+ \item Replicant 9: Android 9, work in progress\cite{porting-to-android-9}.
\end{itemize}
- \item Supports $\sim$ 10 devices (smartphones and tablets)
- \item $\sim$ 2 full time equivalent contributors and a big community
+ \item Supports $\sim$ 10 devices (smartphones and tablets).
+ \item $\sim$ 2 full time equivalent contributors and a big community.
\end{itemize}
\end{frame}
\begin{frame}
- \center{Minimum feature set required to support a device:}
+ \center{
+ Best effort: \\
+ minimum feature set required to support a device:
+ }
\begin{itemize}
- \item Display working and graphics fast enough
- \item sound working
- \item Be able to make calls
- \item etc
- \item GPS, Camera, and other non crucial hardware may not work, or work in later releases
+ \item Display working and graphics fast enough.
+ \item Sound working.
+ \item Be able to make calls.
+ \item etc.
+ \item GPS, camera, and other non crucial hardware may not work, or work in later releases.
\end{itemize}
\end{frame}
@@ -75,8 +77,8 @@
\center{A very short introduction on hardware:}
\outputpicture{0.8}{i9300_hardware.png}
\begin{itemize}
- \item System on a chip
- \item Smartphones and the modem
+ \item System on a chip.
+ \item Smartphones and the modem.
\end{itemize}
\end{frame}
}
@@ -86,77 +88,53 @@
\center{Freedom issues in supported devices}
\outputpicture{0.8}{i9300_hardware.png}
\begin{itemize}
- \item The cellular network
- \item The modem firmware
- \item Other nonfree firmwares
- \item Bootloaders and TrustZone
- \item Upstream anti-feature and huge code base
+ \item The cellular network.
+ \item The modem firmware.
+ \item Other nonfree firmwares.
+ \item Bootloaders and TrustZone.
+ \item Upstream anti-feature and huge code base.
\end{itemize}
\end{frame}
}
-%% {
-%% \begin{frame}
-%% \center{Freedom issues in LineageOS (without google play)}
-%% \outputpicture{0.8}{i9300_hardware.png}
-%% \begin{itemize}
-%% \item + Modem control over the device (MSM7K) or shared memory
-%% \item + Nonfree libraries (ril backdoor, etc)
-%% \item + Anti-features
-%% \end{itemize}
-%% \end{frame}
-%% }
-
-%% {
-%% \begin{frame}
-%% \center{Worst case with stock devices:}
-%% \begin{itemize}
-%% \item + Only the kernel is free software
-%% \item + Users potentially locked out of their devices
-%% \item + Many Anti-features or unwanted applications
-%% \item $\rightarrow$ Remining freedoms: The ability to install F-Droid or other applications
-%% \end{itemize}
-%% \end{frame}
-%% }
-
\begin{frame}
\center{Why Android?}
\begin{itemize}
\item Advantages:
\begin{itemize}
- \item GUI and applications adapted to big fingers
- \item $\rightarrow$ run on devices that:
+ \item GUI and applications adapted to big fingers.
+ \item $\rightarrow$ Run on devices that:
\begin{itemize}
- \item lack keyboard
- \item have capacitive touchscreen and no stylus
- \item Have very small displays with very high number of pixel
+ \item Lack keyboard.
+ \item Have capacitive touchscreen and no stylus.
+ \item Have very small displays with very high number of pixels.
\end{itemize}
\end{itemize}
- \item Issues
+ \item Issues:
\begin{itemize}
- \item Part of the GNU/Linux software architecture is light years away: Package management and build system, Graphics, audio, etc
- \item Huge unknown code from google
- \item Meant to run proprietary software, not to empower users
+ \item Part of the GNU/Linux software architecture is light years away: package management and build system, graphics, audio, etc.
+ \item Huge unknown code from Google
+ \item Meant to run proprietary software, not to empower users.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
- \center{Android: From time to market driven architecture to sustainability}
+ \center{Android: from time to market driven architecture to sustainability}
\begin{itemize}
- \item SOCs, WiFi chips, smartphones and tablets
+ \item SOCs, WiFi chips, smartphones and tablets:
\begin{itemize}
- \item Write the code that work as fast as possible
- \item Support as many hardware features as possible
- \item $\rightarrow$ Varying code quality
- \item $\rightarrow$ Example: One driver rewritten 3 times %% TODO: reference
+ \item Write the code that work as fast as possible.
+ \item Support as many hardware features as possible.
+ \item $\rightarrow$ Varying code quality.
+ \item $\rightarrow$ Example: One driver rewritten 3 times.
\end{itemize}
- \item Breaking Kernel API and ABI
+ \item Breaking Kernel API and ABI.
\begin{itemize}
- \item It can take time (years) to bring in a new framework in Linux
- \item Example of API breakage: HTC dream audio driver
- \item Solution: Apps $\leftrightarrow$ Android framework $\leftrightarrow$ HAL $\leftrightarrow$ Kernel
- \item Getting better in Android: Treble and Generic Kernel images
+ \item It can take time (years) to bring in a new framework in Linux.
+ \item Example of API breakage: HTC dream audio driver.
+ \item Solution: Apps $\leftrightarrow$ Android framework $\leftrightarrow$ HAL $\leftrightarrow$ Kernel.
+ \item Getting better in Android: Treble and Generic Kernel images.
\end{itemize}
\end{itemize}
\end{frame}
@@ -167,44 +145,27 @@
\begin{itemize}
\item Having the source code under free software licenses, even if the code quality is bad is crucial for freedom:
\begin{itemize}
- \item Hardware bringup is often made that way anyway
+ \item Hardware bringup is often made that way anyway.
\item Things can be improved later:
- always be cleaned up later or if the code quality is too bad, rewritten from scratch
- \item Having the source code under a free software license is very important
- \item Worst case: use the source code as documentation or reverse engineer it (add prints)
+ always be cleaned up later or if the code quality is too bad, rewritten from scratch.
+ \item Having the source code under a free software license is very important.
+ \item Worst case: use the source code as documentation or reverse engineer it (add prints).
\end{itemize}
- \item $\rightarrow$ We depend on that source code
+ \item $\rightarrow$ We depend on that source code.
\end{itemize}
\end{frame}
-%% TODO: free your mind / bend the rules
-%% - Number of smartphones models made each year
-%% -> Another way to look at it
-
-%% Freedom
-%% (climate activists, etc)
-
-%% \begin{frame}
-%% \center{From a purely sustainable perspective:}
-%% \begin{xtabular}{ll}
-%% Big brand old devices & Big brand new devices \\
-%% Removable battery & Battery too difficult to replace \\
-%% Device specific kernel & Device specific modules \\
-%% Changing HAL API & HAL API being versioned \\
-%% \end{xtabular}
-%% \end{frame}
-
\section{Part II}
\begin{frame}
\center{Part II}
\end{frame}
\begin{frame}
- \center{Replicant 6 $\rightarrow$ More recent Android}
+ \center{Replicant 6 $\rightarrow$ More recent Android.}
\end{frame}
\begin{frame}
- \center{Devices supported by Lineage 16 with a removable battery}
+ \center{Devices supported by Lineage 16 with a removable battery.}
\end{frame}
\begin{frame}
@@ -237,15 +198,15 @@
\end{frame}
\begin{frame}
- \center{Limiting the freedom, privacy and security attacks}
+ \center{Limiting freedom, privacy and security attacks:}
\begin{itemize}
\item Isolated modem:
\begin{itemize}
- \item Modem not in the SOC
- \item No shared memory (RAM) between the modem and the SOC
+ \item Modem not in the SOC.
+ \item No shared memory (RAM) between the modem and the SOC.
\begin{itemize}
- \item HSIC: USB-like, the host control re-enumeration
- \item MIPI: Should be OK, not extensively reviewed
+ \item HSIC: USB-like, the host control re-enumeration.
+ \item MIPI: Should be OK, not extensively reviewed.
\end{itemize}
\end{itemize}
\end{itemize}
@@ -291,9 +252,9 @@
\item Isolated modem?
\item Upstream support for the SOC?
\item Nonfree bootloader ($\sim$ BIOS+GRUB) (signed?)
- \item Probably way more work needed (different modem, more upstreaming work)
+ \item Probably way more work needed (different modem, more upstreaming work).
\end{itemize}
- \item We also took the decision when LineageOS didn't support theses.
+ \item We also took the decision when LineageOS didn't support these.
\end{itemize}
\end{frame}
@@ -306,8 +267,8 @@
\center{Already supported by Replicant 6.0:}
\begin{itemize}
\item Galaxy SIII (I9300): Good upstream status, modem support lacking, and other small fixes to do.
- \item Galaxy Note II (I9300): Good upstream status, modem and display support lacking
- \item Galaxy SIII 4G (I9305) and Galaxy Note II 4G (N7105): Different modem
+ \item Galaxy Note II (I9300): Good upstream status, modem and display support lacking.
+ \item Galaxy SIII 4G (I9305) and Galaxy Note II 4G (N7105): Different modem.
\end{itemize}
\end{frame}
@@ -316,12 +277,12 @@
\begin{itemize}
\item $\rightarrow$ Upstream Linux $\rightarrow$ We can support them longer.
\item $\rightarrow$ Most Replicant users and developers already have one.
- \item $\rightarrow$ Known hardware that works and can still be bought second hand
+ \item $\rightarrow$ Known hardware that works and can still be bought second hand.
\item Remaining issues:
\begin{itemize}
%% $\rightarrow$ Repurpose the device and run GNU/Linux when not supported anymore.
- \item RAM size and new Android versions
- \item Nonfree bootloader
+ \item RAM size and new Android versions.
+ \item Nonfree bootloader.
\end{itemize}
\end{itemize}
\end{frame}
@@ -329,9 +290,9 @@
\begin{frame}
\center{Main blocker: Nonfree bootloader}
\begin{itemize}
- \item Nonfree $\rightarrow$ Incentive to drop the device
- \item Partially free u-boot port $\rightarrow$ can't redistribute the nonfree part
- \item Research to understand if we can make it fully free (XBOOT)
+ \item Nonfree $\rightarrow$ Incentive to drop the device.
+ \item Partially free u-boot port $\rightarrow$ can't redistribute the nonfree part.
+ \item Research to understand if we can make it fully free (XBOOT).
\item Stock bootloader incompatible with Linux...
\end{itemize}
\end{frame}
@@ -355,21 +316,21 @@
\begin{frame}
\center{Replicant 9.0:}
\begin{itemize}
- \item Galaxy SIII booting, modem initialized
- \item Still work to do
- \item Slowed down by conferences and other Replicant work (XBOOT, Replicant 6, etc)
+ \item Galaxy SIII booting, modem initialized.
+ \item Still work to do(testing, audio, networking, etc.).
+ \item Slowed down by conferences and other Replicant work (XBOOT, Replicant 6, etc).
\end{itemize}
\end{frame}
\begin{frame}
\center{Future directions:}
\begin{itemize}
- \item Finish the research on XBOOT
+ \item Finish the research on XBOOT.
\begin{itemize}
\item https://github.com/xboot/xboot
\end{itemize}
- \item Look into devices like the PinePhone and the Librem5
- \item Share more work with GNU/Linux upstream (OFono, other hardware support libraries)
+ \item Look into devices like the PinePhone and the Librem5.
+ \item Share more work with GNU/Linux upstream (OFono, other hardware support libraries).
\end{itemize}
\end{frame}
@@ -377,15 +338,15 @@
Licenses:
\begin{itemize}
\item The SIM card and BTS pictures comes from \url{https://en.wikipedia.org/wiki/File:Gsm_network.png} and are under the GFDL 1.2 or the Creative commons Attributions-Share ALike 3.0 Unported.
- \item This presentation: CC-BY-SA 4.0 International
- \item The Galaxy SIII picture: CC-BY-SA 4.0 International
+ \item This presentation: CC-BY-SA 4.0 International.
+ \item The Galaxy SIII picture: CC-BY-SA 4.0 International.
\end{itemize}
\end{frame}
\begin{thebibliography}{99}
-\bibitem{porting-to-android-9}
- \url{https://redmine.replicant.us/projects/replicant/wiki/PortingToAndroid9}
\bibitem{last-android-6-update}
\url{https://en.wikipedia.org/wiki/Android_Marshmallow#cite_note-2}
+\bibitem{porting-to-android-9}
+ \url{https://redmine.replicant.us/projects/replicant/wiki/PortingToAndroid9}
\end{thebibliography}
\end{document}