Partition and format HFS/FAT volumes in the Web UI + SMB install#946
Partition and format HFS/FAT volumes in the Web UI + SMB install#946
Conversation
|
Left to do:
|
|
Some thoughts:
|
nucleogenic
left a comment
There was a problem hiding this comment.
Nice feature! Just had a quick scan, will do a proper test as soon as I get a chance.
easyinstall.sh
Outdated
| function cloneHfser() { | ||
| if [ ! -f "$BASE/HFSer" ]; then | ||
| cd "$BASE" || exit 1 | ||
| git clone https://github.com/erichelgeson/HFSer.git |
There was a problem hiding this comment.
Perhaps we could ask @erichelgeson to tag a release? We can't reasonably expect the owner of the repository to maintain backward compatibility with all releases of RaSCSI indefinitely.
There was a problem hiding this comment.
Since you are just taking the drivers out, please just copy/host the drivers somewhere. I will be archiving this repo as it's little more than a python wrapper for dd and I wont be updating it.
Possible YAGNI, but I am by no means the best person to answer this. |
|
@nucleogenic Sorry for the feature creep, but I also added an SMB installation script (since I was already touching the sequence of those options.) This is something that has been requested by the community in the past and I just felt a bit inspired to make it happen. |
|
@uweseimet As an Atari ST user, I wanted to get your opinion on the ability of mkfs.fat to create an Atari compatible FAT file system. In this PR, I have the Web Interface run mkfs.fat against newly created images to assist in creating file systems on the fly, to assist in bootstrapping a usable volume. Do you think this is useful for Atari ST users, or is it redundant? The command looks something like: |
|
@rdmark That's hard to tell. Atari users usually have more than one partition (i.e. filesystem) on a drive. If you want to boot from a drive, a hard disk driver has to be installed on it. The hard disk driver software also includes a tool to partition the drive, i.e. to create several filesystems on it, which are then assigned the drive letters C:, D: etc. The resulting layout is very similar to what you have with Windows. Depending on the OS version the maximum FAT16 partition size the Atari supports is 1 GB. This means that in order to use the full capacity of your medium you need several partitions. |
| echo "Lido driver couldn't be found. Make sure RaSCSI is up-to-date with git pull" | ||
| return 1 | ||
| fi | ||
| sudo cp hfdisk "$HFDISK_BIN" |
There was a problem hiding this comment.
Worth cleaning up the extracted hfdisk dir as well as the archive?
|
@uweseimet Thanks for breaking down the requirements for a usable disk drive partition and file system on Atari ST. I can see how a simplistic option like this won't be helpful for Atari ST users, so I'll probably remove it for now. In my initial reading of the mkfs.fat manpage I got the impression that it creates a singular partition on the drive if one does not exist, but I haven't been able to confirm that the resulting image leads to a usable drive image even in the DOS/Windows world. The system sees the MBR, but no usable volume with drive letter. You may be correct that fdisk will be required even for this case. |
|
@rdmark Regarding drives without MBR (super floppy layout) there definitely are DOS versions (maybe not Windows) that support it, just as my hard disk software for the Atari does. But in practice this format at least for the Atari does not have any relevance. I mainly support it because I can and because it exists. There might even be somebody using it, you never know ;-). |
|
@nucleogenic This PR is stabilized now. I have tested that the resulting FAT volumes are now recognized out of the box on a WinXP system. |
|
|
||
| try: | ||
| process = run( | ||
| ["kpartx", "-av", full_file_path], |
There was a problem hiding this comment.
I get TypeError: sequence item 2: expected str instance, PosixPath found on Python 3.7; it's fixed when full_file_path is cast as str.
python/web/tests/api/test_files.py
Outdated
|
|
||
|
|
||
| # route("/files/create", methods=["POST"]) | ||
| def test_create_file_and_format_fat(http_client, list_files, delete_file): |
There was a problem hiding this comment.
This test fails for me because the device mapper isn't currently available in our Docker images.
We should skip this test for now with:
def test_create_file_and_format_fat(env, http_client, list_files, delete_file):
if env["is_docker"]:
pytest.skip("Test not supported in Docker environment.")
|
SonarCloud Quality Gate failed. |








Uh oh!
There was an error while loading. Please reload this page.