cpu (as of Tue Mar 3 03:20:23 PST 2026)

CONFIGURING CPU SERVER

First, add your user to the adm group. If using fossil, see instructions.

Afterwards, set your timezone.

Next, prepare the rc scripts that run on system bootup.

It is then necessary to configure networking.

Networking must be configured before running ndb/dns. Otherwise, you might see errors like:

ndb/dns: can't read my ip address

Configure network information with ndb.

Note: You may also want to copy these lines to /cfg/$sysname/termrc and also to run the command manually, because by default, plan 9 runs as a terminal service. It will not run as a cpu service until the cpu kernel has been compiled as described below.

; auth/wrkey
bad authentication password
bad authentication id
bad authentication domain
authid: glenda
authdom: example.com
auth password:
secstore password:

Make sure to configure the auth server.

Build the cpu kernel for x86:

; cd /sys/src/9/pc
; mk 'CONF=pccpuf'
; 9fat:
; cp /sys/src/9/pc/9pccpuf /n/9fat/

Add these lines to the beginning of /n/9fat/plan9.ini

[menu]
menuitem=cpu, Plan 9 CPU Kernel
menuitem=terminal, Plan 9 Terminal Kernel
menudefault=cpu, 10

[cpu]
bootfile=sdC0/!9fat!9pccpuf

[terminal]
bootfile=sdC0!9fat!9pcf

[common]
nobootprompt=local!#S/sdC0/fossil

Make sure to replace sdC0 with your actual disk. Make sure also to delete the pre-existing line:

bootfile=sdC0!9fat!9pcf

Clear nvram and then set a new password:

; echo garbage >/dev/sdC0/nvram

Remember to replace sdC0 with your actual hard disk.

Set the password:

; auth/keyfs

Add the hostowner bootes to sys and adm groups:

; con -Cl /srv/fscons
prompt: uname bootes bootes
prompt: uname sys +bootes
prompt: uname adm +bootes
prompt: fsys main
main: create /active/cron/bootes bootes bootes d775
main: create /active/sys/log/cron bootes bootes a664

Append these lines to the bottom of /lib/ndb/auth:

hostid=bootes
	uid=!sys uid=!adm uid=*

You may need to reboot and login as hostowner (bootes) in order for the next step to work.

If you do reboot, select 1 for Plan 9 CPU Kernel:

Plan 9 Startup Menu:
====================
   1. Plan 9 CPU Kernel
   2. Plan 9 Terminal Kernel
Selection[default==1 (10s timeout)]: 1

When prompted, fill in the following values:

authid: bootes
authdom: example.com
auth password:
secstore password:

Change the hostowner's password:

; auth/keyfs
; auth/changeuser bootes

If you are using 9front drawterm and want to connect in text-only mode (no graphics) with the -G flag, you will need to edit $home/lib/profile to remove calls to rio. Comment out line 31:

# exec rio

You can run the below command:

; mv (/usr/$user/lib/)^(profile profile.bak)
; sed '31s/^/#/' /usr/$user/lib/profile.bak > /usr/$user/lib/profile

Then afterwards, you will be able to connect with drawterm -G as follow:

$ drawterm -u $USER -h $SYSNAME -G

After connecting, it is recommended you run /sys/lib/newuser so that rio can work.

See also:

https://plan9.io/wiki/plan9/Configuring_a_Standalone_CPU_Server/index.html https://9p.io/wiki/plan9/Drawterm_to_your_terminal/index.html http://mirror.9grid.fr/mirror.9grid.fr/plan9-cpu-auth-server-howto.html


Last modified Tue Mar 3 03:20:23 PST 2026 [ Current version | Changelog | Create a new page ] About the server | Powered by Plan 9