From 0d4c6a0e694fab3cc4333c7d6b1bab2bfa25756b Mon Sep 17 00:00:00 2001 From: UtsavBalar1231 Date: Thu, 22 Jun 2023 15:15:56 +0530 Subject: [PATCH 1/2] source: Populate the initial vaaman linux documentation structure --- source/vaaman-linux/android12.md | 1 - source/vaaman-linux/debian11.md | 1 - source/vaaman-linux/index.rst | 30 ++++++++----------- source/vaaman-linux/kernel.md | 1 - .../linux-configuration-guide/index.rst | 10 +++++++ .../vicharak-config-tool.md | 25 ++++++++++++++++ .../build-linux-image.md | 7 +++++ .../build-linux-kernel.md | 7 +++++ .../build-linux-rootfs.md | 9 ++++++ .../linux-development-guide/build-u-boot.md | 7 +++++ .../linux-development-guide/index.rst | 14 +++++++++ .../vaaman-linux/linux-usage-guide/index.rst | 10 +++++++ .../linux-usage-guide/spi-configure.md | 12 ++++++++ source/vaaman-linux/u-boot.md | 1 - source/vaaman-linux/ubuntu2204.md | 1 - 15 files changed, 113 insertions(+), 23 deletions(-) delete mode 100644 source/vaaman-linux/android12.md delete mode 100644 source/vaaman-linux/debian11.md delete mode 100644 source/vaaman-linux/kernel.md create mode 100644 source/vaaman-linux/linux-configuration-guide/index.rst create mode 100644 source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md create mode 100644 source/vaaman-linux/linux-development-guide/build-linux-image.md create mode 100644 source/vaaman-linux/linux-development-guide/build-linux-kernel.md create mode 100644 source/vaaman-linux/linux-development-guide/build-linux-rootfs.md create mode 100644 source/vaaman-linux/linux-development-guide/build-u-boot.md create mode 100644 source/vaaman-linux/linux-development-guide/index.rst create mode 100644 source/vaaman-linux/linux-usage-guide/index.rst create mode 100644 source/vaaman-linux/linux-usage-guide/spi-configure.md delete mode 100644 source/vaaman-linux/u-boot.md delete mode 100644 source/vaaman-linux/ubuntu2204.md diff --git a/source/vaaman-linux/android12.md b/source/vaaman-linux/android12.md deleted file mode 100644 index a691ffb..0000000 --- a/source/vaaman-linux/android12.md +++ /dev/null @@ -1 +0,0 @@ -# Vaaman android12 guide diff --git a/source/vaaman-linux/debian11.md b/source/vaaman-linux/debian11.md deleted file mode 100644 index 1cbe955..0000000 --- a/source/vaaman-linux/debian11.md +++ /dev/null @@ -1 +0,0 @@ -# Vaaman debian 11 guide diff --git a/source/vaaman-linux/index.rst b/source/vaaman-linux/index.rst index de490fd..233ee89 100644 --- a/source/vaaman-linux/index.rst +++ b/source/vaaman-linux/index.rst @@ -1,27 +1,21 @@ -.. Sphinx with Markdown documentation master file, created by - sphinx-quickstart on Thu Oct 6 19:07:54 2016. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - Vaaman Linux Documentation ================================================ This is the documentation for the Vicharak Vaaman Linux Specific Documentation. +Linux is the core of the Vaaman Operating System. This documentation is divided +into three parts -.. toctree:: - :maxdepth: 2 - :caption: Contents: +1. Linux Development Guide +2. Linux Configuration Guide +3. Linux Usage Guide - kernel - u-boot - android12 - debian11 - ubuntu2204 +------------ -Indices and tables -================== -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` +.. toctree:: + :maxdepth: 2 + :caption: Contents: + linux-development-guide/index + linux-configuration-guide/index + linux-usage-guide/index diff --git a/source/vaaman-linux/kernel.md b/source/vaaman-linux/kernel.md deleted file mode 100644 index c679e1a..0000000 --- a/source/vaaman-linux/kernel.md +++ /dev/null @@ -1 +0,0 @@ -# Vaaman linux kernel guide diff --git a/source/vaaman-linux/linux-configuration-guide/index.rst b/source/vaaman-linux/linux-configuration-guide/index.rst new file mode 100644 index 0000000..0c0d3f7 --- /dev/null +++ b/source/vaaman-linux/linux-configuration-guide/index.rst @@ -0,0 +1,10 @@ +Linux Configuration Guide +================================================ +Linux Configuration Guide is a collection of Linux configuration guides and tutorials. +These guides are written in a way that even a beginner can follow them. + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + vicharak-config-tool diff --git a/source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md b/source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md new file mode 100644 index 0000000..377b68c --- /dev/null +++ b/source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md @@ -0,0 +1,25 @@ +# Vicharak Linux Configuration Tool + +**vicharak-config** is a tool that is purely written using shell script and allows +users to configure and setup their linux system configuration. + +It supports **TUI / CLI** interface to configure different linux specific configurations. + +It supports all debian based systems such as debian buster/bullseye, +ubuntu focal/jammy and all armbian builds. + + + +## vicharak-config features + +1. Update system packages (System Update). +2. Update Bootloader (TODO!). +3. Capture video from camera. +4. Configure on-board GPIO LEDs. +5. Configure thermal governors. +6. DSI display mirroring (TODO!). +7. Configure DTBO overlays. +8. Build and install DTBO overlay from source. +9. Configure Network using network manager. +10. Change system password and hostname. +11. Change Timezone/Locale/Keyboard and Wi-Fi Country. diff --git a/source/vaaman-linux/linux-development-guide/build-linux-image.md b/source/vaaman-linux/linux-development-guide/build-linux-image.md new file mode 100644 index 0000000..149fdce --- /dev/null +++ b/source/vaaman-linux/linux-development-guide/build-linux-image.md @@ -0,0 +1,7 @@ +# Building a complete Linux system image from source + +## Setting up the environment + +## Getting the sources + +## Building the linux image diff --git a/source/vaaman-linux/linux-development-guide/build-linux-kernel.md b/source/vaaman-linux/linux-development-guide/build-linux-kernel.md new file mode 100644 index 0000000..f645085 --- /dev/null +++ b/source/vaaman-linux/linux-development-guide/build-linux-kernel.md @@ -0,0 +1,7 @@ +# Build Vicharak Kernel from source + +## Installing package dependencies + +## Getting the source + +## Compiling the kernel diff --git a/source/vaaman-linux/linux-development-guide/build-linux-rootfs.md b/source/vaaman-linux/linux-development-guide/build-linux-rootfs.md new file mode 100644 index 0000000..747c924 --- /dev/null +++ b/source/vaaman-linux/linux-development-guide/build-linux-rootfs.md @@ -0,0 +1,9 @@ +# Build Linux rootfs image from source + +## Installing the package dependencies + +## Setting up the environment + +## Getting the sources + +## Compiling the roofs image diff --git a/source/vaaman-linux/linux-development-guide/build-u-boot.md b/source/vaaman-linux/linux-development-guide/build-u-boot.md new file mode 100644 index 0000000..8bc997e --- /dev/null +++ b/source/vaaman-linux/linux-development-guide/build-u-boot.md @@ -0,0 +1,7 @@ +# Build Vicharak Vaaman U-Boot from source + +## Installing the package dependencies + +## Getting the source + +## Building u-boot diff --git a/source/vaaman-linux/linux-development-guide/index.rst b/source/vaaman-linux/linux-development-guide/index.rst new file mode 100644 index 0000000..d786738 --- /dev/null +++ b/source/vaaman-linux/linux-development-guide/index.rst @@ -0,0 +1,14 @@ +Linux Development Guide +================================================ + +This is the documentation for the Linux Development Guide. +This guide is intended for developers who want to develop linux and linux applications. + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + build-u-boot + build-linux-kernel + build-linux-rootfs + build-linux-image diff --git a/source/vaaman-linux/linux-usage-guide/index.rst b/source/vaaman-linux/linux-usage-guide/index.rst new file mode 100644 index 0000000..c5cf8cd --- /dev/null +++ b/source/vaaman-linux/linux-usage-guide/index.rst @@ -0,0 +1,10 @@ +Linux Usage Guide +================================================ + +This guide is intended to help you get started with Linux on your Vicharak Board. + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + spi-configure diff --git a/source/vaaman-linux/linux-usage-guide/spi-configure.md b/source/vaaman-linux/linux-usage-guide/spi-configure.md new file mode 100644 index 0000000..9c72d13 --- /dev/null +++ b/source/vaaman-linux/linux-usage-guide/spi-configure.md @@ -0,0 +1,12 @@ +# How to configure SPI Flash from Linux userspace + +**Vicharak Vaaman** contains a shared SPI flash between **Processor** and **FPGA**. +The SPI Flash needs to be configured to use FPGA. + +Make sure you are using Vicharak's kernel and system image. Otherwise this guide will +not follow for you. + +## Flashing to SPI + +For flashing to SPI flash, Vicharak has modified a utility called `flashcp`. +`flashcp -v hexfile.hex` diff --git a/source/vaaman-linux/u-boot.md b/source/vaaman-linux/u-boot.md deleted file mode 100644 index 2acb8fc..0000000 --- a/source/vaaman-linux/u-boot.md +++ /dev/null @@ -1 +0,0 @@ -# Vaaman u-boot guide diff --git a/source/vaaman-linux/ubuntu2204.md b/source/vaaman-linux/ubuntu2204.md deleted file mode 100644 index 9c51114..0000000 --- a/source/vaaman-linux/ubuntu2204.md +++ /dev/null @@ -1 +0,0 @@ -# Vaaman ubuntu 22.04 guide From 9ee969c5c1eb8d04e34638630e08a5a6549902e7 Mon Sep 17 00:00:00 2001 From: UtsavBalar1231 Date: Wed, 5 Jul 2023 16:08:02 +0530 Subject: [PATCH 2/2] source: Refactor content and configuration Fix unappealing documentation. Add CSS for unappealing toctree. Seperate the heading in various guides properly. Use snake case convertion for file names. Remove orphaned documents. Populate linux guides. Add markdown linter config. Change-Id: Id88b0f6e5ba4a6c1a5f814ef0877dd47b3934db5 Signed-off-by: UtsavBalar1231 --- .markdownlint.json | 9 + Pipfile | 2 + source/Downloads.rst | 31 --- source/Overview.rst | 90 -------- source/_static/custom.css | 13 ++ source/conf.py | 137 +++++------- source/contributing.rst | 4 + source/custom.css | 4 - source/downloads.rst | 31 +++ source/drm_fpga_write_api.rst | 2 + source/{get-help.rst => getting-help.rst} | 8 +- source/getting-started.rst | 208 +++++++++++------- source/index.rst | 46 ++-- source/linux-document.rst | 16 -- source/overview.rst | 78 +++++++ source/vaaman-linux/index.rst | 19 +- .../change-uboot-logo.md | 34 +++ .../linux-configuration-guide/index.rst | 10 +- .../vicharak-config-tool.md | 173 +++++++++++++-- .../linux-development-guide/index.rst | 14 +- .../linux-usage-guide/custom-linux-kernel.md | 14 ++ .../vaaman-linux/linux-usage-guide/index.rst | 9 +- 22 files changed, 592 insertions(+), 360 deletions(-) create mode 100644 .markdownlint.json delete mode 100644 source/Downloads.rst delete mode 100644 source/Overview.rst create mode 100644 source/_static/custom.css create mode 100644 source/contributing.rst delete mode 100644 source/custom.css create mode 100644 source/downloads.rst rename source/{get-help.rst => getting-help.rst} (59%) delete mode 100644 source/linux-document.rst create mode 100644 source/overview.rst create mode 100644 source/vaaman-linux/linux-configuration-guide/change-uboot-logo.md create mode 100644 source/vaaman-linux/linux-usage-guide/custom-linux-kernel.md diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 0000000..e02d8c7 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,9 @@ +{ + "default": true, + "MD013": { + "line_length": 120 + }, + "MD033": false, + "MD041": false, + "MD051": false +} diff --git a/Pipfile b/Pipfile index 59ed540..586a2fb 100644 --- a/Pipfile +++ b/Pipfile @@ -10,6 +10,8 @@ breathe = "*" myst-parser = "*" sphinx = "*" sphinxawesome_theme = "*" +sphinx-togglebutton = "*" +sphinx-design = "*" [requires] python_version = "3" diff --git a/source/Downloads.rst b/source/Downloads.rst deleted file mode 100644 index ba27021..0000000 --- a/source/Downloads.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. _Downloads: - -Downloads -========= - - Datasheets - `Rockchip RK3399 Datasheet `_ - - `Efinix Trion T120 Datasheet `_ - - `Rockchip RK3399TRM V1.3 Part1 `_ - - `Rockchip RK3399TRM V1.3 Part2 `_ - - `Rockchip RK3399TRM V1.4 Part1 `_ - - - Vaaman Pinouts Guide - `Download Pinouts <_static/Vaaman0.3_Pinout_Guide_Rev0.1.pdf>`_ - - `RK3399 GPIO Numbers Counts <_static/RK3399_GPIO_NUMBERS_Rev0.1.xlsx>`_ - - Mechanical Information - Dimensions: 85mm x 85mm - - Weight: --- grams - - Mounting holes: 4x M2.5 holes for easy installation - - Step File (Compression: 7z) - `Download Vaaman 3D File <_static/Vaaman_3D_file_V0.3.step.7z>`_ diff --git a/source/Overview.rst b/source/Overview.rst deleted file mode 100644 index cbd47ae..0000000 --- a/source/Overview.rst +++ /dev/null @@ -1,90 +0,0 @@ -.. _Overview: - -Overview -======== - -What is Vaaman --------------- - - .. |text_vaaman| replace:: The Vaaman Single Board Computer (SBC) combines the RK3399 processor and Efinix Trion T120 FPGA. It offers a powerful yet energy-efficient computing solution for various applications. The RK3399 processor provides high performance and low power consumption, while the Trion T120 FPGA allows for customizable hardware acceleration. With its compact size, the Vaaman SBC is suitable for space-constrained environments and offers a range of connectivity options. Overall, it empowers developers to create innovative solutions that require both processing power and hardware customization. - - .. |image_vaaman| image:: images/Vaaman-top.webp - :width: 100% - - .. table:: - :widths: 50 50 - - +----------------+---------------+ - | |image_vaaman| + |text_vaaman| + - +----------------+---------------+ - -Who is Vaaman For? ------------------- - -Vaaman is useful to a wide range of users, these include but are not limited to: - -* **Software Developers**: A significant portion of the user base consists of software developers who utilize the SBC's FPGA capabilities to optimize software performance, accelerate computations, and explore hardware acceleration. - -* **Researchers**: Vaaman with its FPGA attracts researchers who leverage its potential for implementing custom algorithms, conducting experiments, and prototyping novel solutions. The FPGA serves as a valuable tool for their research endeavors. - -* **Hardware Designers**: The SBC appeals to hardware designers as it provides a platform for developing and testing hardware designs. They can use the FPGA to prototype and verify their designs efficiently, enabling rapid iterations. - -* **Hobbyist Users**: The SBC also attracts ordinary users with an interest in tinkering and learning about cutting-edge technologies. They can utilize the SBC's versatility for various projects such as robotics, home automation, and DIY electronics. - - -Features --------- - -The Vaaman Single Board Computer (SBC) offers a range of hardware features, including: - -.. list-table:: - :widths: 15 10 - :header-rows: 1 - - * - Type - - Feature - * - Display - - | 1 x HDMI 2.0 (Micro), Support maximum 4K@60Hz display - | 1 x MIPI, Support 2560x1600@60fps output with dual channel. - * - Audio - - 3.5mm jack with mic - * - Ethernet - - 10/100/1000Mbps Ethernet (Realtek RTL8211E) - * - Camera - - MIPI CSI 2 lanes via FPC connector, support up to 800MP camera - * - Wireless - - Integrated WiFi Combo Module (6222B-SRC) WiFi 2.4G+5G WiFi 2T2R BT5.0 - * - PCIe - - PCIe Interface via FPC connector - * - USB - - 2x USB2.0 HOST, 1x USB3.0, 1x USB3.0 Type-C - * - RTC - - Support RTC, on-board backup battery interface - * - I/O - - | 1 x UART - | 2 x SPI bus - | 2 x I2C bus - | 1 x PCM/I2S - | 1 x SPDIF - | 1 x PWM - | 1 x ADC - | 6 x GPIO - | 2 x 5V DC - | 2 x 3.3V power pin - * - FPGA - - | Efinix® T120F324 device in a 324-ball FineLine BGA package. - | DRAM Chip DDR3 SDRAM 4Gbit 256Mx16 1.35V/1.5V. - | 128 Mbit SPI NOR flash memory. - | MIPI-CSI RX connector with 4 data lanes and 1 clock lane. - | MIPI-CSI TX connector with 4 data lanes and 1 clock lane. - | LVDS Transmitter interface connector that supports 20 Lanes. - | LVDS Receiver interface connector that supports 20 Lanes. - | JTAG headers for configuration. - | User selectable voltages from 1.8 V, 2.5 V, and 3.3 V for bank 1B, 1C, and 2F. - | 40-pin GPIO header supported with 12-pin 1 PMOD and 2 LVDS lane or 25 GPIOs. - | 10, 20, 25, 30, 50, and 74.25 MHz oscillators for T120F324 PLL input. - | 4 User LEDs on T120F324 bank 2F. - -* Link to :ref:`getting started ` -* Link to :ref:`vaaman applications ` -* Link to :ref:`Downloads ` diff --git a/source/_static/custom.css b/source/_static/custom.css new file mode 100644 index 0000000..409c687 --- /dev/null +++ b/source/_static/custom.css @@ -0,0 +1,13 @@ +.contents .caption, +.contents .topic-title, +.toctree-wrapper .caption, +.toctree-wrapper .topic-title { + font-weight: 600; + font-size: 1.5rem; + padding-top: 1.5rem; +} + +#content ul:not(.search) p, +#content ul:not(.search) > li { + margin-top: 0.9rem; +} diff --git a/source/conf.py b/source/conf.py index 938c919..288b703 100644 --- a/source/conf.py +++ b/source/conf.py @@ -1,92 +1,75 @@ -# Configuration file for the Sphinx documentation builder. -# -# For the full list of built-in configuration values, see the documentation: -# https://www.sphinx-doc.org/en/master/usage/configuration.html +# Copyright (c) 2023 Vicharak Computers LLP +# Licensed under the MIT License. +# See LICENSE file in the project root for full license information. -# -- Project information ----------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information - -from sphinx.writers.html import HTMLTranslator -from docutils import nodes -from docutils.nodes import Element import os import sys +from datetime import date sys.path.insert(0, os.path.abspath("_themes")) -project = 'Vicharak' -copyright = '2023, Vicharak Computers LLP' -author = 'Vicharak' +# General information about the project. +project = "Vicharak" +author = "Vicharak Computers LLP" +copyright = f"{date.today().year}, {author}" version = "0.1" -html_theme = 'sphinxawesome_theme' - -# -- General configuration --------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration - -extensions = ['breathe', 'myst_parser'] -source_suffix = ['.rst', '.md'] - -templates_path = ['_templates'] -exclude_patterns = [] - -# -- Options for HTML output ------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output - -# -- Documentation for adding theme to local directory -# https://sphinxawesome.xyz/how-to/add/ - - -html_static_path = ['_static'] +# Extensions +extensions = [ + "breathe", + "myst_parser", + "sphinx.ext.autodoc", + "sphinx.ext.extlinks", + "sphinx.ext.intersphinx", + "sphinx.ext.viewcode", + "sphinx_design", + "sphinx_togglebutton", + "sphinxawesome_theme", +] + +# Enable colon fence for code blocks +myst_enable_extensions = [ + "attrs_block", + # Enable inline attribute parsing + "attrs_inline", + # Enable code fences using ::: delimiters + "colon_fence", + # Enable definition lists + "deflist", + # Automatically convert standard quotations + # to their opening/closing variants + "smartquotes", + # Enable strikethrough + "strikethrough", + # Add check-boxes to the start of list items + "tasklist", +] + +suppress_warnings = ["myst.header"] + +# Source file parsers +source_suffix = [".rst", ".md"] + +# Set templates and exclude patterns +templates_path = ["_templates"] +exclude_patterns = ["build"] + +# HTML settings +html_theme = "sphinxawesome_theme" +html_static_path = ["_static"] html_title = "Vicharak" -# html_theme_path = ["_themes"] -# exclude_patterns = ["_themes"] - - -class PatchedHTMLTranslator(HTMLTranslator): - - def visit_reference(self, node: Element) -> None: - atts = {'class': 'reference'} - if node.get('internal') or 'refuri' not in node: - atts['class'] += ' internal' - else: - atts['class'] += ' external' - # --------------------------------------------------------- - # Customize behavior (open in new tab, secure linking site) - atts['target'] = '_blank' - atts['rel'] = 'noopener noreferrer' - # --------------------------------------------------------- - if 'refuri' in node: - atts['href'] = node['refuri'] or '#' - if self.settings.cloak_email_addresses and atts['href'].startswith('mailto:'): - atts['href'] = self.cloak_mailto(atts['href']) - self.in_mailto = True - else: - assert 'refid' in node, \ - 'References must have "refuri" or "refid" attribute.' - atts['href'] = '#' + node['refid'] - if not isinstance(node.parent, nodes.TextElement): - assert len(node) == 1 and isinstance(node[0], nodes.image) - atts['class'] += ' image-reference' - if 'reftitle' in node: - atts['title'] = node['reftitle'] - if 'target' in node: - atts['target'] = node['target'] - self.body.append(self.starttag(node, 'a', '', **atts)) - - if node.get('secnumber'): - self.body.append(('%s' + self.secnumber_suffix) % - '.'.join(map(str, node['secnumber']))) - - -def setup(app): - app.set_translator('html', PatchedHTMLTranslator) - - +# CSS files to include +html_css_files = [ + "custom.css", +] +# Theme options html_theme_options = { + # sphinxawesome_theme options "logo_light": "_static/vicharak-logo-light.svg", - "logo_dark": "_static/vicharak-logo-dark.svg" + "logo_dark": "_static/vicharak-logo-dark.svg", + "show_breadcrumbs": True, } +# Breathe extension settings breathe_projects = {"drm_fpga_write": os.getcwd() + "/../xml/"} breathe_default_project = "drm_fpga_write" diff --git a/source/contributing.rst b/source/contributing.rst new file mode 100644 index 0000000..802af81 --- /dev/null +++ b/source/contributing.rst @@ -0,0 +1,4 @@ +:orphan: + +Contribution +============ diff --git a/source/custom.css b/source/custom.css deleted file mode 100644 index 9da6a05..0000000 --- a/source/custom.css +++ /dev/null @@ -1,4 +0,0 @@ -.myfont { - font-family: Arial, sans-serif; - /* Other font styles... */ -} diff --git a/source/downloads.rst b/source/downloads.rst new file mode 100644 index 0000000..526dc72 --- /dev/null +++ b/source/downloads.rst @@ -0,0 +1,31 @@ +.. _downloads: + +Vaaman Downloads +================ + +**Datasheets** + `Rockchip RK3399 Datasheet `_ + + `Efinix Trion T120 Datasheet `_ + + `Rockchip RK3399 TRM V1.3 Part1 `_ + + `Rockchip RK3399 TRM V1.3 Part2 `_ + + `Rockchip RK3399 TRM V1.4 Part1 `_ + + +**Vaaman Pinouts Guide** + `Download Pinouts <_static/Vaaman0.3_Pinout_Guide_Rev0.1.pdf>`_ + + `RK3399 GPIO Numbers Counts <_static/RK3399_GPIO_NUMBERS_Rev0.1.xlsx>`_ + +**Mechanical Information** + Dimensions: `85mm x 85mm` + + Weight: --- grams + + Mounting holes: 4x M2.5 holes for easy installation + +**Step File (Compression: 7z)** + `Download Vaaman 3D File <_static/Vaaman_3D_file_V0.3.step.7z>`_ diff --git a/source/drm_fpga_write_api.rst b/source/drm_fpga_write_api.rst index aaea5b5..6050ccf 100644 --- a/source/drm_fpga_write_api.rst +++ b/source/drm_fpga_write_api.rst @@ -1,5 +1,7 @@ .. _drm_fpga_write_api: +:orphan: + .. toctree:: :glob: diff --git a/source/get-help.rst b/source/getting-help.rst similarity index 59% rename from source/get-help.rst rename to source/getting-help.rst index 317fa27..067cb76 100644 --- a/source/get-help.rst +++ b/source/getting-help.rst @@ -1,9 +1,9 @@ -.. _get-help: +.. _getting-help: -Get Help -========= +Getting Help +============ -- instructions on how and where to get help +- Instructions on how and where to get help * Default template for issues/questions diff --git a/source/getting-started.rst b/source/getting-started.rst index 45e8d9e..545b49b 100644 --- a/source/getting-started.rst +++ b/source/getting-started.rst @@ -3,145 +3,193 @@ Getting Started ================ -Turning it on --------------- +Turning board on +---------------- -- PD Adapter + PD cable required with operating 12V/5A (12V Input only!) +- **PD Adapter + PD cable** required with operating 12V/5A - .. image:: images/Power_option.webp - :width: 800 -- Boot from SDcard +.. danger:: + 12V Power Input only! - .. image:: images/SDcard.webp - :width: 800 +.. image:: images/Power_option.webp + :width: 50% - To make an SD card bootable, follow these steps: +---------------- - 1. Format the SD card using a suitable file system (such as FAT32). +Booting from SDcard +^^^^^^^^^^^^^^^^^^^ - 2. Obtain the bootable image or operating system files for your desired platform. +.. image:: images/SDcard.webp + :width: 50% - 3. Use a disk imaging tool (e.g., Etcher, Win32 Disk Imager) to write the bootable image onto the SD card. +**To make an SD card bootable, follow these steps:** - 4. Safely eject the SD card from your computer. +1. Format the SD card using a suitable file system (such as FAT32). +2. Obtain the bootable image or operating system files for your desired platform. +3. Use a disk imaging tool (e.g., Etcher, Win32 Disk Imager) to write the bootable image onto the SD card. +4. Safely eject the SD card from your computer. +5. Insert the bootable SD card into the target device. +6. Power on the device to initiate the boot process from the SD card. - 5. Insert the bootable SD card into the target device. +Booting from eMMC +^^^^^^^^^^^^^^^^^ - 6. Power on the device to initiate the boot process from the SD card. +.. warning:: + Remove SDcard if inserted -- Boot from eMMC (Remove SDcard if inserted) +.. image:: images/eMMC_boot.webp + :width: 50% - .. image:: images/eMMC_boot.webp - :width: 800 +- When the power cable is connected, the **red LED** will be activated, and you can observe its illumination in the image displayed below. -- When the power cable is connected, the red LED will be activated, and you can observe its illumination in the image displayed below. +.. image:: images/Power_LED.webp + :width: 50% - .. image:: images/Power_LED.webp - :width: 800 +Once the booting process is finished, you will notice the activation of the **blue LED**, indicated by a blinking pattern, as demonstrated in the image provided below. -Once the booting process is finished, you will notice the activation of the blue LED, indicated by a blinking pattern, as demonstrated in the image provided below. +.. image:: images/User_LEDs.webp + :width: 50% - .. image:: images/User_LEDs.webp - :width: 800 -How it can be accessed -^^^^^^^^^^^^^^^^^^^^^^ +---------------- - - *Micro HDMI*: Vaaman SBC is equipped with a micro HDMI port, which allows for easy connection to a display. By using a micro HDMI to HDMI cable or adapter, users can connect Vaaman to a monitor or TV with an HDMI input. This enables direct visual access to the graphical user interface (GUI) or command-line interface (CLI) on the connected display. +How to access your Vaaman board +------------------------------- - .. image:: images/HDMI_Option.webp - :width: 800 +Using Micro HDMI +^^^^^^^^^^^^^^^^ - - *Serial*: Vaaman also provides a serial interface, typically in the form of UART (Universal Asynchronous Receiver-Transmitter) pins. Users can access the system's console or terminal interface by connecting to these serial pins using a serial cable or adapter. This method is often used for debugging, troubleshooting, or accessing the system when other interfaces are not available. +Vaaman SBC is equipped with a micro HDMI port, which allows for easy connection to a display. By using a micro HDMI to HDMI cable or adapter, users can connect Vaaman to a monitor or TV with an HDMI input. This enables direct visual access to the graphical user interface (GUI) or command-line interface (CLI) on the connected display. - .. image:: images/USB_Serial.webp - :width: 800 +.. image:: images/HDMI_Option.webp + :width: 50% - When accessing Vaaman SBC through the serial interface, it is important to configure the serial parameters correctly. For RK3399-based systems, the following parameters are typically used: +Using Serial Console +^^^^^^^^^^^^^^^^^^^^ - Baud rate: 1500000 +Vaaman also provides a serial interface, typically in the form of UART (Universal Asynchronous Receiver-Transmitter) pins. Users can access the system's console or terminal interface by connecting to these serial pins using a serial cable or adapter. This method is often used for debugging, troubleshooting, or accessing the system when other interfaces are not available. - Data bit: 8 - - Stop bit: 1 - - Parity check: none - - Flow control: none +.. image:: images/USB_Serial.webp + :width: 50% - For Windows users, you can download PuTTY, :https://www.putty.org/ +.. note:: + When accessing Vaaman SBC through the serial interface, it is important to configure the serial parameters correctly. For RK3399-based systems, the following parameters are typically used: - .. image:: images/Putty_step.webp - :width: 800 + Baud rate: `1500000` - To use serial debugging on Ubuntu + Data bit: `8` - 1. Open a terminal on your Ubuntu machine. You can do this by searching for "Terminal" in the applications menu or by using the shortcut Ctrl+Alt+T. + Stop bit: `1` - 2. Update the package list to ensure you have the latest package information. In the terminal, run the following command: + Parity check: `none` - sudo apt update + Flow control: `none` - 3. Install GTKTerm by running the following command: +.. tip:: + For Windows users, you can download `PuTTY `_, to access the serial console. - sudo apt install gtkterm +.. image:: images/Putty_step.webp + :width: 50% - 4. After the installation is complete, connect your Vaaman SBC to your Ubuntu machine using a serial cable. Ensure that the cable is properly connected to the appropriate serial port on both devices. +**To use serial debugging on Ubuntu** - 5. Run GTKTerm by executing the following command: +1. Open a terminal on your Ubuntu machine. - sudo gtkterm +.. tip:: + You can do this by searching for **"terminal"** in the applications menu or by using the shortcut **Ctrl+Alt+T**. - 6. To access the configuration settings for GTKTerm, you can follow either of these methods: +2. Update the package list to ensure you have the latest package information. In the terminal, run the following command: - 1. Click on the "Configuration" menu and select "Port." +:: - OR + sudo apt update - 2. Press Ctrl+Shift+S. +3. Install **GTKTerm** by running the following command: - By using either of these methods, you will be able to access the configuration settings in GTKTerm, where you can make adjustments to the port settings for your serial connection, as shown in the image below: +:: - .. image:: images/GTKTerm.webp - :width: 800 + sudo apt install gtkterm - - SSH: Vaaman supports SSH (Secure Shell), which allows for secure remote access to the system. By establishing an SSH connection, users can remotely connect to Vaaman from another device, such as a computer or smartphone, over a network. This method provides a secure command-line interface to administer, configure, and execute commands on the Vaaman SBC. +4. After the installation is complete, connect your Vaaman SBC to your Ubuntu machine using a serial cable. - 1. Install OpenSSH server by executing the following command: +.. note:: + Ensure that the cable is properly connected to the appropriate serial port on both devices. - sudo apt install openssh-server +5. Run **GTKTerm** by executing the following command: - 2. Once OpenSSH is installed, it should start automatically. You can verify its status by running: +:: - sudo systemctl status ssh + sudo gtkterm - If it is active and running, you should see a "active (running)" message. +6. To access the configuration settings for GTKTerm, you can follow either of these methods: - 3. Next, install Avahi-daemon to enable local name resolution. Run the following command: +Click on the **"Configuration"** menu and select **"Port"**. - sudo apt install avahi-daemon +OR - 4. After the installation, Avahi-daemon should start automatically. Verify its status by running: +Press **Ctrl+Shift+S**. - sudo systemctl status avahi-daemon +By using either of these methods, you will be able to access the configuration settings in GTKTerm, where you can make adjustments to the port settings for your serial connection, as shown in the image below: - Ensure that it is active and running. +.. image:: images/GTKTerm.webp + :width: 50% - To access Vaaman SBC through SSH, you can use either of the following commands: +Using SSH +^^^^^^^^^ - 5. SSH using the IP address: +Vaaman supports **SSH (Secure Shell)**, which allows for secure remote access to the system. By establishing an SSH connection, users can remotely connect to Vaaman from another device, such as a computer or smartphone, over a network. This method provides a secure command-line interface to administer, configure, and execute commands on the Vaaman SBC. - ssh username@ip_address +1. Install **OpenSSH server** by executing the following command: - Replace "username" with the appropriate username for Vaaman and "ip_address" with the actual IP address assigned to Vaaman on the network. +:: - 6. SSH using the PC name (hostname): + sudo apt install openssh-server - ssh username@pc-name.local +2. Once **OpenSSH** is installed, it should start automatically. You can verify its status by running: - Replace "username" with the appropriate username for Vaaman and "pc-name" with the actual PC name assigned to Vaaman on the network. +:: + + sudo systemctl status ssh + +.. note:: + If it is active and running, you should see a **active (running)** message. + +3. Next, install **Avahi-daemon** to enable local name resolution. Run the following command: + +:: + + sudo apt install avahi-daemon + +4. After the installation, **Avahi-daemon** should start automatically. Verify its status by running: + +:: + + sudo systemctl status avahi-daemon + +.. note:: + Ensure that it is active and running by checking for the **active (running)** message. + +**To access Vaaman SBC through SSH, you can use either of the following commands:** + +5. SSH using the IP address: + +:: + + ssh username@ip_address + +.. tip:: + Replace **"username"** with the appropriate username for Vaaman and **"ip_address"** with the actual IP address assigned to Vaaman on the network. + +6. SSH using the PC name (hostname): + +:: + + ssh username@pc-name.local + +.. tip:: + Replace **"username"** with the appropriate username for Vaaman and **"pc-name"** with the actual PC name assigned to Vaaman on the network. Where to go from here --------------------- - - :ref:`Vaaman Application ` - - :ref:`Downloads ` +- :ref:`Vaaman Application ` +- :ref:`Downloads ` diff --git a/source/index.rst b/source/index.rst index c016b8f..7b797c0 100644 --- a/source/index.rst +++ b/source/index.rst @@ -5,22 +5,34 @@ Welcome to Vaaman's documentation! ================================== +The **Vaaman Single Board Computer** (SBC) combines the RK3399 processor and Efinix Trion T120 FPGA. It offers a powerful yet energy-efficient computing solution for various applications. The RK3399 processor provides high performance and low power consumption, while the Trion T120 FPGA allows for customizable hardware acceleration. + +With its compact size, the Vaaman SBC is suitable for space-constrained environments and offers a range of connectivity options. +Overall, it empowers developers to create innovative solutions that require both processing power and hardware customization. + +.. image:: images/Vaaman-top.webp + :width: 50% + :align: left + +.. note:: + Check out the :doc:`overview` for a quick introduction to Vaaman, and the :doc:`getting-started` guide to get started with Vaaman. + +.. note:: + We welcome contributions and bug reports through our `GitHub repository `_. See the :doc:`contributing` guide and :doc:`getting-help` for more information. .. toctree:: - :maxdepth: 2 - - Overview - getting-started - Downloads - vaaman-sdk - vaaman-applications - vaaman-linux/index - get-help - linux-document - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` + :glob: + :maxdepth: 1 + :caption: Notes + + Overview + Getting Started + Getting Help + Vaaman SDK Documentation + Vaaman Application Documentation + Vaaman Linux Documentation + +.. toctree:: downloads + :glob: + :maxdepth: 1 + :caption: Downloads diff --git a/source/linux-document.rst b/source/linux-document.rst deleted file mode 100644 index 404fde0..0000000 --- a/source/linux-document.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. _linux-document: - -Linux Document -============== - -+------------+------------+-----------+ -| Header 1 | Header 2 | Header 3 | -+============+============+===========+ -| EFINIX 1 | column 2 | column 3 | -+------------+------------+-----------+ -| body row 2 | Cells may span columns.| -+------------+------------+-----------+ -| body row 3 | Cells may | - Cells | -+------------+ span rows. | - contain | -| body row 4 | | - blocks. | -+------------+------------+-----------+ \ No newline at end of file diff --git a/source/overview.rst b/source/overview.rst new file mode 100644 index 0000000..e523129 --- /dev/null +++ b/source/overview.rst @@ -0,0 +1,78 @@ +.. _overview: + +Overview +======== + +Who is Vaaman For? +------------------ + +Vaaman is useful to a wide range of users, these include but are not limited to: + +**Software Developers**: + A significant portion of the user base consists of software developers who utilize the SBC's FPGA capabilities to optimize software performance, accelerate computations, and explore hardware acceleration. + +**Researchers**: + Vaaman with its FPGA attracts researchers who leverage its potential for implementing custom algorithms, conducting experiments, and prototyping novel solutions. The FPGA serves as a valuable tool for their research endeavors. + +**Hardware Designers**: + The SBC appeals to hardware designers as it provides a platform for developing and testing hardware designs. They can use the FPGA to prototype and verify their designs efficiently, enabling rapid iterations. + +**Hobbyist Users**: + The SBC also attracts ordinary users with an interest in tinkering and learning about cutting-edge technologies. They can utilize the SBC's versatility for various projects such as robotics, home automation, and DIY electronics. + + +Features +-------- + +The Vaaman Single Board Computer (SBC) offers a range of hardware features, including: + +.. list-table:: + :widths: 15 10 + :header-rows: 1 + + * - Type + - Feature + * - Display + - | 1 x HDMI 2.0 (Micro), Support maximum 4K@60Hz display + | 1 x MIPI, Support 2560x1600@60fps output with dual channel. + * - Audio + - 3.5mm jack with mic + * - Ethernet + - 10/100/1000Mbps Ethernet (Realtek RTL8211E) + * - Camera + - MIPI CSI 2 lanes via FPC connector, support up to 800MP camera + * - Wireless + - Integrated WiFi Combo Module (6222B-SRC) WiFi 2.4G+5G WiFi 2T2R BT5.0 + * - PCIe + - PCIe Interface via FPC connector + * - USB + - 2x USB2.0 HOST, 1x USB3.0, 1x USB3.0 Type-C + * - RTC + - Support RTC, on-board backup battery interface + * - I/O + - | 1 x UART + | 2 x SPI bus + | 2 x I2C bus + | 1 x PCM/I2S + | 1 x SPDIF + | 1 x PWM + | 1 x ADC + | 6 x GPIO + | 2 x 5V DC + | 2 x 3.3V power pin + * - FPGA + - | Efinix® T120F324 device in a 324-ball FineLine BGA package. + | DRAM Chip DDR3 SDRAM 4Gbit 256Mx16 1.35V/1.5V. + | 128 Mbit SPI NOR flash memory. + | MIPI-CSI RX connector with 4 data lanes and 1 clock lane. + | MIPI-CSI TX connector with 4 data lanes and 1 clock lane. + | LVDS Transmitter interface connector that supports 20 Lanes. + | LVDS Receiver interface connector that supports 20 Lanes. + | JTAG headers for configuration. + | User selectable voltages from 1.8 V, 2.5 V, and 3.3 V for bank 1B, 1C, and 2F. + | 40-pin GPIO header supported with 12-pin 1 PMOD and 2 LVDS lane or 25 GPIOs. + | 10, 20, 25, 30, 50, and 74.25 MHz oscillators for T120F324 PLL input. + | 4 User LEDs on T120F324 bank 2F. + +.. note:: + Check out :ref:`Getting Started with Vicharak Vaaman `. Also, have a look at :ref:`Vaaman Application Documentation ` and :ref:`Downloads section ` diff --git a/source/vaaman-linux/index.rst b/source/vaaman-linux/index.rst index 233ee89..c997262 100644 --- a/source/vaaman-linux/index.rst +++ b/source/vaaman-linux/index.rst @@ -1,19 +1,20 @@ Vaaman Linux Documentation -================================================ +========================== -This is the documentation for the Vicharak Vaaman Linux Specific Documentation. -Linux is the core of the Vaaman Operating System. This documentation is divided -into three parts +This documentation pertains to the specific documentation for Vicharak Vaaman Linux. It encompasses information about the development, configuration, and usage of the Vaaman Linux Operating System. -1. Linux Development Guide -2. Linux Configuration Guide -3. Linux Usage Guide +**Guide to Linux Development** +This guide focuses on the creation of the Vaaman Linux Operating System. It includes instructions on developing components like the bootloader, kernel, and rootfs. ------------- +**Guide to Linux Configuration** +This guide provides information on configuring the Vaaman Linux Operating System. It covers the tools and scripts used to configure elements such as the bootloader, kernel, and rootfs. + +**Guide to Linux Usage** +This guide provides instructions on how to use the Vaaman Linux Operating System. It includes user-specific configurations and tutorials for the Vaaman Linux Operating System. .. toctree:: - :maxdepth: 2 + :maxdepth: 1 :caption: Contents: linux-development-guide/index diff --git a/source/vaaman-linux/linux-configuration-guide/change-uboot-logo.md b/source/vaaman-linux/linux-configuration-guide/change-uboot-logo.md new file mode 100644 index 0000000..baec66d --- /dev/null +++ b/source/vaaman-linux/linux-configuration-guide/change-uboot-logo.md @@ -0,0 +1,34 @@ +{#change-uboot-logo} +# How to change U-Boot Logo + +**To change the U-Boot logo, you'll need to follow these steps:** +- Prepare your new logo. +:::{attention} +Ensure that your logo is in the BMP (Bitmap) format, with a color depth of 24 bits (RGB). The logo size should be less than 1MiB to fit within the constraints of U-Boot. +::: + +- Convert the logo to the correct format: +:::{tip} +If your logo is not already in the correct format, you can use an image editing software like GIMP or Photoshop to convert it. Open the logo in the software, adjust the color depth to 24 bits, and save it in BMP format. +::: + +- Access the U-Boot source code: Obtain the U-Boot source code for Vaaman from Vicharak [U-Boot GitHub repository](https://github.com/vicharak-in/u-boot-vicharak). + +- Locate the logo file: In the U-Boot source code, navigate to the `drivers/video/drm/` where the logo file is contained. The logo file is typically named logo.h or similar. + +- Converting BMP file to logo.h (Using vicharak `bmp2hex` tool). +``` +./tools/bmp2hex logo.bmp + +mv logo.h drivers/video/drm/logo.h +``` + +- Recompile U-Boot: Recompile the U-Boot source code with your new logo. Follow the instructions provided with the U-Boot source code to build it for your specific board or device. + +- Flash the new U-Boot image: Once you have successfully compiled the U-Boot source code, you'll need to flash the new U-Boot image to your device. + +:::{note} +The flashing process depends on the specific board you are using. Refer to the Vaaman's documentation or the U-Boot documentation for instructions on how to flash the new image. +::: + +- Test the new logo: After flashing the new U-Boot image, reboot your device. You should now see your custom logo during the U-Boot boot-up process. diff --git a/source/vaaman-linux/linux-configuration-guide/index.rst b/source/vaaman-linux/linux-configuration-guide/index.rst index 0c0d3f7..1711aa8 100644 --- a/source/vaaman-linux/linux-configuration-guide/index.rst +++ b/source/vaaman-linux/linux-configuration-guide/index.rst @@ -1,10 +1,12 @@ Linux Configuration Guide -================================================ +========================= + Linux Configuration Guide is a collection of Linux configuration guides and tutorials. These guides are written in a way that even a beginner can follow them. .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 1 + :caption: Configuration Guides - vicharak-config-tool + Vicharak Linux Configuration Utility + Change U-Boot Logo diff --git a/source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md b/source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md index 377b68c..f167b6d 100644 --- a/source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md +++ b/source/vaaman-linux/linux-configuration-guide/vicharak-config-tool.md @@ -1,25 +1,164 @@ +{#vicharak-config-tool} + # Vicharak Linux Configuration Tool -**vicharak-config** is a tool that is purely written using shell script and allows -users to configure and setup their linux system configuration. +Vicharak linux systems includes **vicharak-config** tool which is purely written +using shell scripts that allows users to configure and setup their linux system configuration. + +It provides a **TUI** interface to configure different linux specific configurations. +Use `sudo vicharak-config` to get started. + +It is supported on all debian based systems such as Debian buster/bullseye, +Ubuntu focal/jammy and other third party systems such as Armbian. + +:::{admonition} **Fact** +:class: tip +vicharak-config also has a systemd service that is use configure system +prior to system boot and after the system boots. +::: + +:::{admonition} **Vicharak Config TUI** +:class: dropdown + +```bash +┌───────────────────────────────────┤ VICHARAK_CONFIG ├────────────────────────────────────┐ +│ Please select an option below: │ +│ │ +│ System Maintaince │ +│ Hardware │ +│ Overlays │ +│ Connectivity │ +│ Advanced Options │ +│ User Settings │ +│ Localization │ +│ About │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────┘ +``` + +:::{note} +The above menu might be shown differently depending on the terminal style. +::: +::: + +## How to navigate around vicharak-config + +- Use **UP** or **DOWN** key to move the selection across available options. +- Use **RIGHT** or **LEFT** key to move `in` or `out` of the options menu and also, + allows you to select **** or **** option. +- Alternatively, you can also use **TAB** key to switch between them. +- **Enter** key is used to confirm the corresponding option. +- **ESC** key is used to do back to previous menu. + +## Available Features + +- [System maintainance](#vc-system-maintainance) + Update packages and bootloader. +- [Hardware configuration](#vc-hardware) + Capture camera frame, Enable LEDs, Change thermal governor, DSI mirroring +- [Overlays](#vc-overlays) + Enable DTBO overlays, Build third-party DTBO +- [Connectivity](#vc-connectivity) + Configure network using **nmtui** +- [Advanced Options](#vc-advanced-options) + Install GPU library and enable OpenGL support +- [User Settings](#vc-user-settings) + Change system password and hostname +- [Localization](#vc-localization) + Change Timezone/Locale/Keyboard and Wi-Fi Country + +{#vc-system-maintainance} + +### System Maintainance + +This feature allows you to update the packages and bootloader. + +- Update packages: This option allows you to update the packages that are installed + on the system. It uses `apt-get` to update the packages. +- Update bootloader: This option allows you to update the bootloader. It uses + `setup.sh` installed from `vicharak-firmware` package to update the bootloader. + +{#vc-hardware} + +### Hardware + +This feature allows you to configure different hardware options. + +- Capture camera frame: This option allows you to capture the camera frame using + `v4l2-ctl`. It uses `v4l2-ctl` to capture the camera frame. +- Enable LEDs: This option allows you to enable/disable the LEDs. It changes the + leds trigger by echoing the specific trigger to the LED sysfs. +- Change thermal governor: This option allows you to change the thermal governor. + It changes thermal governor by echoing to the specific sysfs. +- DSI mirroring: This option allows you to enable/disable DSI mirroring. + It uses `vicharak-config` to enable/disable DSI mirroring. + +{#vc-overlays} + +### Overlays + +This feature allows you to configure different overlays options. + +- Enable DTBO overlays: This option allows you to enable/disable the DTBO overlays. + It uses `update-uboot` script installed inside rootfs to enable or disable the specific + dtbo overlay from extlinux configuration. +- Build third-party DTBO: This option allows you to build the third-party DTBO. + It builds and installs the dtbo using the `device-tree-compiler` utility. + +{#vc-connectivity} + +### Connectivity + +This feature allows you to configure different connectivity options. + +- Configure network: This option allows you to configure network using `nmtui`. + +{#vc-advanced-options} + +### Advanced Options + +This feature allows you to configure different advanced options. + +- Install GPU library: + This option allows you to install Mali GPU library and enable OpenGL support. + + It uses `apt install` to install the mali library from `userdata` partition + and enables the `gl4es` library support for converting OpenGL-ES context to OpenGL. + + :::{tip} + Use `gl4es` prefix with your desired application to run that application with OpenGL. + + Example: `gl4es supertuxkart` + ::: + +{#vc-user-settings} + +### User Settings -It supports **TUI / CLI** interface to configure different linux specific configurations. +This feature allows you to configure different user settings. -It supports all debian based systems such as debian buster/bullseye, -ubuntu focal/jammy and all armbian builds. +- Change system password: This option allows you to change the system password. + It uses `passwd` to change the system password. +- Change hostname: This option allows you to change the system hostname. + It uses `hostnamectl` to change the system hostname. +{#vc-localization} +### Localization -## vicharak-config features +This feature allows you to configure different localization options. -1. Update system packages (System Update). -2. Update Bootloader (TODO!). -3. Capture video from camera. -4. Configure on-board GPIO LEDs. -5. Configure thermal governors. -6. DSI display mirroring (TODO!). -7. Configure DTBO overlays. -8. Build and install DTBO overlay from source. -9. Configure Network using network manager. -10. Change system password and hostname. -11. Change Timezone/Locale/Keyboard and Wi-Fi Country. +- Change Timezone: This option allows you to change the system timezone. + It uses `timedatectl` to change the system timezone. +- Change Locale: It will generate the new locale as per the selection. diff --git a/source/vaaman-linux/linux-development-guide/index.rst b/source/vaaman-linux/linux-development-guide/index.rst index d786738..9605468 100644 --- a/source/vaaman-linux/linux-development-guide/index.rst +++ b/source/vaaman-linux/linux-development-guide/index.rst @@ -1,14 +1,14 @@ Linux Development Guide -================================================ +======================= This is the documentation for the Linux Development Guide. This guide is intended for developers who want to develop linux and linux applications. .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 1 + :caption: Development Guide - build-u-boot - build-linux-kernel - build-linux-rootfs - build-linux-image + How to build u-boot + How to build linux kernel + How to build linux rootfs image + How to create a linux system image diff --git a/source/vaaman-linux/linux-usage-guide/custom-linux-kernel.md b/source/vaaman-linux/linux-usage-guide/custom-linux-kernel.md new file mode 100644 index 0000000..86933b7 --- /dev/null +++ b/source/vaaman-linux/linux-usage-guide/custom-linux-kernel.md @@ -0,0 +1,14 @@ +{#custom-linux-kernel} + +# How to use custom linux kernel + +**Types of kernels available for vaaman** + +**Link to build kernel guide** + +**Available flashing methodologies** +Extlinux vs uboot.scr + +**vicharak kernel build script** + + diff --git a/source/vaaman-linux/linux-usage-guide/index.rst b/source/vaaman-linux/linux-usage-guide/index.rst index c5cf8cd..0aec304 100644 --- a/source/vaaman-linux/linux-usage-guide/index.rst +++ b/source/vaaman-linux/linux-usage-guide/index.rst @@ -1,10 +1,11 @@ Linux Usage Guide -================================================ +================= This guide is intended to help you get started with Linux on your Vicharak Board. .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 1 + :caption: User Guides - spi-configure + How to flash FPGA firmware to SPI Flash + How to use custom linux kernel