09 April 2016


System: Microsoft Windows XP Home Edition
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: makebootfat-1.4-windows-pentium.zip,

This post is about creating a bootable flash stick
with a Plan 9 distribution.

A Danish (dk) keyboard map has been added in
release 9front-5321.f8c704dc01c.iso.bz2.

The updated Estonian (ee) keyboard map which
I submitted (9front-5321.f8c704dc01c.iso.bz2)
by mistake had two mode 4 lines near the end,
those should not be there.

that link's description should read however

remove Š and Ž from estonian keymap

It is premature at this point of time but a second
revision of the Estonian kbmap may be possible
enabling Shift + AltGr to be utilised for rendering
the uppercase Š and Ž in a future 9front release.

One of the developers mentioned this option, which
however I'm not familiar with.

you know, there's also a compose sequence see /lib/keyboard.

[alt] vs -> š


[alt] vS -> Š

A Finnish (fi) keyboard map accompanies the
distribution; I presume that map also works for

A Norwegian (no) keyboard map accompanies
the distribution.

Untested Arabic (ara), Belarusian (by), and Icelandic
(is) keyboard maps are also available.

The /sys/lib/kbmap/ua files accompanying Plan 9
distributions have a perhaps outdated mapping of
ґ and Ґ to key 41; on current peripherials ё and Ё
are mapped to 41.

map ґ and Ґ as follows

0       86       'ґ
1       86       'Ґ
3       22       'ґ

Using Shift + AltGr for rendering the
uppercase Ґ is not yet supported.



Unpack the .zip file and copy the .exe to the root of your directory tree,
and extract the .bz2 file (e.g., with 7-Zip), and then the resultant .iso.

Create a directory to temporarily store the files to be included on a usb stick.

C:\>MKDIR source


From the extracted 9front \386 directory copy the files 9bootfat, 9pcf, mbr, and
pbs, placing these along with the .iso file in C:\source, and create in C:\source
a UNIX format (with an ending newline) plan9.ini file with the following content:


Run the following command to create a usb stick from which one can boot 9front.

C:\>makebootfat.exe -m source\mbr -b source\pbs -o usb source


The vgasize on my Netbook monitor (1024x600) isn't supported so I'm not providing
instructions here for an installation. For further information, e.g., if one has an extra
desktop and wants to install 9front (as a stand-alone machine), see the following link:


NB: Without an installation one does not have write permissions. To run with an
alternative keymap type at a prompt 'kbmap' which should then display a table of
available keymaps, use mouse button 3 to click on the desired map, and then when
opening a new terminal this should be in the desired keymap. Typing an argument
for kbmap didn't seem to work for me (a single entry in the table when clicked on
didn't effectuate a change in new terminals). One of the developers has suggested
copying your preferred kbmap file to /dev/kbmap; I presume at that location that it
is sourced as your default kbmap. The source distribution makebootfat-1.4.tar.gz
compiles on GNU/Linux, but did not seem to set the flag as bootable on the flash

*e820=1 0x0000000000000000 0x000000000009f800 2 0x000000000009f800 0x00000000000
a0000 2 0x00000000000dc000 0x0000000000100000 1 0x0000000000100000 0x000000003f6
d0000 2 0x000000003f6d0000 0x000000003f6e2000 4 0x000000003f6e2000 0x000000003f6
e3000 2 0x000000003f6e3000 0x000000003f700000 2 0x000000003f700000 0x000000003f8
00000 2 0x000000003f800000 0x0000000040000000 2 0x00000000e0000000 0x00000000f00
00000 2 0x00000000fec00000 0x00000000fec10000 2 0x00000000fed00000 0x00000000fed
00400 2 0x00000000fed14000 0x00000000fed18000 2 0x00000000fed18000 0x00000000fed
19000 2 0x00000000fed19000 0x00000000fed1a000 2 0x00000000fed1c000 0x00000000fed
20000 2 0x00000000fed20000 0x00000000fed90000 2 0x00000000fee00000 0x00000000fee
01000 2 0x00000000ff000000 0x0000000100000000

Plan 9

starting /bin/rc
126 holes free
0x0001a000 0x0009f000 544768
0x004d3000 0x0ffff000 263372800
263917568 bytes free
cpu: 1596MHz GenuineIntel Atom (AX 000106C2 CX 0040C390 DX BFE9FBFF)
LAPIC: fee00000 0xe0000000
ELCR: 0C20
cpu0: lapic clock at 133MHz
#I0: yuk: 1000Mbps port 0xF0200000 irq 5: 002454034864
#A0: hda mem e006000 irq 5
#A0: codec #0, vendor 10ec0272, rev 00100001
1015M memory: 256 M kernel data, 758M user, 1383M swap

/dev/sdC0: WDC WD1600BEVT-222CT0
/dev/sdU98d33: SanDisk Cruzer Fit 1.27
/dev/sdU98d33/dos dos
/shr/sdU98d33/9front-5126.47bef620b3a3.iso 9660
bootargs is (tcp, il, local!device)[local!/shr/sdU98d33/9front-5126.47bef620b3a3.iso]

init: starting /bin/rc
cirno Apr 5 07:22:42 starting dos resolver on /net
vgasize is (text, 640x480x8, 1024x768x16, ...) [1024x768x16] 800x600x32
monitor is (vesa, xga, lcd, ...) [vesa]

On standalone machines, e.g., running off a flash stick, it is impossible to do anything after
invoking bare 'fshalt'; using the command with the -r argument will reboot the computer and
before an OS is loaded one can remove the flash stick, so as to boot the hard drive's OS.

term% fshalt -r

done halting


NB: I noticed the Caps Lock key doesn't work after posting this.