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 diff --git a/doc/build/rtc_buildnote.rst b/doc/build/rtc_buildnote.rst new file mode 100644 index 0000000..ffa11b2 --- /dev/null +++ b/doc/build/rtc_buildnote.rst @@ -0,0 +1,101 @@ + +================================================ +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