Skip to content

October 2021 Release

Compare
Choose a tag to compare
@akuker akuker released this 30 Oct 03:13
· 664 commits to develop since this release

How to update

  • Option 1: Download the attached pre-configured Raspberry Pi OS Lite image, and flash it onto a SD card. (Reminder: Backup all of your data before doing this!)
  • Option 2: On an existing RaSCSI installation, perform the following procedure:
cd ~/RASCSI
git pull
git checkout v21.10.01
./easyinstall.sh

Run option 1 to rebuild and install

RaSCSI Capabilities

  • Add Daynaport SCSI/Link Ethernet adapter functionality
  • WLAN support for the Daynaport network adapter
  • Removable media drive support
  • Support for DVD images
  • Support for CD-ROM drives with 512 bytes per sector
  • Support for generic MO drives (not just the Sharp X68000 standard configurations)
  • Support for up to 32 SCSI LUNs (Logical Units)
  • Built-in creating, renaming and copying of image files
  • Configurable device identifier (vendor, product, revision)
  • Configurable sector sizes, depending on the device (256, 512, 1024, 2048, 4096 bytes)
  • Configurable default folder for image files
  • Dynamically configurable reserved device IDs, typically used for the SCSI initiator ID
  • More flexible handling of device capacities
  • Made RaSCSI more tolerant of odd image file sizes, ignoring trailing bytes
  • Device files (/dev/*) can be used as image files
  • Secure shutdown of RaSCSI by detaching all devices before terminating

rasctl Capabilities

  • Several new options added
    • -C FILENAME:FILESIZE Create an image file in the default image folder
    • -D Detach all devices.
    • -E FILENAME Display information on an image file.
    • -F IMAGE_FOLDER Set the default image folder.
    • -I Gets the list of reserved device IDs.
    • -L LOG_LEVEL Set the rascsi log level
    • -h HOST The rascsi host to connect to, default is 'localhost'.
    • -e List all images files in the default image folder.
    • -N Lists all available network interfaces provided that they are up.
    • -O Display the available rascsi server log levels and the current log level.
    • -m List all file extensions recognized by RaSCSI and the device types they map to.
    • -R CURRENT_NAME:NEW_NAME Rename an image file in the default image folder.
    • -p PORT The rascsi port to connect to, default is 6868.
    • -r RESERVED_IDS Comma-separated list of IDs to reserve.
    • -s Display server-side settings like available images or supported device types.
    • -T Display all device types and their properties.
    • -v Display the rascsi server version.
    • -V Display the rasctl version.
    • -X Shut down the rascsi process.
    • -d FILENAME Delete an image file in the default image folder.
    • -x CURRENT_NAME:NEW_NAME Copy an image file in the default image folder.
    • -b BLOCK_SIZE Specify a custom block size for the drive to attach.
    • -n VENDOR:PRODUCT:REVISION The INQUIRY data for the device that is presented to the bus.
  • Options with new functionality
    • -f Now takes parameters for certain device types, f.e. the Daynaport adapter
    • -t Now takes 'rm' for Removable devices, and 'daynaport' for the Ethernet adapter
    • -c Now takes two new commands: u(nprotect) and s(how)
    • -u Now takes unit number up to 31 (previously 0-1)
  • rasctl also runs on an x86 Linux and can connect to the RaSCSI server on the Raspberry Pi
  • Added code for a RASCTL.X native app for the Sharp X68000 (from RaSCSI 1.52 by GIMONS)

RaSCSI Web UI

  • Automatic loading of a default configuration upon startup, eliminating the need to hack rascsi.service for default configurations
  • Flexible Daynaport network adapter configuration
  • Real-time file uploading using the Dropzone library
  • Bumped max size of uploaded files to 4GB from 2GB
  • Validation of file to upload before transferring
  • Drive properties files that store vendor/product and block size information for easy management of bespoke drives
  • A wizard for creating named drive images and properties files, with profiles for UNIX workstations and Macs
  • The ability to select a device type when attaching images that RaSCSI failed to autodetect the type for
  • Support for attaching up to 32 LUNs per SCSI ID
  • Allow non-standard image sizes to be attached, but warn about the file size discrepancy
  • A more informative table of attached devices
  • The ability to display detailed information about attached devices
  • The ability to unzip individual files within a zip archive
  • AppleShare integration for easy downloading of files into a shared directory
  • Made logging level configurable through the Web UI
  • More flexible log viewer in the Web UI
  • Display current RaSCSI version in footer
  • Broadly improved help text, hidden under expandable blocks to reduce clutter
  • Thorough form input validation
  • Preventing destructive actions, such as deleting or overwriting images in use
  • Significantly improved error handling and verbosity of action response messages
  • IPv6 support
  • Mobile style sheet
  • Computer and smartphone favicons
  • Sundry fixes that caused the nginx web server to fail to start in certain environments
  • Bumped several Python library versions

OLED Screen

  • Virtualized Python runtime environment with venv
  • Start script and systemd service configuration
  • Support for displaying more than 4 lines of information, through a scrolling routine
  • Optimized the information shown on screen for better usability
  • Show system IP address and hostname instead of system time
  • Support for configurable screen orientation (0 or 180 degrees)
  • Introduced the Type Writer font by Mandy Smith for improved legibility
  • Startup and shutdown splash screens
  • Graceful shutdown and signal handling
  • Bumped several Python library versions

Easyinstall

  • Merged and streamlined install/update scripts for RaSCSI and the Web UI
  • Better error handling and flexibility running the script in different environment and on local git branches
  • Added install script for the OLED Screen software
  • Added wired and wireless network configuration scripts for the Daynaport network adapter
  • Added a Netatalk installation script for running an AppleShare server in parallel with RaSCSI
  • Command line option '-c' to install STANDARD or FULLSPEC versions
  • Command line option '-r' to pick the run choice number from the menu non-interactively

Technical Improvements

  • Functionality and stability improvements for Atari ST, UNIX workstations, Apple IIGS, etc.
  • Implementation of numerous additional SCSI commands
  • Improved compatibility with the current SCSI standard
  • Client/Server interface based on Google Protocol Buffers, allowing clients to send commands and receive messages from the RaSCSI backend
  • All clients (rasctl, RaSCSI Web UI, OLED monitor) are using the new architecture for greatly expanded functionality and reliability
  • Detailed information on RaSCSI server properties
  • Configurable RaSCSI server port
  • More concise error messages
  • Improved logging and configurable log level
  • Improved command validation and error analysis
  • Fixed issues with Linux-68k
  • Support for 64 bit Raspberry Pi OS and Ubuntu
  • Extensive code cleanup, improved object-oriented approaches
  • 100% translated source code strings and comments
  • Outdated documentation has been updated and moved to wiki (and removed from the repo)
  • Restored the rasdump and sasidump tools for dumping physical SCSI/SASI disk images
  • Deprecated baremetal support

Special thanks

Thank you to all the members of the RaSCSI community. A special thanks to:

  • @erichelgeson - Thank you for reviewing pull requests, creating the initial sd-card configuration and being a general awesome guy
  • @uweseimet - Your updates to the RaSCSI code have made it much more maintainable and understandable
  • @rdmark - The web interface has made tremendous improvements since the last release

New Contributors

Full Changelog: v20.12.0...v21.10.01