This page is archived.
Current active BBS is FuguIta/BBS.

Another new function of usbfadm

kaw (2019-01-12 (Sat) 22:43:42)

New usbfadm can create a raw disk image of FuguIta by specifying a vnode device.
Here's an example:

# usbfadm

Welcome to usbfadm.
USB flash drive administration tool for FuguIta

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

Type ? for help.

? : ? ->newdrive

Please make sure the device inserted.
Then press ENTER ->

==== disk(s) and vnode devices  ============================
wd0 at pciide0 channel 0 drive 0: <QEMU HARDDISK>
wd0: 16-sector PIO, LBA48, 1024MB, 2097152 sectors
wd1 at pciide0 channel 0 drive 1: <QEMU HARDDISK>
wd1: 16-sector PIO, LBA48, 2048MB, 4194304 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.4-amd64.ffsimg on wd0a, inode 9
Enter the name of device which FuguIta will be installed->vnd0

Enter size of a vnode device file.
You can add suffix K, M, G or T (otherwise considered 'bytes').

1024+0 records in
1024+0 records out
1073741824 bytes transferred in 95.420 secs (11252729 bytes/sec)

Disk: vnd0      geometry: 20971/1/100 [2097152 Sectors]
Offset: 0       Signature: 0x0
            Starting         Ending         LBA Info:
 #: id      C   H   S -      C   H   S [       start:        size ]
 0: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
 1: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
 2: 00      0   0   0 -      0   0   0 [           0:           0 ] unused
 3: 00      0   0   0 -      0   0   0 [           0:           0 ] unused

Select partition type:
  1: [MBR]
  2:  GPT
  3:  Hybrid (not recommended if you wish modify partitioning later)

Select boot method:
  1: [Legacy BIOS]
  2:  none (only for save data)
  3:  UEFI

Enter size for saving User Data.
You can add suffix K, M, G or T (otherwise considered 'bytes').

323MB (663488sectors) free
'*' implies 'all'->*

target disk: vnd0
  partition type=MBR
       boot type=Legacy
-------------------- : ------
partition            :   size
-------------------- : ------
whole disk           :    1GB
disk metadata        :   32KB
UEFI system          :     0B
FuguIta system       :  700MB
FuguIta user data    :  323MB
MSDOS FAT            :     0B
-------------------- : ------

If you type 'Y' now, all the data on vnd0 will be lost.
Are you sure to initialize vnd0? [y/N] -> y

= Clearing MBR, GPT and BSD disklabel


? : ? ->bye

Bye bye...

# ls -l
total 2097712
-rw-r--r--  1 root  wheel  1073741824 Jan 12 13:17 FuguIta-6.4-amd64-201901122.img

FuguIta for UEFI/GPT

kaw (2018-12-21 (Fri) 15:15:14)

I'm working on FuguIta for UEFI/GPT functionality.
This is being planned as additional feature of USB flash drive management tool called usbfadm.

FuguIta as virtualization guest

kaw (2018-12-05 (Wed) 14:27:32)

I'm working on FuguIta as a vmm(4)/vmd(8) virtualization guest.

Try this test version as follows:

vmhost# ftp
vmhost# gzip -d FuguIta-6.4-amd64-201812052.iso.gz
vmhost# rcctl enable vmd
vmhost# rcctl start vmd
vmhost# vmctl start testfi -r FuguIta-6.4-amd64-201812052.iso && vmctl console testfi
vmctl: starting without disks
vmctl: starting without network interfaces
vmctl: started vm 1 successfully, tty /dev/ttyp1
Connected to /dev/ttyp1 (speed 115200)
SeaBIOS (version 1.11.0p0-OpenBSD-vmm)
Loading /CDBOOT
probing: pc0 com0 mem[638K 510M a20=on] 
disk: cd0
>> OpenBSD/amd64 CDBOOT 3.40
>> is for 
>> multiprocessor kernel (default). 
>> Enter 'bsd-fi' for Uniprocessor. 

booting cd0a:/ 10548999+2552840+2215968+0+675840 [702255+119+854448+595727]=0x1150c28
entry point at 0x1000158
[ using 2153512 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2018 OpenBSD. All rights reserved.

OpenBSD 6.4-stable (RDROOT.MP) #2: Sun Dec  2 23:13:01 JST 2018
real mem = 520085504 (495MB)
avail mem = 493146112 (470MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf1950 (10 entries)
bios0: vendor SeaBIOS version "1.11.0p0-OpenBSD-vmm" date 01/01/2011
bios0: OpenBSD VMM
acpi at bios0 not configured
starting local daemons: cron.
KARL: disabled
Wed Dec  5 05:18:36 UTC 2018

OpenBSD/amd64 (vmguest) (tty00)

login: root
OpenBSD 6.4-stable (RDROOT.MP) #2: Sun Dec  2 23:13:01 JST 2018

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.

You have new mail.
vmguest# cat /usr/fuguita/version                                               
vmguest# /sbin/shutdown -hp now                                                 
Shutdown NOW!
shutdown: [pid 18229]
*** FINAL System shutdown message from root@vmguest ***                       
System going down IMMEDIATELY                                                  
System shutdown time has arrived

vmguest# syncing disks... done
vmmci0: powerdown

The operating system has halted.
Please press any key to reboot.

        # (just press ENTER here)

At this version, FuguIta enables a getty on /dev/tty00 if console is the serial device com0.

read only

kaw (2018-10-31 (Wed) 07:58:52)

To avoid spam posts, being this host read only temporarily.

OpenBSD 6.4 released

kaw (2018-10-19 (Fri) 10:51:02)

I am working for FuguIta 6.4 now.

dual boot

Rufwoof (2018-10-11 (Thu) 22:26:48)

I have grub4dos bootloader installed and in menu.lst I have a entry

   title FuguIta
   root (hd0,3)
   chainloader +1

First partition is ext3 with grub4dos/menu.lst installed. I also have a /ISO folder in which FuguIta iso file has been copied (slice i in FuguIta)
Second partition is linux swap
Third partition is ext3
Fourth partition is OpenBSD (type a6, label OpenBSD).

After having created that 4th partition using Linux/gparted, and set its partition type to a6 using linux fdisk /dev/sd0, I installed standard OpenBSD to that partition.

On the third (sda3) partition I've created a 10GB swap file (filename "swap") that I load when FuguIta boots. Which is slice k inside Fuguita

On slice n I have /livecd-config and /noasks

In /etc/rc.local I

   mkdir /swapfile
   mount /dev/sd0k /swapfile
   swapctl -a /swapfile/swap

My noasks file content contains ...


I've activated xenodm and set it to autologin user (that I created a account for) by adding

   DisplayManager.*.autoLogin: user

into /etc/X11/xenodm/xenodm-config

Now when I reboot the PC it auto boots and auto loads the save (/livecd-config) and auto starts the X desktop as user

In grub4dos menu.lst I have other boot choices (dual boot), such as booting Linux live systems that are contained on the ext3 partitions.

I like booting FuguIta as it offers the choice of whether to save changes or not (save by running /boottmp/usbfadm). Once I've set things up I'm more inclined to not save, so that each reboot starts off exactly the same (nice and clean).

boot FuguIta iso using grub4dos (BIOS)

Rufwoof (2018-10-07 (Sun) 22:49:05)

If you have grub4dos installed as your bootloader on a BIOS PC then you'll need two free (unused) partitions (out of the 4 total permissable partitions).

Download the ISO version of FuguIta and uncompress it.

Newly create and format one partition as FAT32 (which has a 32GB limit). In my case I used sda4 (hd0,3) for that fat32 partition. It's important to use a newly created fat32 partition to store the iso as the iso file has to be stored contiguous; If the iso file is fragmented then it will not boot; Using a new/clean partition ensures the iso file isn't fragmented.

Mount and create a iso folder/directory in the newly created/formatted fat32 partition and copy the fuguita iso file into that folder/directory.

Add a entry to grub4dos menu.lst bootloader menu that looks something like ...

   title Fuguita ISO
   partnew (hd0,1) 0x00 (hd0,3)/iso/FuguIta-6.3-amd64-201809211.iso
   map  (hd0,3)/iso/FuguIta-6.3-amd64-201809211.iso (0xff)
   map --hook
   root (0xff)
   chainloader (0xff)

In this case my sda2 second partition (hd0,1) is free/unused and my fat32 partition is sda4 (hd0,3) - where the FuguIta iso is stored. My first partition (sda1 (hd0,0) is ext3 in my case, and is where grub4dos bootloader and menu.lst was installed). Adjust the above according to which partitions you use (and what FuguIta iso version/filename you've downloaded).

Reboot and select/boot the FuguIta menu option and FuguIta should start up as normal.

Co-existence of FuguIta and standard OpenBSD

Rufwoof (2018-09-25 (Tue) 08:14:01)

With a fully installed OpenBSD on HDD (whole disk) and with that booted ...

Create a /ISO folder and download the latest fuguita (xxx.iso.gz) into that /ISO folder and ...

   gzip -d xxx.iso.gz          # uncompress it
   vnconfig vnd0 /ISO/xxx.iso  # mount it
   mount /dev/vnd0c /mnt
   cp /mnt/ /.        # copy the and bsd-fi to /
   cp /mnt/bsd-fi /.
   umount /mnt                 # unmount the iso
   vnconfig -u vnd0
   mkdir /home/livecd-config   # prepare a save folder on slice k

... and its ready to be booted.

Enter at the boot prompt and select type 0 boot option (normal)

After configured etc. run /boottmp/usbfadm and set target and source and then sync ... to save (in a standard OpenBSD that the k slice livecd-config folder i.e. /home/livecd-config in the main OBSD session). First save does take some time, so go off and have a 10 to 15 minute coffee break. Subsequent saves are generally much quicker.

Ideally need lots of ram and swap as it all runs in 'memory' i.e. combined ram+swap. Any changes wont be saved unless you save the changes using usbfadm.

To automate bootup, create a /noasks file alongside the /livecd-config
folder containing something like ...


(adjust values accordingly to what HDD name and values you normally use).

Not as secure as booting from a read only CD and saving/restoring from a detachable USB, but you can always keep/check a checksum of the save folder i.e. in standard OpenBSD run something like

   mtree -CK sha256digest -p /home/livecd-config >mtree-livecd-config

to generate a checksum (store that safely, owned by root only). And then later you can check the checksum using

   mtree -p /home/livecd-config <mtree-livecd-config

So assuming you don't usually save after having configured things and made a save, then the checksum should remain the same. Of course if you do make changes and save then the checksum will be different and all of those differences will be shown by mtree (regenerate a new checksum again as appropriate).

Nice in that you don't have to burn a CD for each new release. Just download the iso.gz and start all over again.

no subject

swap on ext3 partition (2018-09-16 (Sun) 00:28:48)

LiveCD (DVD) booted FuguIta, loading/saving changes to a /livecd-config folder on a FuguIta installed to USB. Picks up my OpenBSD HDD installed 2GB swapfile at bootup, but I mounted a ext3 partition, dd'd a 2GB file called swapfile, vnconfig vnd0 swapfile, and ... swapctl -a /tmp/i/swapfile i.e. using a filesystem on a ext3 partition as additional FuguIta's swapfile space ... and top is showing the 4GB combined swap space available :) Obviously running liveCD (in ram) can run out of ram relatively easily on a system such as my own that has only 2GB of ram, so swap is a saviour if running FuguIta as a desktop type system (X).

With LibreOffice and firefox-esr installed, it runs OK (also installed mtpaint to take the snapshot). I'm using cwm window manager.

Screenshot ...


Save to ext2/3/4

Rufwoof (2018-09-15 (Sat) 12:42:29)

Hi kaw

Thinking along the lines that you can create a ffs file filesystem on a ext2 partition ...

Mount a ext2 partition and then cd to that partition and ...

   dd if=/dev/zero of=diskimage bs=1M count=100
   vnconfig vnd0 diskimage
   newfs vnd0c
   mkdir /home/user/mountpoint
   mount /dev/vnd0c /home/user/mountpoint

... and then use that filesystem ...

   echo hello >/home/user/mountpoint/myfile.txt

... and when done

   umount /home/user/mountpoint
   vnconfig -u vnd0

We have a ffs file filesystem residing on a ext2 partition. We can remount that by again mounting the ext2 partition and cd to that and ...

   mkdir /home/user/mountpoint
   vnconfig vnd0 diskimage
   mount /dev/vnd0c /home/user/mountpoint

and ls /home/user/mountpoint will show the myfile.txt file created earlier.

Fundamentally I'm thinking that FuguIta's saves (livecd-config), that currently need to be on a ffs partition, could be stored on a ext2 partition as a ffs file filesystem such that a liveCD could boot and laod/save its ram images (changes) to a ext2 hard disk drive.

A pre-prepared ffs filesystem file could be provided/downloaded so that new users with no BSD already installed/working, but perhaps Linux working, could copy that ffs file filesystem to one of their ext2 partitions/folders, boot a FuguIta CD and store their changes into that ffs file filesystem stored on their ext2 partition.

Another thought - not sure - but it might be possible to create a swap file - stored on disk and activated

   dd if=/dev/zero of=/usr/swap0 bs=1024k count=1024 
   chmod 0600 /usr/swap0
   swapctl -a /usr/swap0 

That would help reduce the chances of FuguIta locking up if larger programs were being run and where otherwise no swap file/partition was available.


rufwoof (2018-09-08 (Sat) 21:00:06)

I didn't correctly format the commands/code section in my prior post (so part showing as text, part as code). Sorry.

reverse sshfs from FuguIta

rufwoof (2018-09-08 (Sat) 20:58:05)

Linux liveCD desktop system (Fatdog). Fuguita liveCD booted another PC and running

rm -f "$fifo"
mkfifo -m600 "$fifo" &&
  < "$fifo" /usr/libexec/sftp-server |
  ssh root@ sshfs -o slave :/root /data '' > "$fifo"
rm "$fifo"

Reverse sshfs mounts the Fuguita's /root folder as a (pre created /data folder) mountpoint on my Fatdog system.

If on the Fuguita box you mount a HDD and share a folder on that with Fatdog, then your data (more often the most invaluable on single user desktop setups) is isolated, only the folder/content you share with Fatdog (main desktop) is at risk and backup copies can be made/restored on the OpenBSD box to protect that data. I used a old single core celeron box for the FuguIta boot. The Fatdog PC is a later box (but still relatively old i.e. single core Acer Aspire 2GB Phenom X4).

For some ssh throughput optimisation, add -o compression=no -o Cipher=arcfour just before the -o slave code in the above.

Test, just a test

Patrickgoame (2018-09-01 (Sat) 21:18:23)


network reconriguring by gennetconfs

kaw (2018-08-07 (Tue) 18:18:25)

At FuguIta-6.3-201808061, a new tool called gennetconfs has been introduced.
This tool generates configuration files for networking, so you can reconfigure network settings;

gennetconfs [dir]

dir is the directory which configuration files will generated on.
If dir not specified, current directory will be taken by default.

gennetconfs /etc

will overwrite directly existing files under /etc .

Because of gennetconfs was derived from FuguIta's boot sequence /boottmp/rc,
the interaction with gennetconfs is the same as one at boot time.

Various Operations of FuguIta

kaw (2018-06-04 (Mon) 15:23:16)

FuguIta originally started as a LiveCD, but now we can use various devices. In addition, there are several types in operation.
So, I tried to make a table of combinations of how these devices can be used.
Note that If there are multiple available devices, you can use them in combination.

(distrib. ISO)
(distrib. img)
boot fromOOOOXXX
boot mode
0, 1, 2OOOOOOO
save data toXOOOOXX

Explanation of the table

In the table above, each column indicates a device that FuguIta can handle.

CD (distrib. ISO)
CD, CD-R, CD-RW etc burned ISO image downloaded from distribution site.
You can burn it to DVD but you can use it, the size is 700 MB same as CD.
USB (distrib. img)
This is a USB flashdrive into which the IMG file downloaded from the distribution site is written.
Regardless of the USB flashdrive size used, the capacity is fixed at 1 GB (system 700 MB + data storage area 300 MB).
USB (usbfadm)
This is a USB flashdrive created using FuguIta's usbfadm command.
When executing the usbfadm command, you can set the size of the data storage area.
You can also create FAT in free space not used by FuguIta for data exchange with other OS.
OpenBSD system already installed. To use this from FuguIta, perform the following operations in advance.
  • a : Copy FuguIta's kernel - /sysmedia/bsd-fi and /sysmedia/ to the partition where the OpenBSD kernel resides, and by entering "" or "bsd-fi" for boot prompt "boot>", FuguIta starts up.
  • b : By creating a directory called "ISO" on any partition of OpenBSD and placing the ISO image of FuguIta here, you can use it as an operational device.
  • c : You can save and restore data here by creating a directory called "livecd-config" on any partition of OpenBSD.
    However, you can not do b and c at the same time on the same partition.
SD (usbfadm)
This is an SD card created using FuguIta usbfadm command.
Linux ext2fs ... ext4fs and Windows NTFS, FAT partitions.
By creating a directory called "ISO" on these partitions and placing the FuguIta ISO image here, you can use it as an operational device.
File system created in memory. It is created automatically when FuguIta is started, and the contents are lost at the end.

Each line of the table is an operation form which can be selected at the time of starting up FuguIta or during operation.

boot from
FuguIta is a bootable device that loads the kernel. If there are multiple bootable devices, specify them using the BIOS boot menu.
run on
This is the device where the system file of Fugu Ita is installed and used for operation. It is mounted read-only.
If there are multiple available devices, specify the device at startup.
with boot mode
This is how to layout memory and operation devices during operation. The main boot modes are as follows.
  • mode 0 : This is standard operation as LiveCD / LiveUSB.
  • mode 1 : It is almost the same as mode 0, but it is completed in a shorter time and it operates with saving memory (about 64 MB minimum). However, pkg_add cannot be used because /usr becomes non-writable.
  • mode 2 : It operates using only tmpfs. Although it takes time to complete the boot, file input/output during operation is fast. Memory requires about 800 MB, or more.
  • mode 3 : Read data saved by usbfadm at boot time.
set parameters with
Usually, when starting FuguIta, it is necessary to manually input the operation device, tmpfs size, start mode, etc. However, if these parameters are described in the file "noasks", at startup this is set automatically, you can omit manual input.
save data to
As described in boot mode 3, you can save the file to the device specified by the usbfadm command.

FuguIta 6.3 for Raspberry Pi 3

kaw (2018-05-31 (Thu) 16:42:17)

Although it is still a test version, it is working well on my RPi3.
Even without a serial cable, you can install and use it by connecting from the SSH client.

README for more further details.

Former articles are at FuguIta/BBS/7.

Return to FrontPage

2024-05-24 2024-05-13 2024-05-12 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

Attach file: filefi-cwm-ffesr-lo-swap.png 1332 download [Information]

Front page   Edit Freeze Diff History Attach Copy Rename Reload   New Page list Search Recent changes   Help   RSS of recent changes
Last-modified: 2019-02-02 (Sat) 01:10:54