Difference between revisions of "User:Aarondabomb/PineNote Documentation"
Aarondabomb (talk | contribs) |
(User article) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 4: | Line 4: | ||
Hopefully anyone! These are people who are thinking especially hard about this: | Hopefully anyone! These are people who are thinking especially hard about this: | ||
* Aarondabomb | * Aarondabomb | ||
* rjulian | |||
== What needs to get done == | == What needs to get done == | ||
# Reorganize the information that's already at [[PineNote Development]]. | # Reorganize the information that's already at [[PineNote Development]]. | ||
#: | #: This means creating new pages, like [[PineNote: Getting Started]] that contains the important info. | ||
# Create a getting started page | |||
# Page to more clearly describe what "the project" even is | # Page to more clearly describe what "the project" even is | ||
## Answer the question: Why does Pine64 sell the PineNote? | |||
## There are a number of folks doing different things. There is no cohesive effort, but what someone else accomplishes may help you, and documenting/organizing these efforts can maximize the chances for cross-pollination. | ## There are a number of folks doing different things. There is no cohesive effort, but what someone else accomplishes may help you, and documenting/organizing these efforts can maximize the chances for cross-pollination. | ||
# | # Outline how to get involved in the community. | ||
#: We know there's chat, but that's not "active" involvement. | |||
# Provide resources to learn about the technology behind the PineNote and development efforts. | |||
== End User Personas to Consider == | |||
When we think of "who may buy/use a PineNote", we have to consider the personas who would purchase this: | |||
* Hardware developers interested in e-ink and open source development | |||
* Software developers who enjoy e-ink hardware and want to explore building software leveraging e-ink hardware. | |||
* Technologists who understand the product category and want to experience/test out using the PineNote. | |||
* Pure end users who want an open source/copyleft version of the remarkable 2. | |||
* End users who have no clue about the product category (e.g. imagine they got this as a gift). | |||
Right now, of the above personas, none of them are getting effective documentation, with hardware developers getting the most information of the bunch. | |||
== Hardware == | |||
Images, diagrams and technical data of the Pinenote's internals to be added | |||
=== System on Chip === | |||
=== Display === | |||
=== Touch Panel === | |||
=== Wacom === | |||
=== Radios === | |||
=== Accelerometer === | |||
=== Audio === | |||
=== USB === | |||
=== Stylus === | |||
== Software == | |||
=== Stock Partition Layout === | |||
As output by the [https://github.com/rockchip-linux/rkdeveloptool rkdeveloptool] <code>ppt</code> (print partition) command: | |||
<pre> | |||
**********Partition Info(GPT)********** | |||
NO LBA Name | |||
00 00004000 uboot | |||
01 00006000 trust | |||
02 00008000 waveform | |||
03 00009000 misc | |||
04 0000B000 dtbo | |||
05 0000D000 vbmeta | |||
06 0000D800 boot | |||
07 00021800 security | |||
08 00023800 recovery | |||
09 00063800 backup | |||
10 00123800 cache | |||
11 00323800 metadata | |||
12 0032B800 super | |||
13 0093F800 logo | |||
14 00947800 device | |||
15 00967800 userdata | |||
</pre> | |||
In order, the partitions are: | |||
* <code>uboot</code>: holds the [https://en.wikipedia.org/wiki/Das_U-Boot Das U-Boot] open-source bootloader for embedded systems | |||
* <code>trust</code>: holds secrets such as keys; while such secrets are usually stored in NV-RAM or in a TPM, they can also be stored in a partition encrypted by a key held in a TPM | |||
* <code>waveform</code>: holds files specifying the voltage waveforms applied to the charged particles in the e-ink screen to manipulate them into displaying a desired image | |||
* <code>misc</code>: stores miscellaneous files needed by the firmware | |||
* <code>dtbo</code>: stores [https://en.wikipedia.org/wiki/Devicetree device tree] binary files, a description of the hardware configuration of the device | |||
* <code>vbmeta</code>: stores data needed for the verified boot process | |||
For backup, the stock partition images are available for download [https://pwarren.id.au/pinenote/partitions/ here]. | |||
== Bootloader == | |||
Without modifying the bootloader, u-boot will automatically load android. Under these circumstances, an alternative OS may be loaded by manually inputting commands to the u-boot terminal, which must be accessed by sending an interrupt signal (ctrl+c) to the device via UART during boot. Thus modifying u-boot is not, strictly speaking, necessary but will be desirable for most users wishing to use linux as their primary OS in a dual boot arrangement. | |||
There exists more than one approach to avoid having to do this each time the device is restarted. Two of these are detailed below. | |||
=== Option 1: Build U-boot from Scratch === | |||
reference: https://github.com/JoshuaMulliken/pinenote_uboot | |||
=== Option 2: Extract and Modify Existing U-boot Image === | |||
reference: https://gist.github.com/charasyn/206b2537534b6679b0961be64cf9c35f |
Latest revision as of 19:51, 20 February 2023
This space is intended to track the current status of documentation. As documentation is generated and organized in a more cohesive way, this may no longer be necessary.
Who Can Contribute
Hopefully anyone! These are people who are thinking especially hard about this:
- Aarondabomb
- rjulian
What needs to get done
- Reorganize the information that's already at PineNote Development.
- This means creating new pages, like PineNote: Getting Started that contains the important info.
- Create a getting started page
- Page to more clearly describe what "the project" even is
- Answer the question: Why does Pine64 sell the PineNote?
- There are a number of folks doing different things. There is no cohesive effort, but what someone else accomplishes may help you, and documenting/organizing these efforts can maximize the chances for cross-pollination.
- Outline how to get involved in the community.
- We know there's chat, but that's not "active" involvement.
- Provide resources to learn about the technology behind the PineNote and development efforts.
End User Personas to Consider
When we think of "who may buy/use a PineNote", we have to consider the personas who would purchase this:
- Hardware developers interested in e-ink and open source development
- Software developers who enjoy e-ink hardware and want to explore building software leveraging e-ink hardware.
- Technologists who understand the product category and want to experience/test out using the PineNote.
- Pure end users who want an open source/copyleft version of the remarkable 2.
- End users who have no clue about the product category (e.g. imagine they got this as a gift).
Right now, of the above personas, none of them are getting effective documentation, with hardware developers getting the most information of the bunch.
Hardware
Images, diagrams and technical data of the Pinenote's internals to be added
System on Chip
Display
Touch Panel
Wacom
Radios
Accelerometer
Audio
USB
Stylus
Software
Stock Partition Layout
As output by the rkdeveloptool ppt
(print partition) command:
**********Partition Info(GPT)********** NO LBA Name 00 00004000 uboot 01 00006000 trust 02 00008000 waveform 03 00009000 misc 04 0000B000 dtbo 05 0000D000 vbmeta 06 0000D800 boot 07 00021800 security 08 00023800 recovery 09 00063800 backup 10 00123800 cache 11 00323800 metadata 12 0032B800 super 13 0093F800 logo 14 00947800 device 15 00967800 userdata
In order, the partitions are:
uboot
: holds the Das U-Boot open-source bootloader for embedded systemstrust
: holds secrets such as keys; while such secrets are usually stored in NV-RAM or in a TPM, they can also be stored in a partition encrypted by a key held in a TPMwaveform
: holds files specifying the voltage waveforms applied to the charged particles in the e-ink screen to manipulate them into displaying a desired imagemisc
: stores miscellaneous files needed by the firmwaredtbo
: stores device tree binary files, a description of the hardware configuration of the devicevbmeta
: stores data needed for the verified boot process
For backup, the stock partition images are available for download here.
Bootloader
Without modifying the bootloader, u-boot will automatically load android. Under these circumstances, an alternative OS may be loaded by manually inputting commands to the u-boot terminal, which must be accessed by sending an interrupt signal (ctrl+c) to the device via UART during boot. Thus modifying u-boot is not, strictly speaking, necessary but will be desirable for most users wishing to use linux as their primary OS in a dual boot arrangement.
There exists more than one approach to avoid having to do this each time the device is restarted. Two of these are detailed below.
Option 1: Build U-boot from Scratch
reference: https://github.com/JoshuaMulliken/pinenote_uboot
Option 2: Extract and Modify Existing U-boot Image
reference: https://gist.github.com/charasyn/206b2537534b6679b0961be64cf9c35f