47 lines
1.5 KiB
Plaintext
47 lines
1.5 KiB
Plaintext
|
Implementation of UFS2 on Haiku
|
||
|
===============================
|
||
|
|
||
|
While making a device for testing I have used a usb drive and formatted it to
|
||
|
UFS2 by using the following commands in FreeBSD. Here da0 is usb.
|
||
|
|
||
|
gpart destroy -F /dev/da0
|
||
|
|
||
|
gpart create -s gpt /dev/da0
|
||
|
|
||
|
gpart add -t freebsd-ufs /dev/da0
|
||
|
|
||
|
newfs /dev/da0p1
|
||
|
|
||
|
By running the following commands you can run the implemented code of UFS2.
|
||
|
|
||
|
Commands
|
||
|
--------
|
||
|
|
||
|
# Building the ufs2 shell
|
||
|
|
||
|
jam -q "<build>ufs2_shell"
|
||
|
|
||
|
To run it, use
|
||
|
|
||
|
jam run objects/linux/x86_64/release/tests/add-ons/kernel/file_systems/ufs2/ufs2_shell/ufs2_shell <path_to_the_image>
|
||
|
|
||
|
If you are using a usb drive then you may not be able to open it so, you just
|
||
|
need to add sudo in the beginning of above command and make sure that you have
|
||
|
not mounted the usb drive.
|
||
|
|
||
|
Alternatively you can start from an existing freebsd image, so it has some files in it:
|
||
|
|
||
|
Download FreeBSD-12.1-RELEASE-amd64-mini-memstick.img
|
||
|
|
||
|
diskimage register FreeBSD-12.1-RELEASE-amd64-mini-memstick.img to access the MBR style partitions inside it (on Linux probably using mount -o loop or something like that)
|
||
|
|
||
|
dd if=/dev/disk/virtual/files/8/1 bs=8K skip=1 of=fbsd_ufstest.img to extract the filesystem from the partition (skipping the freebsd disklabel)
|
||
|
|
||
|
Check the result: file fbsd_ufstest.img
|
||
|
|
||
|
fbsd_ufstest.img: Unix Fast File system [v2] (little-endian)
|
||
|
|
||
|
During the implementation of the project the following links were found useful.
|
||
|
https://github.com/freebsd/freebsd/blob/master/sys/ufs/ffs/fs.h
|
||
|
https://flylib.com/books/en/2.48.1/ufs2_inodes.html
|