Getting Started with FuguIta

In this page, we will explain the simple usage of FuguIta.

Download FuguIta file

FuguIta provides ISO images for LiveDVD and raw disk image files for LiveUSB and others for i386 and amd64 platforms and arm64 (Raspberry Pi 3/4) respectively.

To obtain the FuguIta file, select the appropriate mirror site from the list, then download it from there. Here is an example on OpenBSD.

# ftp
# ftp

In the example above, note that the part of MIRROR, MEDIA, X.X, ARCH, YYYYMMDDN and TYPE must be replaced by the actual names.

Note: Unlike many Linux distributions and others, ISO images (*.iso.gz files) cannot be used for LiveUSB, only LiveDVD.
To create a LiveUSB, use the raw disk image (*.img.gz file).

SHA256 is a checksum file to check the integrity of the downloaded FuguIta file.
After the download is complete, please make sure that the file is not corrupted.

sha256 -C SHA256 FuguIta-X.X-ARCH-YYYYMMDDN.TYPE.gz

Creating FuguIta Media (on OpenBSD)

Creating LiveDVD

OpenBSD itself does not include software for burning DVDs. So install dvd+rw-tools to burn DVD from packages.

  • Install DVD writing tool
    # pkg_add dvd+rw-tools
  • Decompress the ISO file, then burn that image into DVD-R or DVD-RW.
    # gzip -d FuguIta-X.X-ARCH-YYYYMMDDN.iso.gz
    # dvd-format /dev/rcd0c    (format media, if you will be burn it first)
    # growisofs --dvd-compat -Z /dev/rcd0c=FuguIta-X.X-ARCH-YYYYMMDDN.iso

Creating LiveUSB

To make a LiveUSB version of FuguIta, prepare a USB memory with a size of 2 gigabytes or more, and write the downloaded and expanded IMG format file. The following is an example of writing using OpenBSD.

  • Decompress that image, and write it into USB storage device.
    # gzip -dc FuguIta-X.X-ARCH-YYYYMMDDN.img.gz | dd of=/dev/rsd?c bs=1m
    The /dev/rsd?c part in the above example is the designation of the write destination device. This depends on the connection status of the peripherals of your PC. If you execute this command, all the data recorded in the specified device will be erased, so be sure to check in advance if the write destination is correct.

    If you are not sure what device to write, run the following command to check the name of the device before writing.
    # tail -f /var/log/messages    # Insert USB flashdrive after this command
    Jun 12 09:59:30 fugu-demo /bsd: inteldrm0: 1280x800, 32bpp
    Jun 12 09:59:30 fugu-demo /bsd: wsdisplay0 at inteldrm0 mux 1: console (std, vt1
    00 emulation), using wskbd0
    Jun 12 09:59:30 fugu-demo /bsd: wskbd1: connecting to wsdisplay0
    Jun 12 09:59:30 fugu-demo /bsd: wsdisplay0: screen 1-5 added (std, vt100 emulati
    Jun 12 09:59:30 fugu-demo slaacd[37947]: sendmsg: Can't assign requested address
    Jun 12 09:59:30 fugu-demo ntpd[67052]: creating new /var/db/ntpd.drift
    Jun 12 09:59:31 fugu-demo savecore: can't find device 17/1
    Jun 12 10:00:02 fugu-demo syslogd[50034]: restart
    Jun 12 10:00:50 fugu-demo /bsd: umass1 at uhub4 port 3 configuration 1 interface    # Following lines will
    0 "UFD 3.0 Silicon-Power32G" rev 2.10/0.0c addr 9                                   # appear after tail
    Jun 12 10:00:50 fugu-demo /bsd: umass1: using SCSI over Bulk-Only                   # command was executed.
    Jun 12 10:00:51 fugu-demo /bsd: scsibus5 at umass1: 2 targets, initiator 0
    Jun 12 10:00:51 fugu-demo /bsd: sd2 at scsibus5 targ 1 lun 0: <UFD 3.0, Silicon-
    Power32G, 1.00> removable serial.1f750916IP0001003248
    Jun 12 10:00:51 fugu-demo /bsd: sd2: 29624MB, 512 bytes/sector, 60669952 sectors
    ^C    # type Control+C to quit tail command
    In the above example, the detected device is sd2, so you should specify /dev/rsd2c as the device name to be written. The "r" in the device name means "raw device" and the "c" represents the entire device.

Creating LiveSD for Raspberry Pi 3/4

This is the same as Creating LiveUSB.
Write FuguIta's raw disk file to micro SD device in a same way.

Booting FuguIta

After displaying FuguIta's logo, selection of FuguIta's operational device will appear.

Unless you attached multiple FuguIta devices, simply press ENTER key (accepting default value) is OK.

=     ______               __   _
=    / ____/              |  |_| |__
=   / /____  ______  __  _|  /_   _/_____
=  / ___/ / / / __ \/ / / |  | | | /  _  |
= / /  / /_/ / /_/ / /_/ /|  | | |_| (_) |__
=/_/   \____/\__  /\____/ |__| \___/____/__/
=            __/ /
=           /___/
=  Welcome to FuguIta  -  OpenBSD Live System

scanning partitions: wd0i wd0j cd0a
FuguIta's operating device(s): cd0a.
Which is FuguIta's operating device? [default: cd0a] ->

The next step is to configure settings related to memory.

In the example below, it is first reported that 1007 megabytes of memory is available for this PC. The user then enters how many megabytes of that 1007MB of memory will be allocated to mfs.

The default value is shown as "default: 755M" in the entry field, and this value is assumed to be specified when only the <Enter> key is pressed. Normally, you only need to press <Enter> to enter the value.

activating swap partition: /dev/sd0b
available memory: 1007M
total swap size: 16M

Enter mfs size.
  You can add suffix K, M, or G.
  % is a percentage of memory size.
  and %% is a percentage of the total memory and swap.
  otherwise considered "megabytes"

[default: 755M] ->         <== Press only <Enter> here
set mfs size to 755MB

Select boot mode.
At first boot, we recommend mode 0.

Boot modes:
  0: fresh boot - standard mode as a live system
  1: fresh boot - less memory, faster boot (/usr is non-writable, can't pkg_add)
  2: fresh boot - works using only RAM (about 1GB or more of RAM required)
  3: boot with retrieving saved files from storage device
     or enter passphrase for an encrypted volume
  4: boot with retrieving saved files from floppy disk
  5: interactive shell for debugging

Set keyboard layout, then set root password

Enter keyboard type.

pc-xt/pc-at keyboard:
us de de.nodead fr fr.dvorak dk dk.nodead it uk jp sv sv.nodead no no.nodead us.declk
us.dvorak us.colemak us.swapctrlcaps us.iopener uk.swapctrlcaps jp.swapctrlcaps
fr.swapctrlcaps fr.swapctrlcaps.dvorak be.swapctrlcaps us.swapctrlcaps.dvorak
us.swapctrlcaps.colemak us.swapctrlcaps.iopener es be ru ua sg sg.nodead sf sf.nodead
pt lt la br tr tr.nodead pl hu si cf cf.nodead lv nl nl.nodead is is.nodead ee ee.nodead
keyboard type -> us
kbd: keyboard mapping set to us
Changing password for root.
New password:
Retype new password:

Entering the Host Name
Enter the host name with domain (FQDN: Fully Qualified Domain Name). You can omit the domain part if you do not need it, for example, when using it in a closed network.

Hostname with domain part (FQDN):
only host name without domain part is also OK.
-> fugu-demo.localnet

which IP protocol version to enable
The default is "64" (enable both IPv6 and IPv4, but give priority to IPv6 for name resolution).

IP protocol version(s) to be enabled: 4, 6, 46, 64 or "none"
  4: enable only IPv4
  6: enable only IPv6
  46: give priority to IPv4 name resolution
  64: give priority to IPv6 name resolution
  none: operate as standalone
[64] ->

If "none" is specified, the device will operate as a standalone device that does not use the network, and network-related configuration will be completed.

Specifying the network interface
Next, a list of network devices will be displayed, and you need to specify only one device that you want to configure.

Network Interfaces: Choose one

  NIC	 type	   Name
-------- ----- ------------
    bge1 ether Broadcom BCM57766
    ure0 ether Realtek USB 10/100/1000 LAN
    run0 wifi  Ralink 802.11 n WLAN
[bge1] ->

The device that appears at the top of the list will be the default. If you specify a Wi-Fi device, you will be prompted to enter the SSID and encryption key.

[bge1] -> run0

Wi-Fi settings:

If you press only ENTER with the WPA key, you will be prompted to enter WEP.

  WPA Key -> 

If you press only ENTER with the WEP key, it means that you specify the connection without encryption.

IPv6 Settings
If you have enabled IPv6, the following configuration input will appear. Set the address to "auto" or manually, as described in the description. In most cases, "auto" will work. If "/prefixlen" is omitted, it is assumed that "/64" is specified.

IPv6 - address and routing:
  Enter "auto" or "IPv6_address[/prefixlen] [default_gateway]"
  "auto" is an automatic setting by SLAAC.
  The "/prefixlen" part can be an integer between 0 and 128.
  If there is no default gateway, set the second field to "none" or leave it blank.
[auto] ->

5. IPv4 Settings
If you have enabled IPv4, you will be prompted to enter the following settings: "auto" for DHCP, as described in the description; otherwise, set the address manually. If you omit "/mask", a netmask that seems appropriate will be assumed.

IPv4 - address and routing:
  Enter "auto" or "IPv4_address[/mask] [default_gateway]"
  "auto" is an automatic setting by DHCP.
  The "/mask" part can be specified in either format, such as "/" or "/24".
  If there is no default gateway, set the second field to "none" or leave it blank.
[auto] ->

6. DNS Server Settings
If you have configured IPv4 or IPv6 addresses manually, you will be prompted to enter DNS server settings. If you want to communicate directly by specifying IP addresses, you do not need to use DNS servers, so enter only ENTER.

DNS servers: up to 3 IP addresses, separated by spaces

Finally, configuration files reflecting the configuration values you have entered will be written to the directory "/etc/fuguita/netconfs/config_name".

writing configured values to:

If you wish to use X Window System, type X.

Do you login with C)onsole or X) Window System?
[default: C] ->
           /      Setup for FuguIta ends.         /
          / OpenBSD's boot sequence will follow. /
Automatic boot in progress: starting file system checks.
kbd: keyboard mapping set to us
... snip ...
starting local daemons: cron.
fuguita: disabled KARL because of read-only media

Wed Aug 19 05:28:08 UTC 2020

OpenBSD/amd64 (fugu-demo.localnet) (tty00)


Initial settings after first root login

FuguIta will make the minimum settings necessary for the operation of the OS at boot time. In addition, you should configure the environment for running applications after root login as shown in the example below:

expand a partition for data storage (LiveUSB only)

As explained in "Creating LiveUSB", you can create a Fuguita LiveUSB by downloading the image file from the download site, extracting it, and writing to it.

However, regardless of the size of the USB flash drive, the LiveUSB version of the FuguIta can only use 2GB of space. Of this, the FuguIta system occupies about 1GB, so the usbfadm can only store about 1GB of data.

The usbfadm utility that comes with the FuguIta has a function called expand that allows you to expand the size of a specified partition. An example of using expand is shown below.

fugu-demo# usbfadm

Welcome to usbfadm.
USB flash drive administration tool for FuguIta

 Version/Arch: 7.0/i386	 (FuguIta-7.0-i386-202112291)
    Boot mode: manual
Target device: not set
Data saved as: not set

readline capability available
TAB to complete the reserved words

Type ? for help.

? : ? ->target

Searching storage device
Please make sure the device inserted.
Then press ENTER ->
sd0i sd0j sd0k sd1a +sd1d vnd5a  <= 
target device ->sd1d

sd1d : ? ->info

Filesystem     Size    Used   Avail Capacity iused   ifree  %iused  Mounted on
/dev/sd1d      1.1G    2.5K    1.1G	0%	 5 1287065     0%   /mnt  <= 


512B	7.0/i386/noasks

sd1d : ? ->expand

Select the expansion method for sd1d:
  1:  growfs - expands the partition while retaining its contents
  2:  newfs - expand and format the partition
  3: [exit without expansion]

There are two ways to expand a partition: "growfs" and "newfs". With growfs, the area is expanded while retaining the data stored in the partition.
With newfs, the partition is extended and then reformatted. So, all files and directories stored on the partition will be lost. Since there is no data stored on it now, we will choose newfs.

This makes sd1d as large as possible.
Note that all contents in sd1d will be removed
Do you proceed? [y/N] -> y

/dev/rsd1d: 3136.5MB in 6423488 sectors of 512 bytes
257 cylinder groups of 12.24MB, 3134 blocks, 6272 inodes each
super-block backups (for fsck -b #) at:
 144, 25216, 50288, 75360, 100432, 125504, 150576, 175648, 200720, 225792,
 6368432, 6393504, 6418576,
** /dev/rsd1d
** File system is already clean
** Last Mounted on
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
1 files, 1 used, 5611214 free (14 frags, 701400 blocks, 0.0% fragmentation)

sd1d : ? ->info  <= 

Filesystem     Size    Used   Avail Capacity iused   ifree  %iused  Mounted on
/dev/sd1d      2.7G    2.5K    2.7G	0%	 5 1611897     0%   /mnt


512B	7.0/i386/noasks

sd1d : ? ->quit

Bye bye...

Note: The parameters of the file system (format format, block size, fragment size, i-node density, etc.) are used as they were before the expansion in growfs, whereas in newfs, the parameters appropriate for the expanded size are set and the formatting is executed.

desktop environment setup

FuguIta provides an utility command dtjsetup that allows you to easily install a X11 desktop environment.

# dtjsetup

# Welcome to dtjsetup
#     Desktop (and Japanese) setup utility
# for FuguIta-6.7-amd64-202008261

Which desktop software will you install?
  1:  no desktop (wm only)
  2: [rox-filer]
  3:  xfce
  4:  mate
  5:  lumina
  6:  lxqt
->          <== Pressing just ENTER means selecting an item
                enclosed in braces ("rox-filer" in this case).
Which window manager will you install?
  1:  cwm
  2:  fvwm
  3:  twm
  4: [icewm]
  5:  fluxbox
  6:  jwm

Will you setup Japanese language environment? [y/N] ->

*** You selected icewm as desktop software.
*** Installing Japanese environment is NO.
*** No Japanese input method choosen.

*** Checking your root authorization...
*** OK.

*** Checking network accessibility...
*** OK.

*** Installing packages: rox-filer icewm
Will you continue? [y/N] -> y
quirks-3.325 signed on 2020-08-11T12:56:29Z
   ... snip ...

*** Rewrite .xsession configuration file.
Will you continue? [y/N] -> y

Copy this .xsession file to /etc/skel ? [y/N] -> y

*** all installation and configuration completed.
*** Check your /root/.xsession and login to X if OK.

*** Note: You can save this configuration and addtionally installed softwares
***	  by using usbfadm utility.
***	  And can reload them at next boot time by selecting boot mode 3.

If you want to install a WM not listed, set the environment variable DTJ_WMS to the WM you want to add to the list and run dtjsetup.

DTJ_WMS='dwm enlightenment' dtjsetup

On the other hand, you can add a WM which has been already installed by edit manually the .xsesson file generated by dtjsetup.

~/.xsession file:

. $HOME/.profile
if [ -x /usr/local/bin/dbus-launch -a -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then
        eval `dbus-launch --sh-syntax --exit-with-x11`

wm="fvwm"        <== replace this with your WM
case "$dt" in
        xsetroot -solid gray12
        xclock -geometry 115x115-0+0 -analog -update 1 -fg white -bg '#000020' -hd gray25 -hl white &
        xterm -geometry +0+0 -rv &

set clock to time zone

To set the OS clock to your timezone, link from /etc/localtime to a zone file under the /usr/share/zoneinfo directory.

# cd /etc
# ln -sf /usr/share/zoneinfo/Asia/Tokyo localtime

If you said YES at setup of Japanese Environment of dtjsetup, you do not need to do this.

doas utility configuration

In OpenBSD, the command doas is used to temporarily perform work as a system administrator.

By setting the contents of the doas configuration file /etc/doas.conf as follows, users belonging to the wheel group can perform system management tasks.

# echo permit persist :wheel > /etc/doas.conf

adding software packages

If you wish add application softwares more, ports/packages system can be used as usual.
Please refer OpenBSD's FAQ for detailed info.

adding an normal user

To create an normal user, use adduser utility as follows:

# adduser
Couldn't find /etc/adduser.conf: creating a new adduser configuration file
Reading /etc/shells
Enter your default shell: csh ksh nologin sh [ksh]:
Your default shell is: ksh -> /bin/ksh
Default login class: authpf bgpd daemon default pbuild staff unbound
Enter your default HOME partition: [/home]:
Copy dotfiles from: /etc/skel no [/etc/skel]:
Send welcome message?: /path/file default no [no]:
Do not send message(s)
Prompt for passwords by default (y/n) [y]:
Default encryption method for passwords: auto blowfish [auto]:
Use option ``-silent'' if you don't want to see all warnings and questions.

Reading /etc/shells
Check /etc/master.passwd
Check /etc/group

Ok, let's go.
Don't worry about mistakes. There will be a chance later to correct any input.
Enter username []: yoshi
Enter full name []: Yoshihiro Kawamata
Enter shell csh ksh nologin sh [ksh]:
Uid [1000]:
Login group yoshi [yoshi]:
Login group is ``yoshi''. Invite yoshi into other groups: guest no
[no]: wheel               <== add wheel group to enable system administration from yoshi user
Login class authpf bgpd daemon default pbuild staff unbound
Enter password []:
Enter password again []:

Name:	     yoshi
Password:    ****
Fullname:    Yoshihiro Kawamata
Uid:	     1000
Gid:	     1000 (yoshi)
Groups:	     yoshi wheel
Login Class: default
HOME:	     /home/yoshi
Shell:	     /bin/ksh
OK? (y/n) [y]: y
Added user ``yoshi''
Copy files from /etc/skel to /home/yoshi
Add another user? (y/n) [y]: n

Next, login as an ordnary user "yoshi" to check such account enabled

# exit

OpenBSD/amd64 (fugu-demo.local) (tty00)

login: yoshi
OpenBSD 6.7-stable (RDROOT.MP) #5: Wed Jul 22 12:57:54 JST 2020

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

fugu-demo$ pwd
fugu-demo$ exit

save and load your data (LiveUSB only)

All the settings you have made up to this point exist on the file system in memory, so if you shut down this way all of them will be lost.

FuguIta can save the settings you have made and the data files you have created in the LiveUSB partition and load them back on next boot.

saving files and directories when FuguIta is running

A utility called usbfadm is used to save settings and data.

# usbfadm

Welcome to usbfadm.
USB flash drive administration tool for FuguIta

  Version/Arch: 6.7/amd64  (FuguIta-6.7-amd64-202008261)
     Boot mode: manual
Data stored in: not set
 Data Saved as: not set

Type ? for help.

? : ? ->target            <== Use "target" to specify the partition to save to

Searching storage device
Please make sure the device inserted.
Then press ENTER ->
sd0a +sd0d                <== the partition for saving data is marked as '+'
target device->sd0d

sd0d : ? ->saveas         <== Use "saveas" to name the set of saved data
Name of saved data->fugu-demo

Your data will be saved as ``fugu-demo''.

sd0d : fugu-demo ->sync   <== "sync" saves data actually

Sync current mfs as ``fugu-demo'' , OK? [y/N] -> y

copying /ram to /mnt/livecd-config/6.7/amd64/fugu-demo (30720KB approx.):
pax: ./tmp/sndio/sock0 skipped. Sockets cannot be copied or extracted
pax: ./var/run/ntpd.sock skipped. Sockets cannot be copied or extracted
pax: ./var/run/smtpd.sock skipped. Sockets cannot be copied or extracted
pax: ./var/run/cron.sock skipped. Sockets cannot be copied or extracted
25.0MiB 0:00:02 [10.6MiB/s] [===========================>      ] 83% ETA 0:00:00
waiting for pax to finish ... syncing ... done.

sd0d : fugu-demo ->info   <== confirm the status of the target disk partition

Filesystem     Size    Used   Avail Capacity iused   ifree  %iused  Mounted on
/dev/sd0d      961M   22.8M    939M	2%   20423 1116663     2%   /mnt


22.8M	6.7/amd64/fugu-demo

sd0d : fugu-demo ->quit

Bye bye...

Since the second and subsequent syncs perform differential transfer using rsync, it will finish in a shorter time than the first sync.

Note: You can do usbfadm's sync on a command line of shell as follows:

# usbfadm -r

The option '-r' will redo usbfadm's sync on a command line.
And also you can do it background by cron:

# crontab file
#minute hour    mday    month   wday    command
# save session periodically
0       */4     *       *       *       PATH=$PATH:/usr/local/bin /usr/fuguita/sbin/usbfadm -rq

This will do usbfadm's sync every 4 hours. -q is the option for quiet.

loading files and directories at subsequent boot

To restore the data saved by usbfadm at startup, specify startup mode 3.

Boot modes:
  0: fresh boot - standard mode as a live system
  1: fresh boot - less memory, faster boot (/usr is non-writable, can't pkg_add)
  2: fresh boot - works using only RAM (about 1GB or more of RAM required)
  3: boot with retrieving saved files from storage device
     or enter passphrase for an encrypted volume
  4: boot with retrieving saved files from floppy disk
  5: interactive shell for debugging
scanning partitions: sd0a sd0d sd0i cd0a
Device(s) found:
  loadable from: sd0d
Which is FuguIta's storage device? [default: sd0d] ->
/dev/sd0d : available data;


config name -> fugu-demo
Copying files from flash to ram ...
   ... snip ...
starting local daemons: cron.
fuguita: disabled KARL because of read-only media

Thu Sep	 3 15:13:36 JST 2020

OpenBSD/amd64 (fugu-demo.localnet) (tty00)


Note: Even if you are using FuguIta Live DVD, it is possible to save the data and load them at the next boot if LiveUSB is also attached.

automate load/save operation

automated load

FuguIta prompts the user to enter the following 5 items at boot time:

You can automate those inputs by editing the noasks files in the d partition of your LiveUSB system (in case of OpenBSD/amd64).

# mount /dev/sd0d /mnt                                          
# vi /mnt/livecd-config/7.0/amd64/noasks

Edit noasks file to fill item values and to uncomment them

# noasks - parameter settings for non-interactive boot
# Make statements uncommented
# to activate settings
# FuguIta system device
# mfs size in MB
# boot mode
# storage device
# data set name in USB flash drive
# umount /mnt

Since noasks edited, following line will appear at boot time:

# reboot
=     ______               __   _
=    / ____/              |  |_| |__
=   / /____  ______  __  _|  /_   _/_____
=  / ___/ / / / __ \/ / / |  | | | /  _  |
= / /  / /_/ / /_/ / /_/ /|  | | |_| (_) |__
=/_/   \____/\__  /\____/ |__| \___/____/__/
=            __/ /
=           /___/
= Welcome to FuguIta!  -  OpenBSD Live System
scanning partitions: wd0i wd0j sd0a sd0d sd0i
FuguIta's operating device(s): sd0a.
Press ^C to cancel non-interactive boot

Wait 5 seconds after this message is displayed, and the boot will be continued without any user interaction. If you enter <Control>-C within 5 seconds, the automatic boot by the noasks file will be stopped and the normal manual operation will be restored.

automated save

In the previous section, making it possible to omit entering configuration settings at startup, we discussed automating the startup of FuguIta, and it is also possible to save data automatically at shutdown.

OpenBSD runs a script called /etc/rc.shutdown when the system shutdown. On FuguIta, the data saving process is described in /etc/rc.shutdown.

force_umount=No  # set Yes for forced umount /ram at shutdown
force_resync=No  # set Yes to re-sync at shutdown

If force_resync is set to Yes, data will be saved at shutdown.

Note: Although this process provides error recovery in case the save process fails. However, it is not safe in all cases. If you perform important operations during operation, we recommend that you manually save the data separately before shutting down.

More further informations

FuguIta can be used in various ways by combining boot modes and media. See the FuguIta Guide for such applications. The FuguIta Guide is the comprehensive document.

2024-07-21 2024-06-27 2024-06-26 2024-05-24 2024-05-05 2024-04-22 2024-04-09 2024-02-17 2024-01-31 2023-11-05 2023-10-04 2023-08-28 2023-06-21 2023-06-19 2023-06-03 2023-05-30 2023-05-01 2023-04-30 2023-04-23 2023-04-13 2023-04-12 2023-03-17 2023-02-24 2023-02-23 2023-02-22 2022-12-23 2022-12-13 2022-11-17 2022-11-15 2022-11-14 2022-11-13 2022-11-05

Front page   Edit Freeze Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes
Last-modified: 2023-11-05 (Sun) 11:12:18