In this page, we will explain the simple usage of FuguIta.
FuguIta provides ISO images for LiveDVD and raw disk image files for LiveUSB etc. for i386 and amd64 platforms respectively.
Download the apropriate file of FuguIta from the site described in FuguIta/Download.
The ISO image file of FuguIta is about 950MB in size. Therefore, use DVD media instead of CD media to burn this file.
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- Download the ISO image of FuguIta from the site described in FuguIta/Download. In following example, MIRROR means the name of appropriate download site which you will download.
# ftp http://MIRROR.dl.fuguita.org/FuguIta-X.X-ARCH-YYYYMMDDN.iso.gzNote that the part YYYYMMDDN must be replaced with the version string of real ISO image.
and ARCH is one of i386 and amd64.- After decompression completed, 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
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.
- Download the image for USB flash drive
# ftp http://MIRROR.dl.fuguita.org/FuguIta-X.X-ARCH-YYYYMMDDN.img.gz- Decompressing that image, and write it into USB storage device.
# gzip -dc FuguIta-X.X-ARCH-YYYYMMDDN.img.gz | dd of=/dev/rsd?c bs=1mThe /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 on) 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.
Even if you use a USB memory of 2 GB or more, the portion exceeding 2 GB will not be used. If you want to create a LiveUSB version FuguIta that matches the size of the USB memory, refer to Remastering LiveUSB on running FuguIta.
Files for Raspberry Pi 3 are provided in tar archive format. For how to create the media, please unpack the archive and refer to the README file included in it.
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 = http://fuguita.org/ ============================================= scanning partitions: wd0i wd0j cd0a FuguIta's operating device(s): cd0a. Which is FuguIta's operating device? [default: cd0a] ->
Next, enter capacity of TMPFS.
Unless you have the reason that you wish to fix the size of TMPFS, simply press ENTER key (accepting default value) is OK.
user memory: 495 MB Enter tmpfs size in MB. (0 is auto) [default: 0] ->
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 ->0
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:
Network Settings:
Enter host name (short name, i.e. no domain part).
Next, settings for IP protocols and their name resolution order
host name (without domain) -> fugu-demo IP version(s) to use: 4, 6, 46, 64 or n 46: IPv4 preferred over IPv6 in address resolution 64: reversed to 46 n: stand alone operation [46]-> '46' selected as default
Selecting network interface for setting
==[ifconfig -a]========================= lo0: flags=8008<LOOPBACK,MULTICAST> mtu 32768 index 3 priority 0 llprio 3 groups: lo em0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 lladdr 52:54:00:12:34:56 index 1 priority 0 llprio 3 media: Ethernet autoselect (1000baseT full-duplex) status: active enc0: flags=0<> index 2 priority 0 llprio 3 groups: enc status: active ======================================== Available network interface(s): em0 network interface to setup [em0] ->
Enter domain names after the host name
FQDN of this host -> fugu-demo.localnet
After this, the following settings will appear only if you have selected a WiFi device as the network interface.
Wi-Fi SSID -> MY-WIFI-NET WPA Key -> MY-WPA-SECURED-KEY
If you enter the WPA key only in ENTER and do not set it, you will be asked for the WEP key.
We strongly recommend that you use WPA instead of WEP because WEP is now easily decrypted.
If you press only ENTER for WEP Key prompt, it attempts to connect without any encryption key.
Wi-Fi SSID -> MY-WIFI-NET WPA Key -> WEP Key -> MY-WEP-UNSECURED-KEY
Name resolution method
When you select "Manual", IP address/Subnetmask/Default gateway will be prompted.
DNS setup; Manual : Enter up to three IPv4/IPv6 addresses, separated by spaces DHCP : Just press ENTER . no DNS : Enter "none". ->
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) 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:
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 https://ftp.jaist.ac.jp/pub/OpenBSD/6.7/packages-stable/amd64/ quirks-3.325 signed on 2020-08-11T12:56:29Z https://ftp.jaist.ac.jp/pub/OpenBSD/6.7/packages-stable/amd64/quirks-3.325.tgz ... snip ... https://ftp.jaist.ac.jp/pub/OpenBSD/6.7/packages/amd64/icewm-1.6.4.tgz *** 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:
#!/bin/sh . $HOME/.profile if [ -x /usr/local/bin/dbus-launch -a -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then eval `dbus-launch --sh-syntax --exit-with-x11` fi dt="no" wm="fvwm" ← replace this with your WM case "$dt" in no) xsetroot -solid gray12 xclock -geometry 115x115-0+0 -analog -update 1 -fg white -bg '#000020' -hd gray25 -hl white & xterm -geometry +0+0 -rv & $wm ;; rox-filer)
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 should not do this.
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
If you wish add application softwares more, ports/packages system can be used as usual.
Please refer OpenBSD's FAQ for detailed info.
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 [default]: 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 [default]: 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 Goodbye! #
Next, login as an ordnary user "yoshi" to check such account enabled
# exit OpenBSD/amd64 (fugu-demo.local) (tty00) login: yoshi Password: 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 /ram/home/yoshi fugu-demo$ exit
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.
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 tmpfs 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 scanning... 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 -rThe 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 ...snip... # save session periodically 0 */4 * * * PATH=$PATH:/usr/local/bin /usr/fuguita/sbin/usbfadm -rqThis will do usbfadm's sync every 4 hours. -q is the option for quiet.
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 ->3 scanning partitions: sd0a sd0d sd0i cd0a Device(s) found: loadable from: sd0d Which is FuguIta's storage device? [default: sd0d] -> /dev/sd0d : available data; fugu-demo 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) login:
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.
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 noask_rdev=sd0a # # tmpfs size in MB noask_umem=0 # # boot mode noask_setup_rw_mode=3 # # storage device noask_confdev=sd0d # # data set name in USB flash drive noask_confdir=fugu-demo
# umount /mnt
Since noasks edited, following line will appear at boot time:
# reboot ...snip... ============================================ = ______ __ _ = / ____/ | |_| |__ = / /____ ______ __ _| /_ _/_____ = / ___/ / / / __ \/ / / | | | | / _ | = / / / /_/ / /_/ / /_/ /| | | |_| (_) |__ =/_/ \____/\__ /\____/ |__| \___/____/__/ = __/ / = /___/ = = Welcome to FuguIta! - OpenBSD Live System = http://fuguita.org/?FuguIta ============================================= 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.
In the previous section, we explained the automation at the start of FuguIta, and you can also automate the process of saving data at the shutdown.
In OpenBSD, the script /etc/rc.shutdown is executed when the system shuts down, so append following lines to this file.
export PATH=$PATH:/usr/local/bin /usr/fuguita/sbin/usbfadm -r
Note: This process does not perform error recovery during the save process, so the system will continue to shutdown even if the save fails.
If you perform important processing during operation, we recommend that you manually save the data separately.
As mentioned earlier, the FuguIta raw disk image we distribute only uses 2GB of space regardless the size of target media.
To create a FuguIta with a partition that fits your USB memory, use a utility called usbfadm on the running FuguIta.
- First, create FuguIta LiveDVD or LiveUSB from download file, then run it.
- Login as root, then execute newdrive subcommand on the USB management tool usbfadm.
# usbfadm Welcome to usbfadm. USB flash drive administration tool for FuguIta Version/Arch: 6.7/amd64 (FuguIta-6.7-amd64-202008111) Boot mode: manual Data stored in: not set Data Saved as: not set Type ? for help. ? : ? ->newdriveScanning USB devices after pressing ENTER.Please make sure the device inserted. Then press ENTER ->Enter the device name of USB flash drive.
Contents of system log entries are displayed for your information;==== disk(s) and vnode devices ============================ sd0 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, > sd0: 1024MB, 512 bytes/sector, 2097152 sectors sd1 at scsibus2 targ 0 lun 0: <VirtIO, Block Device, > sd1: 4096MB, 512 bytes/sector, 8388608 sectors vnd0: not in use vnd1: not in use vnd2: not in use vnd3: not in use vnd4: not in use vnd5: covering /sysmedia/fuguita-6.7-amd64.ffsimg on cd0a, inode 48172Select the disk you will install FuguIta toEnter the name of device which FuguIta will be installed->sd1There are several ways of boot. Choose one.
"Hybrid" enables boot with either Legacy BIOS or UEFI, but it's very difficult to change fdisk/GPT partition later.Select boot method: 1: [Legacy BIOS] 2: UEFI 3: none (only for save data) 4: Hybrid ->1Entering partition sizes.
If you answer "Y" for data encryption, input for passphrase will be prompted.Enter sizes for swap, user data and extra FAT. You can add suffix K, M, G or T (otherwise considered 'bytes'). '*' implies 'all' '0' doesn't make this partition.If you input any size of swap greater than 0, the maximum size of tmpfs can be expanded.3GB (3149MB) (6451136sectors) free swap->0 3GB (3149MB) (6451136sectors) free user data->2560m user data encryption? [y/N] -> Create an extra FAT partition? [y/n] -> y target disk: sd1 partition type=MBR boot type=Legacy -------------------- : ------ partition : size -------------------- : ------ whole disk : 4GB partition tables : 32KB UEFI system : 0B FuguIta system : 9 46MB FuguIta swap : 0B FuguIta user data : 2GB MSDOS FAT : 589MB -------------------- : ------ ***THIS IS THE LAST CHANCE*** If you type 'Y' now, all the data on sd1 will be lost. Are you sure to modify disk sd1? [y/N] -> y ======================================== = Clearing MBR, GPT and BSD disklabel = 1+0 records in 1+0 records out 1048576 bytes transferred in 0.040 secs (25613268 bytes/sec) ...snip... /dev/rsd1d: 2560.0MB in 5242880 sectors of 512 bytes 13 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each super-block backups (for fsck -b #) at: 32, 414688, 829344, 1244000, 1658656, 2073312, 2487968, 2902624, 3317280, 3731936, 4146592, 4561248, 4975904, ** /dev/rsd1d ** File system is already clean ** Last Mounted on /mnt ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 3 files, 3 used, 1289388 free (20 frags, 161171 blocks, 0.0% fragmentation) ? : ? ->quit Bye bye... #If you specify an unused vnd device when executing newdrive, a FuguIta LiveUSB image file will be created in the current directory.
FuguIta can be used in various ways by combining boot modes and media. See the 河豚板ガイド(FuguIta Gaido) for such applications. The FuguIta Guide is the comprehensive document written in Japanese. If you can't read Japanese, please refer to English version which was translated by Alfredo Vogel.
Here's the translated table of contents for Japanese version of FuguIta Guide: