From c743206ae17005d94187b9277d2f117c5bb86dca Mon Sep 17 00:00:00 2001 From: Elijah AB Date: Mon, 13 Apr 2026 17:13:26 -0700 Subject: [PATCH 1/3] initial build not of RTC, small mods may come later --- doc/build/rtc_buildnote.rst | 104 ++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 doc/build/rtc_buildnote.rst diff --git a/doc/build/rtc_buildnote.rst b/doc/build/rtc_buildnote.rst new file mode 100644 index 0000000..51253c5 --- /dev/null +++ b/doc/build/rtc_buildnote.rst @@ -0,0 +1,104 @@ +Certainly! Here is your updated documentation—now including the author names and the current date—formatted as a **reStructuredText (.rst)** file. + +.. code-block:: rst + + ================================================ + System Build: TCC & Real-Time Kernel + ================================================ + + :Authors: Elijah A-B, Dan Ech + :Date: 2026-04-13 + :System Name: hsfei + + 1. Prerequisites & Media Preparation + ==================================== + To ensure a clean environment, all drives were erased before starting the + **0% -> 100% build**. + + USB Drive A: Ubuntu Installer + ----------------------------- + * **OS:** Ubuntu Server 24.04.1 LTS + * **Source:** Official Ubuntu Download + * **Format:** Bootable ISO + + USB Drive B: Cloud-Init (CIDATA) + -------------------------------- + * **Format:** FAT32 + * **Volume Name:** ``CIDATA`` + * **Required Files (Root Directory):** + * ``user-data``: YAML formatted configuration file. + * ``meta-data``: Empty file (required for boot check). + + 2. OS Installation (Ubuntu Server 24.04) + ======================================== + *Note: Due to issues with the automated installation, the manual method was used.* + + Installation Parameters + ----------------------- + * **Language/Keyboard:** English + * **Networking:** Ethernet connected; No Proxy. + * **Mirror:** ``[http://us.archive.ubuntu.com/ubuntu/](http://us.archive.ubuntu.com/ubuntu/)`` (Default) + + Storage Configuration + --------------------- + * **Primary Drive:** Samsung 990 Pro (1TB). + * **Mount Points:** Temporary format of the 2TB drive as ``ext4``, mounted to ``/usr``. + * **Note:** Software RAID 1 was bypassed; to be configured at a later stage. + + Credentials + ----------- + * **Name/Server/User:** ``hsfei`` + * **Password:** ``fain'tdev`` + * **Software:** Default "Popular Snaps" selected. + + 3. Post-Install System Hardening + ================================ + Run the following commands immediately after the first boot: + + System Updates + -------------- + .. code-block:: bash + + sudo apt update && sudo apt upgrade -y + + Enable Real-Time Kernel + ---------------------- + The Real-Time (RT) kernel requires an Ubuntu Pro subscription (using ``elijahab`` account). + + .. code-block:: bash + + # Attach Ubuntu Pro + sudo pro attach [USER_TOKEN] + + # Enable RT Kernel + sudo pro enable realtime-kernel + + CPU Shielding & GRUB Optimization + --------------------------------- + To optimize performance, 6 cores were shielded to prevent background OS interference. + + 1. Edit ``/etc/default/grub``: + + .. code-block:: text + + GRUB_CMDLINE_LINUX_DEFAULT="quiet splash clocksource=tsc tsc=reliable nmi_watchdog=0 nosoftlockup isolcpus=domain,0-5 rcu_nocbs=0-5 nohz_full=0-5 irqaffinity=0" + + 2. Update GRUB and Reboot. + + .. tip:: + You can now assign threads to these shielded cores (0-5) using ``taskset`` + or via codebase affinity settings. + + 4. TCC Mode (Time Coordinated Computing) + ======================================== + + Enable Sequence + --------------- + 1. Enter BIOS -> **Enable TCC Mode**. + 2. Perform a **Double Reboot** to ensure all hardware settings are applied. + + 5. Pending Tasks + ================ + * [ ] **Static IP Assignment:** Change from DHCP to ``192.168.29.107``. + * [ ] **Software Stack:** Follow GitHub build notes for Python libraries, C++ sources, and hardware drivers. + * [ ] **RAID:** Finalize hardware or software RAID 1 configuration for data drives. \ No newline at end of file From bf76ad841aa34f0c65d9a48d97deb6fb8a397abc Mon Sep 17 00:00:00 2001 From: Elijah AB Date: Mon, 13 Apr 2026 17:14:43 -0700 Subject: [PATCH 2/3] small change --- doc/build/rtc_buildnote.rst | 155 ++++++++++++++++++------------------ 1 file changed, 76 insertions(+), 79 deletions(-) diff --git a/doc/build/rtc_buildnote.rst b/doc/build/rtc_buildnote.rst index 51253c5..ffa11b2 100644 --- a/doc/build/rtc_buildnote.rst +++ b/doc/build/rtc_buildnote.rst @@ -1,104 +1,101 @@ -Certainly! Here is your updated documentation—now including the author names and the current date—formatted as a **reStructuredText (.rst)** file. -.. code-block:: rst +================================================ +System Build: TCC & Real-Time Kernel +================================================ - ================================================ - System Build: TCC & Real-Time Kernel - ================================================ +:Authors: Elijah A-B, Dan Ech +:Date: 2026-04-13 +:System Name: hsfei - :Authors: Elijah A-B, Dan Ech - :Date: 2026-04-13 - :System Name: hsfei +1. Prerequisites & Media Preparation +==================================== +To ensure a clean environment, all drives were erased before starting the +**0% -> 100% build**. - 1. Prerequisites & Media Preparation - ==================================== - To ensure a clean environment, all drives were erased before starting the - **0% -> 100% build**. +USB Drive A: Ubuntu Installer +----------------------------- +* **OS:** Ubuntu Server 24.04.1 LTS +* **Source:** Official Ubuntu Download +* **Format:** Bootable ISO - USB Drive A: Ubuntu Installer - ----------------------------- - * **OS:** Ubuntu Server 24.04.1 LTS - * **Source:** Official Ubuntu Download - * **Format:** Bootable ISO +USB Drive B: Cloud-Init (CIDATA) +-------------------------------- +* **Format:** FAT32 +* **Volume Name:** ``CIDATA`` +* **Required Files (Root Directory):** + * ``user-data``: YAML formatted configuration file. + * ``meta-data``: Empty file (required for boot check). - USB Drive B: Cloud-Init (CIDATA) - -------------------------------- - * **Format:** FAT32 - * **Volume Name:** ``CIDATA`` - * **Required Files (Root Directory):** - * ``user-data``: YAML formatted configuration file. - * ``meta-data``: Empty file (required for boot check). +2. OS Installation (Ubuntu Server 24.04) +======================================== +*Note: Due to issues with the automated installation, the manual method was used.* - 2. OS Installation (Ubuntu Server 24.04) - ======================================== - *Note: Due to issues with the automated installation, the manual method was used.* +Installation Parameters +----------------------- +* **Language/Keyboard:** English +* **Networking:** Ethernet connected; No Proxy. +* **Mirror:** ``[http://us.archive.ubuntu.com/ubuntu/](http://us.archive.ubuntu.com/ubuntu/)`` (Default) - Installation Parameters - ----------------------- - * **Language/Keyboard:** English - * **Networking:** Ethernet connected; No Proxy. - * **Mirror:** ``[http://us.archive.ubuntu.com/ubuntu/](http://us.archive.ubuntu.com/ubuntu/)`` (Default) +Storage Configuration +--------------------- +* **Primary Drive:** Samsung 990 Pro (1TB). +* **Mount Points:** Temporary format of the 2TB drive as ``ext4``, mounted to ``/usr``. +* **Note:** Software RAID 1 was bypassed; to be configured at a later stage. - Storage Configuration - --------------------- - * **Primary Drive:** Samsung 990 Pro (1TB). - * **Mount Points:** Temporary format of the 2TB drive as ``ext4``, mounted to ``/usr``. - * **Note:** Software RAID 1 was bypassed; to be configured at a later stage. +Credentials +----------- +* **Name/Server/User:** ``hsfei`` +* **Password:** ``fain'tdev`` +* **Software:** Default "Popular Snaps" selected. - Credentials - ----------- - * **Name/Server/User:** ``hsfei`` - * **Password:** ``fain'tdev`` - * **Software:** Default "Popular Snaps" selected. +3. Post-Install System Hardening +================================ +Run the following commands immediately after the first boot: - 3. Post-Install System Hardening - ================================ - Run the following commands immediately after the first boot: +System Updates +-------------- +.. code-block:: bash - System Updates - -------------- - .. code-block:: bash + sudo apt update && sudo apt upgrade -y - sudo apt update && sudo apt upgrade -y +Enable Real-Time Kernel +---------------------- +The Real-Time (RT) kernel requires an Ubuntu Pro subscription (using ``elijahab`` account). - Enable Real-Time Kernel - ---------------------- - The Real-Time (RT) kernel requires an Ubuntu Pro subscription (using ``elijahab`` account). +.. code-block:: bash - .. code-block:: bash + # Attach Ubuntu Pro + sudo pro attach [USER_TOKEN] - # Attach Ubuntu Pro - sudo pro attach [USER_TOKEN] + # Enable RT Kernel + sudo pro enable realtime-kernel - # Enable RT Kernel - sudo pro enable realtime-kernel +CPU Shielding & GRUB Optimization +--------------------------------- +To optimize performance, 6 cores were shielded to prevent background OS interference. - CPU Shielding & GRUB Optimization - --------------------------------- - To optimize performance, 6 cores were shielded to prevent background OS interference. +1. Edit ``/etc/default/grub``: - 1. Edit ``/etc/default/grub``: +.. code-block:: text - .. code-block:: text + GRUB_CMDLINE_LINUX_DEFAULT="quiet splash clocksource=tsc tsc=reliable nmi_watchdog=0 nosoftlockup isolcpus=domain,0-5 rcu_nocbs=0-5 nohz_full=0-5 irqaffinity=0" - GRUB_CMDLINE_LINUX_DEFAULT="quiet splash clocksource=tsc tsc=reliable nmi_watchdog=0 nosoftlockup isolcpus=domain,0-5 rcu_nocbs=0-5 nohz_full=0-5 irqaffinity=0" +2. Update GRUB and Reboot. - 2. Update GRUB and Reboot. +.. tip:: + You can now assign threads to these shielded cores (0-5) using ``taskset`` + or via codebase affinity settings. - .. tip:: - You can now assign threads to these shielded cores (0-5) using ``taskset`` - or via codebase affinity settings. +4. TCC Mode (Time Coordinated Computing) +======================================== - 4. TCC Mode (Time Coordinated Computing) - ======================================== +Enable Sequence +--------------- +1. Enter BIOS -> **Enable TCC Mode**. +2. Perform a **Double Reboot** to ensure all hardware settings are applied. - Enable Sequence - --------------- - 1. Enter BIOS -> **Enable TCC Mode**. - 2. Perform a **Double Reboot** to ensure all hardware settings are applied. - - 5. Pending Tasks - ================ - * [ ] **Static IP Assignment:** Change from DHCP to ``192.168.29.107``. - * [ ] **Software Stack:** Follow GitHub build notes for Python libraries, C++ sources, and hardware drivers. - * [ ] **RAID:** Finalize hardware or software RAID 1 configuration for data drives. \ No newline at end of file +5. Pending Tasks +================ +* [ ] **Static IP Assignment:** Change from DHCP to ``192.168.29.107``. +* [ ] **Software Stack:** Follow GitHub build notes for Python libraries, C++ sources, and hardware drivers. +* [ ] **RAID:** Finalize hardware or software RAID 1 configuration for data drives. \ No newline at end of file From 2078dbcad143b461f2f40a767f0a48300f8694a6 Mon Sep 17 00:00:00 2001 From: Elijah AB Date: Tue, 14 Apr 2026 09:44:29 -0700 Subject: [PATCH 3/3] Testing to see if this affects fei stages --- doc/build/fei_server_build_notes.rst | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/doc/build/fei_server_build_notes.rst b/doc/build/fei_server_build_notes.rst index cb87d87..d5f7f30 100644 --- a/doc/build/fei_server_build_notes.rst +++ b/doc/build/fei_server_build_notes.rst @@ -9,32 +9,7 @@ System Requirements - Python: 3.12 (required) -User and Hostname Setup -======================= - -Create a development user ``hsdev`` and facility user ``hispecfei``: - -.. code-block:: bash - - # Create users - sudo adduser hsdev - sudo adduser hispecfei - # Add users to sudo group - sudo usermod -aG sudo hsdev - sudo usermod -aG sudo hispecfei - - # Add serial access group - sudo usermod -aG dialout hsdev - sudo usermod -aG dialout hispecfei - - # Set new hostname - sudo hostnamectl set-hostname hispecfei - sudo vim /etc/hosts - -In ``/etc/hosts`` (opened with ``vim``), change the line: - -.. code-block:: text 127.0.1.1 old-hostname