For information on editing, see the description of Plan 9 wiki syntax.
INSTALL PLAN9 In this guide, we will install Plan 9 4th edition with some patches for vmd. A patched, working ISO of Plan 9 4th edition can be fetched from: [https://ircnow.org/software/plan9.iso] Please note that the following Plan 9 4th edition ISOs do *not* run on [OpenBSD VMM 7.7 | https://wiki.ircnow.org/?n=Vmctl.Usage]: [http://ftp.osuosl.org/pub/plan9/history/plan9-4e-latest.iso.bz2] [http://9p.io/plan9/download/plan9.iso.bz2] On the [OpenBSD host | https://wiki.ircnow.org/index.php?n=Vmm.Intro], we first get serial console into the virtual machine: ! host$ vmctl console $USER ! Connected to /dev/ttyp3 (speed 115200) ! Boot failed: not a bootable disk ! ! PBSR...0000 07B1 0000 00B5 ! Plan 9 from Bell Labsi8042: kbdinit failed ! ! no vga; serial console only ! disk loader ! ! cpu0: 6132MHz GenuineIntel Core i7/Xeon (cpuid: AX 0x206C2 DX 0x78BA97F) ! ELCR: 02E8 ! 497M memory: 497M kernel data, 0M user, 18M swap ! found partition #S/sdC0/data 0 41,943,040 ! found partition #S/sdD0/data 0 147,164 ! found partition #S/sdD0/data!9fat; 59050+2949120 ! disks: sdC0 sdD0 ! trying sdC0...dosinit: can't open #S/sdC0/9fat ! dosinit #S/sdC0/9fat failed ! trying sdD0.... ! Plan 9 Startup Menu: ! ==================== ! 1. Install Plan 9 from this CD ! 2. Boot Plan 9 from this CD ! Selection: 1 We choose 1 to Install Plan 9 from CD: ! found 9pcflop.gz ! .gz........................................................................................................................................................1225840 => 781908+1043156+390320=2215384 ! entry: 0xf0100020 ! ! Plan 9 ! i8042: kbdinit failed ! E820: 00000000 0009f800 memory ! E820: 0009f800 000a0000 reserved ! E820: 000f0000 00100000 reserved ! E820: 00100000 7fffa000 memory ! E820: 7fffa000 80000000 reserved ! E820: f0000000 100000000 reserved ! cpu0: 6128MHz GenuineIntel Core i7/Xeon (cpuid: AX 0x206C2 DX 0x78BA97F) ! ELCR: 02E8 ! intrenable: nil handler for 5, tbdf 0xC001000 for ether0 ! #l0: virtio: 1Gbps port 0x2000 irq 5: fee1bad5cc02 ! 2048M memory: 256M kernel data, 1791M user, 2416M swap ! pickmethod...read #e/nobootprompt...pickmethod done ! bind #æ...bind #S...partinit...auth...mount usbd...boot: can't open /srv/usb: '/srv/usb' file does not exist ! kfs...version...time... ! can't stat /srv/partfs.sdXX: '/srv/partfs.sdXX' file does not exist ! ! init: starting /bin/rc ! /bin/dossrv: serving #s/dos ! use DMA for ide drives[yes]: ! echo: write error: bad process or channel control request ! echo: write error: bad process or channel control request ! mouseport is (ps2, ps2intellimouse, 0, 1, 2)[ps2]: ! vgasize [640x480x8]: text ! monitor is [xga]: Press enter to use DMA for ide drives, then press enter again for ps2. We select text for vgasize, and for monitor, choose the default. ! i8042: aux init failed ! i8042: aux init failed ! i8042: aux init failed ! i8042: 00 returned to the ea command ! /bin/aux/vga: vbecheck: VBE error 0x4f00 ! rio: can't open display: initdisplay: /dev/draw/new: no frame buffer ! ! ! failed to start rio. you can start a text-based installation by running ! ! inst/textonly ! ! ! init: starting /bin/rc ! % inst/textonly Since we don't have any VGA display on OpenBSD VMM, we run inst/textonly: ! Sun Mar 1 12:35:07 EST 2026 Installation process started ! ! -------------------------------------- ! ! Preparing menu... ! The following unfinished tasks are ready to be done: ! configfs - choose the type of file system to install ! ! Task to do [configfs]: Type enter to select configfs: ! ! -------------------------------------- ! You can install the following types of file systems: ! ! fossil the new Plan9 fileserver ! fossil+venti fossil + a archival dump server ! ! File system (fossil, fossil+venti)[fossil]: Type enter to select fossil: ! ! -------------------------------------- ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! ! The following unfinished tasks are ready to be done: ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! ! Task to do [partdisk]: Type enter to select partdisk: ! ! -------------------------------------- ! The following disk devices were found. ! ! sdC0 - ! ! sdD0 - OpenBSD VMM CD-ROM 001 ! ! Disk to partition (sdC0, sdD0)[no default]: sdC0 Choose the disk that isn't the CD-ROM, in this case, sdC0: ! The disk you selected HAS NO master boot record on its first sector. ! (Perhaps it is a completely blank disk.) ! You need a master boot record to use the disk. ! Should we install a default master boot record? ! ! Install mbr (y, n)[no default]: y Type y for yes: ! ! This is disk/fdisk; use it to create a Plan 9 partition. ! If there is enough room, a Plan 9 partition will be ! suggested; you can probably just type 'w' and then 'q'. ! ! cylinder = 8225280 bytes ! '* p1 0 2610 (2610 cylinders, 19.99 GB) PLAN9 ! >>> w ! >>> q Enter w and q to write the partitions and quit: ! ! -------------------------------------- ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! ! The following unfinished tasks are ready to be done: ! prepdisk - subdivide plan 9 disk partition ! ! Task to do [prepdisk]: Type enter to subdivide the partition: ! ! -------------------------------------- ! The following Plan 9 disk partitions were found. ! ! /dev/sdC0/plan9 ! empty 0 41929587 (41929587 sectors, 19.99 GB) ! ! Plan 9 partition to subdivide (/dev/sdC0/plan9)[/dev/sdC0/plan9]: Press enter to select the default Plan 9 partition: ! This is disk/prep; use it to subdivide the Plan 9 partition. ! If it is not yet subdivided, a sensible layout will be suggested; ! you can probably just type 'w' and then 'q'. ! ! no plan9 partition table found ! 9fat 204800 ! nvram 1 ! fossil 40676210 ! swap 1048576 ! ' 9fat 0 204800 (204800 sectors, 100.00 MB) ! ' nvram 204800 204801 (1 sectors, 512 B ) ! ' fossil 204801 40881011 (40676210 sectors, 19.39 GB) ! ' swap 40881011 41929587 (1048576 sectors, 512.00 MB) ! >>> w ! >>> q Enter w and q to write and quit: ! ! -------------------------------------- ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! prepdisk - subdivide plan 9 disk partition ! ! The following unfinished tasks are ready to be done: ! fmtfossil - initialize disks for a fossil server ! ! Task to do [fmtfossil]: Press enter to format the disk for fossil. ! ! -------------------------------------- ! You have the following fossil partitions. ! ! Fossil partition to format (/dev/sdC0/fossil)[/dev/sdC0/fossil]: Done. ! ! -------------------------------------- ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! prepdisk - subdivide plan 9 disk partition ! fmtfossil - initialize disks for a fossil server ! ! The following unfinished tasks are ready to be done: ! mountfs - choose and mount file system partition ! ! Task to do [mountfs]: Type enter to mount the filesystem partition. ! ! -------------------------------------- ! The following partitions named fossil* were found. ! ! Please choose one to use as the installation file system ! for your Plan 9 installation. ! ! --rw-r----- S 0 glenda glenda 20826219520 Jun 9 2024 /dev/sdC0/fossil ! ! Fossil partition (/dev/sdC0/fossil)[/dev/sdC0/fossil]: Select the correct partition (in this case /dev/sdC0/fossil). ! ! -------------------------------------- ! ! Preparing menu...% fossil/fossil -c . /env/fossilconf ! prompt: % mount -c /srv/fossil /n/newfs ! fsys main create /active/adm adm sys d775 ! prompt: fsys main create /active/adm/users adm sys 664 ! prompt: uname upas :upas ! prompt: users -w ! nuser 6 len 96 ! prompt: fsys main create /active/dist sys sys d775 ! prompt: fsys main create /active/dist/replica sys sys d775 ! prompt: fsys main create /active/dist/replica/client sys sys d775 ! prompt: fsys main create /active/dist/replica/client/plan9.db sys sys 664 ! prompt: fsys main create /active/dist/replica/client/plan9.log sys sys a664 ! prompt: ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! prepdisk - subdivide plan 9 disk partition ! fmtfossil - initialize disks for a fossil server ! mountfs - choose and mount file system partition ! ! The following unfinished tasks are ready to be done: ! configdist - choose the source of the distribution archive ! download - download or continue to download the distribution archives ! ! Task to do [configdist]: Press enter to choose the source of the distribution archive. ! ! -------------------------------------- ! Are you going to download the distribution ! from the internet or do you have it on local media? ! ! Distribution is from (local, net)[local]: On OpenBSD [VMM | https://wiki.ircnow.org/?n=Vmctl.Usage], the ISO should be loaded in CD-ROM, so press enter for local. ! ! -------------------------------------- ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! prepdisk - subdivide plan 9 disk partition ! fmtfossil - initialize disks for a fossil server ! mountfs - choose and mount file system partition ! configdist - choose the source of the distribution archive ! ! The following unfinished tasks are ready to be done: ! mountdist - locate and mount the distribution ! download - download or continue to download the distribution archives ! ! Task to do [mountdist]: Press enter to mount the distribution. ! ! -------------------------------------- ! Please wait... Scanning storage devices... ! /dev/sdC0/9fat ! /dev/sdC0/data ! /dev/sdC0/fossil ! /dev/sdC0/nvram ! /dev/sdC0/swap ! /dev/sdD0/9fat ! /dev/sdD0/data ! ! The following storage media were detected. ! Choose the one containing the distribution. ! ! /dev/sdC0/fossil (plan9 fossil) ! /dev/sdD0/9fat (microsoft fat) ! /dev/sdD0/data (iso9660 cdrom) ! ! Distribution disk [no default]: /dev/sdD0/data Enter the path for the CD-ROM, in this case /dev/sdD0/data. ! % 9660srv ! /bin/9660srv 2688: serving /srv/9660 ! % mount /srv/9660 /n/distmedia /dev/sdD0/data ! ! Which directory contains the distribution? ! Any of the following will suffice (in order of preference): ! - the root directory of the cd image ! - the directory containing plan9.iso ! - the directory containing plan9.iso.bz2 ! Typing `browse' will put you in a shell that you can use to ! look for the directory. ! ! Location of archives [browse]: Type enter to browse for the root directory of the CD image. ! This is a simple shell. Commands are: ! cd directory - change to directory ! lc - list contents of current directory ! exit - exit shell ! ! Move to the directory containing the distribution ! and then exit. ! ! /% lc Type lc to list contents: ! 386 NOTICE bootdisk.img lp power64 ! 9load NOTICE.old cfg mail rc ! LICENSE README cron mips sparc ! LICENSE.afpl acme dist mnt sys ! LICENSE.gpl adm env n tmp ! LICENSE.lucida amd64 fd pbsraw usr ! LICENSE.old arm lib power ! /% exit Once you've confirmed this is the CD-ROM, type exit: ! ! -------------------------------------- ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! prepdisk - subdivide plan 9 disk partition ! fmtfossil - initialize disks for a fossil server ! mountfs - choose and mount file system partition ! configdist - choose the source of the distribution archive ! mountdist - locate and mount the distribution ! ! The following unfinished tasks are ready to be done: ! copydist - copy the distribution into the file system ! ! Task to do [copydist]: Type enter to copy the distribution: ! ! ------------------------------------------------------ ! |############################################################| 100% ! ------------------------------------------------------ ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! prepdisk - subdivide plan 9 disk partition ! fmtfossil - initialize disks for a fossil server ! mountfs - choose and mount file system partition ! configdist - choose the source of the distribution archive ! mountdist - locate and mount the distribution ! copydist - copy the distribution into the file system ! ! The following unfinished tasks are ready to be done: ! bootsetup - create a boot floppy or configure hard disk to boot plan 9 ! ! Task to do [bootsetup]: Type enter to configure the hard disk to boot Plan 9. ! ! -------------------------------------- ! ! Initializing Plan 9 FAT configuration partition (9fat) ! ! Initializing Plan 9 FAT partition. ! add 9load at clust 2 ! Initializing FAT file system ! type hard, 100 tracks, 64 heads, 32 sectors/track, 512 bytes/sec ! Adding file /n/newfs/386/9load, length 369368 ! add 9load at clust 2 ! used 372736 bytes ! % cp /n/newfs/386/9load /n/9fat/9load ! % cp /n/newfs/386/9pcf /n/9fat/9pcf ! ! There are myriad ways to boot a Plan 9 system. ! You can use any of the following. ! ! floppy - create a boot floppy ! plan9 - make the plan 9 disk partition the default for booting ! win9x - add a plan 9 option to windows 9x boot menu ! winnt - add a plan 9 option to windows nt/2000/xp boot manager ! ! If you are upgrading an extant third edition installation and booting ! from something other than a floppy, you needn't run anything here. ! Just type ctl-d. ! Enable boot method (floppy, plan9, win9x, winnt)[no default]: Enable boot method (floppy, plan9, win9x, winnt)[no default]: plan9 ! If you use the Windows NT/2000/XP master boot record ! or a master boot record from a Unix clone (e.g., LILO or ! FreeBSD bootmgr), it is probably safe to continue using ! that boot record rather than install the Plan 9 boot record. ! ! Install the Plan 9 master boot record (y, n)[no default]: y Type y to install the Plan 9 master boot record. ! Setting Plan 9 partition active. ! ! The Plan 9 partition is now marked as active. ! ! -------------------------------------- ! ! Preparing menu... ! The following tasks are done: ! configfs - choose the type of file system to install ! partdisk - edit partition tables (e.g., to create a plan 9 partition) ! prepdisk - subdivide plan 9 disk partition ! fmtfossil - initialize disks for a fossil server ! mountfs - choose and mount file system partition ! configdist - choose the source of the distribution archive ! mountdist - locate and mount the distribution ! copydist - copy the distribution into the file system ! bootsetup - create a boot floppy or configure hard disk to boot plan 9 ! ! The following unfinished tasks are ready to be done: ! finish - finish the installation and reboot ! ! Task to do [finish]: Press enter to finish the installation. ! ! -------------------------------------- ! Congratulations; you've completed the install. ! ! Halting file systems...fsys all halt ! prompt: done ! ! Remember to take the install disk out of the drive. ! Feel free to turn off your computer. Escape the serial console by [typing ~~. | https://wiki.ircnow.org/?n=Vmctl.Usage], then stop and restart the virtual machine: ! $ vmctl stop $USER ! $ vmctl start -c $USER ! Connected to /dev/ttyp3 (speed 115200) ! MBR...PBS2... ! Plan 9 from Bell Labsi8042: kbdinit failed ! ! no vga; serial console only ! disk loader ! ! cpu0: 6130MHz GenuineIntel Core i7/Xeon (cpuid: AX 0x206C2 DX 0x78BA97F) ! ELCR: 02E8 ! 497M memory: 497M kernel data, 0M user, 18M swap ! found partition #S/sdC0/data 0 41,943,040 ! found partition #S/sdD0/data 0 147,164 ! found partition #S/sdD0/data!9fat; 59050+2949120 ! disks: sdC0 sdD0 ! trying sdC0....found 9pcf ! .1131572..........................................................................................................................................+2018112......................................................................................................................................................................................................................................................+457544=3607228 ! entry: 0xf0100020 ! ! Plan 9 ! i8042: kbdinit failed ! E820: 00000000 0009f800 memory ! E820: 0009f800 000a0000 reserved ! E820: 000f0000 00100000 reserved ! E820: 00100000 7fffa000 memory ! E820: 7fffa000 80000000 reserved ! E820: f0000000 100000000 reserved ! cpu0: 6132MHz GenuineIntel Core i7/Xeon (cpuid: AX 0x206C2 DX 0x78BA97F) ! ELCR: 02E8 ! intrenable: nil handler for 5, tbdf 0xC001000 for ether0 ! #l0: virtio: 1Gbps port 0x2000 irq 5: fee1bad5cc02 ! 2048M memory: 256M kernel data, 1791M user, 2416M swap ! usbinit...usbd.../boot/usbd: /dev/usb: no hubs ! no /srv/usb...no usb disk...pickmethod...read #e/nobootprompt...read #e/bootargs...outin...root is from (tcp, local)[local!#S/sdC0/fossil]: Press enter to boot from local!#S/sdC0/fossil. ! pickmethod done ! bind #æ...bind #S...partinit...auth...user[none]: glenda Type glenda to run as user glenda. ! usbinit...usbd.../boot/usbd: /dev/usb: no hubs ! no /srv/usb...no usb disk...mount usbd...boot: can't open /srv/usb: '/srv/usb' file does not exist ! time... ! fossil(#S/sdC0/fossil)...version...can't stat /srv/partfs.sdXX: '/srv/partfs.sdXX' file does not exist ! ! init: starting /bin/rc ! i8042: aux init failed ! i8042: aux init failed ! i8042: aux init failed ! i8042: 00 returned to the ea command ! aux/vga: vbecheck: VBE error 0x4f00 ! rio: can't open display: initdisplay: /dev/draw/new: no frame buffer ! init: rc exit status: rio 30: display open ! ! init: starting /bin/rc ! term% Congratulations, you now have a working Plan 9 installation. You can [type ~~. | https://wiki.ircnow.org/?n=Vmctl.Usage] to exit the serial console. Before leaving the serial console, consider setting up a [cpu server | cpu].