User Tools

Site Tools


playground:9front_terminal_on_a_raspberry_pi_2_b

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
playground:9front_terminal_on_a_raspberry_pi_2_b [2021/09/02 23:11] – [A Plan 9 9front rcpu application] hc9playground:9front_terminal_on_a_raspberry_pi_2_b [2021/11/12 03:50] (current) – removed hc9
Line 1: Line 1:
-====== VPS - Plan 9 / 9Front, the namespace, and an interactive terminal ====== 
- 
-  * This tutorial is intended for SDF Boot Camp participants, providing them and overview. 
-  * It's a supplement to the SDF Plan 9 Boot Camp tutorials. 
-  * And, a tutorial about the Raspberry Pi 2 B. 
-    * An amd64 terminal (''term%'') is an optional topic. 
- 
-===== DRAFT tutorial ===== 
- 
-//====== 9front terminal on a Raspberry Pi 2 B ======// 
- 
-|:!:|THIS IS A DRAFT| 
- 
-**About** 
- 
-This is a tutorial about setting-up the Plan 9 9front <sup>1</sup> operating system, as a terminal on a Raspberry Pi 2 Model B. The tutorial is aimed at participants in the SDF [[:vps_-_plan_9_9front|Plan 9 Boot Camp]] <sup>2</sup>, but should be useful to other SDF VPS users. 
- 
-The following steps assume that you have edited files while user “glenda”, have run '% fshalt' from the VPS console rc prompt (%) or Drawterm rio rc prompt (%), been able to “[s] - Force Shutdown”, “[r] - reset or start” from the VPS Maintenance Shell, and have used 9front Drawterm successfully. 
- 
-The [[:sdf|SDF]] [[:vps_-_plan_9_9front|Plan 9 / 9Front]] [[:sdf_virtual_private_server_service|VPS]], 9front Drawterm, and a 9front 9pi terminal are independent. This tutorial is for educational purposes, and provides additional information about a 9pi. The 9front [[:vps_-_9front#front_drawterm|Drawterm]] works __very__ well. Yet, some participants may decide to read about a 9pi terminal. The SDF //Boot Camp// participants study virtualized //amd64 9front//. 
- 
-<sup>1</sup> [[http://fqa.9front.org/fqa1.html|Plan9front]] (or //9front//) is a fork of the //Plan 9// from [[ https://9p.io/plan9/index.html|Bell Labs operating system]]; [[wp>Plan_9_from_Bell_Labs#Derivatives_and_forks|Plan 9 Derivatives and forks]]. <sup>2</sup> [[wp>Booting|Booting]] 
- 
- 
-==== Less ambitious: ==== 
- 
-ISO \\ [[http://9front.org/iso/]] \\ *pi.img.gz 
- 
-**Note**: 
- 
-RELEASE \\ [[http://www.9front.org/releases/]] \\ The pi.img file can be used for Raspberry Pi 1, 2, and 3. \\ The pi3.img file can be used for Raspberry Pi 3 and 4 (1/27/2021;  9FRONT “EMAILSCHADEN” RELEASED 2020/10/19). 
- 
-OR 
- 
-==== More ambitious: ==== 
- 
-Appendix J - Junk \\ Raspberry Pi \\ [[http://fqa.9front.org/appendixj.html]] 
- 
- 
-==== CAUTION: ==== 
- 
-|:!:|CAUTION||:!:|CAUTION||:!:|CAUTION|:!:| 
- 
-Cautionary instructions for **working with SD cards** can be found here: 
- 
-Installing operating system images \\ [[https://www.raspberrypi.org/documentation/installation/installing-images/]] \\ "Writing the image" \\ "How you write the image to the SD card will depend on the operating system you are using." 
- 
-  * Linux 
-  * Mac OS 
-  * Windows 
-  * Chrome OS 
- 
-=== The copy to an SD card process: === 
- 
-**Linux**: 
- 
-|:!:|Run ''lsblk -p'' to see which devices are currently connected to **your machine**.| 
-|:!:|The mentioned ''/dev/sdc'' may __not__ apply to **your machine**. Locate the proper SD card designation, first.| 
-|:!:|Do not guess. Verify first.| 
-|  **..**|Optionally, a separate computer can be used, where there is no danger of damaging a hard drive.| 
- 
-  * Run ''lsblk -p'' to see which devices are currently connected to your machine. <code> lsblk -p 
-</code> 
- 
-  * (:!: CAUTION) ''/dev/sdc'' may __not__ apply to **your machine**. <code>  
-sudo dd bs=1M if=9pi.img of=/dev/sdc 
-lsblk -p 
-umount /dev/sdc1 
-sync 
-</code> 
- 
-|:!:|THIS IS A DRAFT| 
- 
-=== The copy image process: === 
- 
-  * Insert the MicroSD card. 
-    * Start the Raspberry Pi 2 B. 
- 
-<code> 
-% 9fs pidos 
-% cp /sys/src/9/bcm/9pi2 /n/pidos/9pi2 
-</code> 
- 
-Edit **cmdline.txt** if needed: 
- 
-<code> 
-% cd /n/pidos/ 
-% lc cmdline.txt 
-% sam cmdline.txt 
-</code> 
- 
-|:!:|Add text with a single space separator, for example “mouseport=ps2intellimouse”; all “cmdline.txt” entries remain on a **single line**.| 
- 
-Example of additional **cmdline.txt** text: 
- 
-<file> 
-console=0 mouseport=ps2intellimouse 
-</file> 
- 
-  * Optional (:!: CAUTION) example: <file> console=0 mouseport=ps2intellimouse nobootprompt=local!#S/sdM0/fs user=glenda 
-</file> 
-    * :!: //local!#S/sdM0/fs// is an **example** only. 
-      * Boot the 9pi without the optional example. 
-      * Replace //local!#S/sdM0/fs// with what is displayed during a successful boot. 
- 
-=== An overclock the Pi 2 B process: === 
- 
-Modify (optional) the default ''config.txt'' file: <file config.txt> 
-[pi2] 
-kernel=9pi2 
-gpu_mem=16 
-disable_overscan=1 
-arm_freq=900 
-force_turbo=1 
-</file> 
- 
-=== A start networking process: === 
- 
-  * The example is using [[wp>Dynamic_Host_Configuration_Protocol|DHCP]]. 
- 
-    * The ''ndb/dns'' is __only__ applied initially. The results are retained. Entering it again will result in a message: “another dns instance is running”. <code> % ndb/dns 
-</code> 
- 
-  * <code> % ip/ipconfig 
-</code> 
- 
-==== Timezone: ==== 
- 
-**Configure a Time zone process**: 
- 
-  * [[:vps_-_9front#configure_a_time_zone|Configure a Time zone]] 
- 
-**The shutdown process**:  
- 
-  * <code> % fshalt 
-</code> 
- 
-==== The start network process: ==== 
- 
-  * Start the Raspberry Pi. <code> 
-% ip/ipconfig 
-% date 
-</code> 
-    * Check the ''date'' after waiting a minute, if needed for validating the network connection. <code> 
-% date 
-</code> 
- 
-**Note**: 
- 
-|The pi.img file can be used for Raspberry Pi 1, 2, and 3.| 
-|The pi3.img file can be used for Raspberry Pi 3 and 4. The “/sys/src/9/bcm/9pi2” is intended for the Raspberry Pi 2, or Raspberry Pi 3, only.| 
- 
-====== A Plan 9 9front SDF Boot Camp tutorial application ====== 
- 
-  - From the Plan 9 VPS Drawterm rio rc cpu prompt (%): <code> % aux/listen1 -t 'tcp!*!rcpu' /rc/bin/service/tcp17019 
-</code> 
-  - From the Plan 9 9front Raspberry Pi rio rc terminal prompt (%): <code> % rcpu -h YOUR_IP -u glenda 
-password: 
-! 
-</code> 
-    - (This __may__ take time.) 
-  - From the Plan 9 VPS Drawterm rio rc prompt (%): 
-    - Press the [Delete] key once. 
-    - Enter the following to determine if any additional rcpu listening remains active. <code> % ps -a | grep rcpu 
-</code> 
- 
-  * Note: Half the battle is figuring out where to place the mice, since two mice are the used in this tutorial. 
-    * The mentioned 9pi terminal prompt (term%) [[:vps_-_9front#at_the_rio_rc_prompt|features]] were absent until the 9pi was connected (''rcpu'') to a cpu. 
-      * The mentioned 9pi terminal [[:vps_-_9front#at_the_rio_rc_prompt|feature]] behavior may provide a topic for further discussion. 
-  * The 9pi terminal example is not intended to replace Drawterm. 
-    * Additional review is required to determine if a 9pi terminal is suitable. 
-      * Further //study (([[https://9p.io/wiki/plan9/Configuring_a_standalone_CPU_server/index.html| Configuring a Standalone CPU Server]]))// is necessary to configure a 9pi cpu. 
-  * The 9pi terminal may benefit from additional configuration (TBD). 
- 
-==== Additional files: ==== 
- 
-  * Create a file on the cpu (cpu%) machine. <file config invitemy9pi> 
-#!/bin/rc 
-echo 'invite 9pi .. please connect.' 
-aux/listen1 -t 'tcp!*!rcpu' /rc/bin/service/tcp17019 
- 
-</file> 
-    * <code> 
-chmod 755 invitemy9pi 
-</code> 
- 
-  * Create a file on the 9pi term (term%) machine. <file config recmy9pi> 
-#!/bin/rc 
-echo 'receive 9pi .. please connect.' 
-rcpu -h YOUR_IP -u glenda 
- 
-</file> 
-    * <code> 
-chmod 755 recmy9pi 
-</code> 
- 
-====== A Plan 9 9front rcpu application ====== 
- 
-From the Plan 9 9front Raspberry Pi rio rc terminal prompt (%): 
- 
-=== Edit the /lib/ndb/local file: === 
- 
-  * The ''echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local'' is __only__ applied initially. The results are retained. <code> % echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local 
-</code> 
- 
-=== Check if factotum is running: === 
- 
-<code> 
-term% ps | grep factotum 
-glenda          100    0:00   0:00      168K Pread    factotum 
-</code> 
- 
-  * Start factotum if it is __not__ running. <code> 
-term% auth/factotum 
-</code> 
- 
-=== RCPU to 9p.sdf.org === 
- 
-  * A ''9p.sdf.org'' user name (''-u USER'') is required. <code> 
-% rcpu -h 9p.sdf.org -u USER 
-password: 
-! 
-</code> 
- 
-  * Once connected to //9p.sdf.org//: <code> 
-cpu% cd /usr/$user 
-</code> 
- 
-  * Start the //rio (([[:vps_-_plan_9#getting_started_with_drawterm|More details about rio]]))// window system: <code> 
-cpu% rio 
-</code> 
- 
-=== An incorrect password repair example: === 
- 
-<code> 
-% cat /mnt/factotum/ctl 
-key proto=dp9ik dom=9sdf user=USER !password? 
-% echo 'delkey proto=dp9ik dom=9sdf user=USER' > /mnt/factotum/ctl 
-% 
-</code> 
- 
-===== Updating the 9pi ===== 
- 
-<file config /plan9-l/Have_fun/9pi_interactive_terminal> 
- 
-I.) Updating the 9pi system: 
- 
-1. type 'sysupdate' - note if changes are brought in. 
-   (you can 'cat /bin/sysupdate' to see how it works) 
- 
-2. cd / 
-3. . /sys/lib/rootstub      (you can 'cat /sys/lib/rootstub' to see) 
-4. cd /sys/src 
-5. mk install 
- 
-II.) Updating the kernel: 
- 
-1. cd /sys/src/9/bcm 
-2. mk 
- 
-III.) Installing the new kernel: 
- 
-1. type 9fs pidos 
-# be careful: 
-2. cp /sys/src/9/bcm/9pi2 /n/pidos/9pi2 
-3. fshalt -r 
- 
-IV.) The 9pi should boot completely up-to-date. 
-</file> 
- 
-  * Installing the new kernel: <code> 
-% cd 
-% 
-% 9fs pidos 
-% cp /sys/src/9/bcm/9pi2 /n/pidos/9pi2 
-% fshalt -r 
-</code> 
- 
-  * Start networking & check date: <code> 
-% ip/ipconfig 
-% date 
-</code> 
- 
-|:!:|THIS IS A DRAFT| 
- 
-===== To be determined ===== 
- 
-==== Least ambitious?: ==== 
- 
-  * It may be possible to use a 9front terminal (''term%'') from a CD-Rom boot. 
-    * The hardware must support networking. 
-    * Exclude timezone configuration step. 
-    * To be determined 
  
playground/9front_terminal_on_a_raspberry_pi_2_b.1630624263.txt.gz · Last modified: 2021/09/02 23:11 by hc9