sysupdate
.Table of Contents
Plan 9 / 9Front, the namespace, and an interactive terminal
- This tutorial is intended for SDF Boot Camp participants, providing them and overview.
- It's an accompaniment 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 ======
x | THIS IS A DRAFT |
About
This is a tutorial about setting-up the Plan 9 9front 1 operating system, as a terminal on a Raspberry Pi 2 Model B. The tutorial is aimed at participants in the SDF Plan 9 Boot Camp 2, 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 Plan 9 / 9Front 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 Drawterm works very well. Yet, some participants may decide to read about a 9pi terminal. The SDF Boot Camp participants study virtualized amd64 9front.
1 Plan9front (or 9front) is a fork of the Plan 9 from Bell Labs operating system; Plan 9 Derivatives and forks. 2 Booting
Less ambitious:
ISO
http://9front.org/iso/
*pi.img.gz
Nightly ISO
http://iso.only9fans.com/
*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 (11/23/2023; 9FRONT “HUMANBIOLOGICS” RELEASED (2023/11/22)).
ISO 1) or Nightly ISO? | 1 day |
---|---|
✔ ISO 2) | https://www.wolframalpha.com/input?i=11%2F23%2F2023+to+2023%2F11%2F22 |
|
|
ISO 3) or Nightly ISO? | 4 months 23 days |
---|---|
| https://www.wolframalpha.com/input?i=11%2F18%2F2023+to+2023%2F06%2F25 |
|
OR
More ambitious:
Appendix J - Junk
Raspberry Pi
http://fqa.9front.org/appendixj.html
CAUTION:
Cautionary instructions for working with SD cards can be found here:
Installing operating system images
https://www.raspberrypi.org/documentation/installation/installing-images/ (1/27/2021; external archive)
“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:
[:!:] 9) | Run lsblk -p to see which devices are currently connected to your machine. |
[:!:] 10) | The mentioned /dev/sdc may not apply to your machine. Locate the proper SD card designation, first. |
[:!:] 11) | 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.lsblk -p
- ( [:!:] 12) CAUTION)
/dev/sdc
may not apply to your machine.sudo dd bs=1M if=9pi.img of=/dev/sdc lsblk -p umount /dev/sdc1 sync
x | THIS IS A DRAFT |
The copy image process:
- Insert the MicroSD card.
- Start the Raspberry Pi 2 B.
% 9fs pidos % cp /sys/src/9/bcm/9pi2 /n/pidos/9pi2
Edit cmdline.txt if needed:
% cd /n/pidos/ % lc cmdline.txt % sam cmdline.txt
[:!:]13) | 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:
console=0 mouseport=ps2intellimouse
An overclock the Pi 2 B process:
Modify (optional) the default config.txt
file:
[pi2] kernel=9pi2 gpu_mem=16 disable_overscan=1 arm_freq=900 force_turbo=1
A start networking process:
- The example is using DHCP.
- [:!:] 16) The
ndb/dns
example is only applied initially, and not required for Less ambitious. The results are retained. Entering it again will result in a message: “another dns instance is running”.% ndb/dns
% ip/ipconfig
Timezone:
The start network process:
- Start the Raspberry Pi.
% ip/ipconfig % date
- Check the
date
after waiting a minute, if needed for validating the network connection.% date
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 (%):
% aux/listen1 -t 'tcp!*!rcpu' /rc/bin/service/tcp17019
- From the Plan 9 9front Raspberry Pi rio rc terminal prompt (%):
% rcpu -h YOUR_IP -u glenda password: !
- (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.
% ps -a | grep rcpu
- Note: Half the battle is figuring out where to place the mice, since two mice are the used in this tutorial.
- The 9pi terminal example is not intended to replace Drawterm.
- Additional review is required to determine if a 9pi terminal is suitable.
- Further study 17) 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.
- invitemy9pi
#!/bin/rc echo 'invite 9pi .. please connect.' aux/listen1 -t 'tcp!*!rcpu' /rc/bin/service/tcp17019
chmod 755 invitemy9pi
- Create a file on the 9pi term (term%) machine.
- recmy9pi
#!/bin/rc echo 'receive 9pi .. please connect.' rcpu -h YOUR_IP -u glenda
chmod 755 recmy9pi
A Plan 9 9front rcpu application
From the plan9front 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.% echo 'auth=9p.sdf.org authdom=9sdf' >> /lib/ndb/local
Check if factotum is running:
term% ps | grep factotum glenda 100 0:00 0:00 168K Pread factotum
- Start factotum if it is not running.
term% auth/factotum
RCPU to 9p.sdf.org
- A
9p.sdf.org
user name (-u USER
) is required.% rcpu -h 9p.sdf.org -u USER password: !
- Once connected to 9p.sdf.org:
cpu% cd $home
An incorrect password repair example:
% cat /mnt/factotum/ctl key proto=dp9ik dom=9sdf user=USER !password? % echo 'delkey proto=dp9ik dom=9sdf user=USER' > /mnt/factotum/ctl %
Updating the 9pi
- /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.
- Installing the new kernel:
% cd % % 9fs pidos % cp /sys/src/9/bcm/9pi2 /n/pidos/9pi2 % fshalt -r
- Start networking & check date:
% ip/ipconfig % date
x | THIS IS A DRAFT |
9fs link
To be determined
Least ambitious?:
- It may be possible to use a 9front terminal (
term%
) from a CD-Rom boot [:FIXME:] 23).- The hardware must support networking.
- Exclude timezone configuration step.
- To be determined