Difference between revisions of "User:Aarondabomb/PineNote Documentation"

From PINE64
Jump to navigation Jump to search
(Tracking Documentation Effort)
 
(User article)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
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.
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 [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

  1. Reorganize the information that's already at PineNote Development.
    This means creating new pages, like PineNote: Getting Started that contains the important info.
  2. Create a getting started page
  3. Page to more clearly describe what "the project" even is
    1. Answer the question: Why does Pine64 sell the PineNote?
    2. 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.
  4. Outline how to get involved in the community.
    We know there's chat, but that's not "active" involvement.
  5. 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 systems
  • trust: 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
  • waveform: holds files specifying the voltage waveforms applied to the charged particles in the e-ink screen to manipulate them into displaying a desired image
  • misc: stores miscellaneous files needed by the firmware
  • dtbo: stores device tree binary files, a description of the hardware configuration of the device
  • vbmeta: 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