October 2021 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
- @quentinmit made their first contribution in #88
- @phrax0 made their first contribution in #86
- @uweseimet made their first contribution in #110
- @rdmark made their first contribution in #205
- @dburr made their first contribution in #230
- @No0ne made their first contribution in #241
- @nsafran1217 made their first contribution in #280
- @karrots made their first contribution in #297
- @mynameistroy made their first contribution in #367
- @Pacjunk made their first contribution in #372
- @hsiboy made their first contribution in #394
Full Changelog: v20.12.0...v21.10.01