piStorm – basic configuration

After going through my Getting Started guide you have the piStorm starting up automatically (if followed the very last step) as a emulated 68020 CPU. If your onboard kickstart allows it, you might also have 128MB Z3 RAM. It will start up and display the “insert a disk” screen/animation depending on which Kickstart you have on the Amiga motherboard.

Configuration file

The default configuration file, named “default.cfg”, is located in the “pistorm” folder. It’s a good idea to keep this file untouched and make changes to a copy of it, then telling the emulator to use it by using the –config parameter.

In my installations, I have put the copy of “default.cfg” in /home/pi (“../” as a relative path from within the pistorm folder), and keep the rest of Amiga-related files (kickstart and hdf) in a folder named “amiga-files” in the ‘pi’ user’s home (/home/pi/amiga-files).

Here are the very initial steps to copy the default configuration to /home/pi, and to set up the amiga-files folder (after logging in as the ‘pi’ user):

cp -p pisotrm/default.cfg .
mkdir amiga-files

Stop the 68k-emulator if it is running (two methods, depending on how/if it is auto starting):
If started from rc.local:

sudo killall emulator

If set up as a service:

sudo systemctl stop pistorm

Now to autostart the 68k-emulator with a specified configuration file, edit rc.local (if it is started from there) and add –config ../default.cfg so the full command reads:

cd /home/pi/pistorm/ && sudo ./emulator --config ../default.cfg&

For the service method (using my instructions), change the file β€œstart-emulator.sh” in /home/pi:

#!/bin/sh
cd /home/pi/pistorm/
sudo ./emulator --config ../default.cfg
exit 0

Start the 68k-emulator again by running the command from the rc.local file above (for non-service autostart), or by using systemctl if you have set it up as a service:

sudo systemctl start pistorm

For further restarts of the 68k-emulator, do as previously described with “killall” or “systemctl” depending on your choice of setup. With “systemctl” there is also the “restart” option:

sudo systemctl restart pistorm

A restart of the 68k-emulator will also reboot the Amiga.

Configuration options

The default.cfg contains some examples and descriptions of many of the options available. You can also read the current distributed configuration file on GitHub:
default.cfg

Documentation for some the piStorm features for the Amiga is located within some subfolders on GitHub:
piscsi (map hdf files as hard drives on the Amiga side)
rtg (RTG using the Picasso96/P96 package)
net (not fully implemented)
a314 (includes shared folder on sd-card, networking and shell-access to the pi)

CPU type

The easiest one, leave this at “68020”. This is the most complete and compatible CPU for the emulator.

Kickstart mapping

To get better performance and enable Z3 RAM and get P96 2.4+ working, a Kickstart version 3.1 (40.68) for Amiga 1200 is highly recommended. To obtain the kickstart file the correct way, purchase the Plus edition of Amiga Forever. If you own an Amiga 1200, you can also use any of the tools available for saving the kickstart to a file.

You can name the file whatever you want, but mine is named (renamed from the Amiga Forever set) “kick-31-a1200-40.68.rom”, and I have the file in “/home/pi/amiga-files”.

Early in the config, there is this line:

# Map 512KB kickstart ROM to default offset.
map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0

It makes the emulator look for the file “kick.rom” in the current directory (as cd:ed to /home/pi/pistorm before starting the emulator).

Change this to:

# Map 512KB kickstart ROM to default offset.
map type=rom address=0xF80000 size=0x80000 file=../amiga-files/kick-31-a1200-40.68.rom ovl=0

Then restart the emulator to see that it uses the kickstart file (easy to spot if you have a 2.x or 1.x KS on the motherboard).

Have the installation floppy for AmigaOS 3.1 ready (also available from Amiga Forever). If you boot the installation floppy, you would end up at the Workbench and be able to see that the FastRAM (128MB Z3) has been mapped.

Memory mapping

The default memory section in the config looks like this:

# Map 128MB of Fast RAM at 0x8000000, also known as 32-bit Fast RAM or CPU local Fast RAM.
# Only supported properly on select Kickstarts, such as 3.1+ for Amiga 1200, 3000 and 4000.
#map type=ram address=0x08000000 size=128M id=cpu_slot_ram
# Map 128MB of Z3 Fast. Note that the address here is not actually used, as it gets auto-assigned by Kickstart itself.
# Enabling Z3 fast requires at least Kickstart 2.0.
map type=ram address=0x10000000 size=128M id=z3_autoconf_fast
# Max 8MB of Z2 Fast can be mapped due to addressing space limitations, but for instance 2+4MB can be chained to leave 2MB for something else.
#map type=ram address=0x200000 size=8M id=z2_autoconf_fast
#map type=ram address=0x200000 size=2M id=z2_autoconf_fast
#map type=ram address=0x400000 size=4M id=z2_autoconf_fast

Pretty self-explanatory, but some of the RAM types are not supported on all Kickstarts. There is no speed difference in using “32-bit FastRAM” compared to “Z3 Fast”. The “Z2 FastRAM” is the equivalent of a RAM expansion plugged into the expansion port of Amiga 500 and Amiga 1000, or in a Zorro slot on the Amiga 2000. These expansions could be standalone or a part of a hard drive controller for those systems.

piscsi – hard drive emulation

The next section in the configuration is about piscsi, which allows you to assign up to 7 auto-mounted and auto-bootable virtual hard drives on the Amiga.

# Uncomment this line to enable the PiSCSI interface
#setvar piscsi
# Use setvar piscsi0 through piscsi6 to add up to seven mapped drives to the interface.
#setvar piscsi0 PI0.hdf
#setvar piscsi1 PI1.hdf

My virtual disk is 1GB in size and consists of several partitions (three smaller ones for different versions of AmigaOS, and a larger one for common content) and is named “amiga-1gb.hdf”. The location for my .hdf is as the Kickstart ROM, “/home/pi/amiga-files”.
To enable the pi-scsi.device, just uncomment the line “setvar piscsi”, then put the name of the .hdf as a parameter the “setvar piscsi0” (or 1-6):

# Uncomment this line to enable the PiSCSI interface
setvar piscsi
# Use setvar piscsi0 through piscsi6 to add up to seven mapped drives to the interface.
setvar piscsi0 ../amiga-files/amiga-1gb.hdf

This will make the Amiga recognize the harddrive with the correct DEVICE tooltype of HDToolbox (“DEVICE=scsi.device” should be changed to “DEVICE=pi-scsi.device”). Once set up using HDToolbox (detect/change disk type and create the partitions), it can be used to install AmigaOS on and boot from.

Also take a look at the current documentation at GitHUb:
piscsi

RTG using Picasso96 or P96

See the documentation at GitHub:
rtg (RTG using the Picasso96/P96 package)

You need two files from the GitHub repository transferred over to the Amiga after having installed Picasso96 or the more maintaned release of P96. I use my registered 2.4.6 from Individual Computers
Google search for 'P96+2.4.6'

See my updated instructions in piStorm – AmigaOS 3.1 installation

Keyboard and mouse passthrough

It’s pretty well documented in the default.cfg:

# Forward keyboard events to host system, defaults to off unless toggle key is pressed, toggled off using F12.
# Syntax: keyboard [grab key] [grab|nograb] [autoconnect|noautoconnect]
#   "grab" steals the keyboard from the Pi so Amiga/etc. input is not sent to the Pi
#   (also helps prevent sending any ctrl-alt-del to the Amiga from resetting the Pi)
#
#   "autoconnect" connects the keyboard to the Amiga/etc. on startup
keyboard k nograb noautoconnect
# Select a specific filename for the keyboard event source.
# This is typically /dev/input/event1 or event0, but it may be event3 with for instance a wireless keyboard.
# Use ls /dev/input/event* to check which event files are available and try until you find the one that works.
#kbfile /dev/input/event1
# Forward mouse events to host system, defaults to off unless toggle key is pressed on the Pi.
# Syntax is mouse [device] [toggle key] [autoconnect|noautoconnect]
# (see "keyboard" above for autoconnect description)
mouse /dev/input/mice m noautoconnect

Just enable the kbfile line and set the correct device there if it doesn’t work with the defaults.

Real Time Clock (RTC)

The RTC is enabled in the default configuration and transfers over the time and date on the Pi to the Amiga.

# Map RTC as a register range.
map type=register address=0xDC0000 size=0x30000

To get the correct time on the Pi, it must be connected to the Internet (as set up in my Getting Started guide).
Also, you must ensure the timezone is set correct on the Pi, otherwise your time will be off an hour or two. To set the correct time zone, hse the ‘timedatectl’ command:

List the available time zones:

timedatectl list-timezones

Set the time zone:

sudo timedatectl set-timezone Europe/Stockholm

Switching between multiple configurations

When you have one configuration you’re happy with, you might want to set up alternative configurations for compatibility or experimental reasons.
I wrote this guide on how to capture keypresses on a keyboard connected to the pi on the piStorm. Before setting up the commands to execute (the very last step), make a copy of your /home/pi/default.cfg, as this file is to be overwritten when changing configuration using the defined keypress events (in my example SHIFT in combination with the F-keys, SHIFT+F12 to reboot the pi, CTRL+SHIFT+F12 to shut down the pi).

Getting files over to the Amiga

Not really a configuration thing, but I’ll explain the possible methods to transfer files (as for example archives for installing, or unpacked archives of programs ready to launch the installer from) over to the Amiga.

Since networking is not yet implemented, and a shared folder from the Linux side is not available, files have to be transferred the ‘classic’ way.

The options as I see are:
* (real) floppy disks
* (adf) through either an externally connected GoTek drive, or as a replacement for the internal drive
* (hdf) a pre-prepared hdf (full RDSK image, not a partition) file containing archives of programs to install
* (adf) from a hdf, mounting using any of the available options like GoADF
* physical disk connected to the pi, then exported as a piscsi device on the Amiga (complicated and a bit risky, described in detail in the piscsi documentation at GitHub)
* since May or June 2021, a314 emulation can be used to access a folder on the SD-card and even transferring files over to the Amiga over the a314 SANA-II network device. You find my detailed instructions on setting up the shared folder and network in my “AmigaOS 3.1 installation guide“.

piStorm – experimental stuff wip-crap

Some documentation (at least of changes) can be found in the repo: https://github.com/beeanyew/pistorm/tree/wip-crap/

Get and build piStorm software (wip-crap tree)

mkdir -p /home/pi/bnu
cd /home/pi/bnu
git clone https://github.com/beeanyew/pistorm.git
cd pistorm
git checkout wip-crap
make
cd ..
mv pistorm ../pistorm-bnu

Expected output:

Update CPLD bitstream

Build the program to test access to chip RAM

cd pistorm-bnu
chmod +x ./build_buptest.sh
./build_buptest.sh

For EPM240

chmod +x nprog_240.sh
sudo ./nprog_240.sh

For EPM570

chmod +x nprog.sh
sudo ./nprog.sh

wip-crap-only feature configuration

By the merge of July 11 2021, main is up to date with wip-crap.

piStorm – Getting started

In this guide, I explain how I set up the piStorm, beginning from a fresh board (with just the pins and pi header soldered onto it) until it starts up the Kickstart “insert disk” screen. This is not the only way to do things, and necessarily not the best way, it’s my way πŸ™‚

Pi setup

Use the official Raspberry Pi Imager or a third party tool like BalenaEtcher to write the Lite version of Raspberry Pi OS to a SD-card and start up the pi
Using raspi-config, set wifi-credentials (System Options) and activate SSH (Interface Options).
(everything except the basic installation can be done without network connectivity, but it is easier to do it over SSH than at the terminal)

sudo su -
apt -y update
apt -y upgrade

Updating will take about 10 minutes. Usually a reboot is recommended here, but in this case not necessary, so continue with the section below and install some packages and test the GPIOs.

Install required packages

apt -y install git
apt -y install libsdl2-dev
apt -y install openocd
exit

Testing your Pi’s GPIO pins

Testing your Pi’s GPIO pins. This MUST be run disconnected from the PiStorm, just power up the Pi with USB and do it outside the Amiga entirely.
Info from https://www.raspberrypi.org/forums/viewtopic.php?t=180505

sudo apt -y install pigpio
wget http://abyz.me.uk/rpi/pigpio/code/gpiotest.zip
unzip gpiotest.zip
sudo pigpiod
./gpiotest

Expected output:

Get and build piStorm software

git clone https://github.com/captain-amygdala/pistorm.git
cd pistorm
make

Expected output:

Optional step, get and build wip-crap development version

Only build the emulator for use/test later on – skip the CPLD update for now and do that when the wip-crap build is going to be used.
piStorm – experimental stuff wip-crap

Shut down the pi

This is as far as you get without the piStorm connected, so it’s time to shut down the pi and then stuff it away until you get your piStorm (- shutdown and continue as below if you already have it).
‘pigpiod’ (for testing the GPIOs) above keeps the pi waiting for 90 sec if not killed before shutdown.

sudo killall -9 pigpiod
sudo halt -p

Update CPLD bitstream

Shut down the pi, take a look 20 pixels above :), disconnect power and connect the piStorm adapter to the GPIO

Connect power and let the pi start, check network connectivity or re-setup if necessary.

Build the program to test access to chip RAM

cd pistorm
chmod +x ./build_buptest.sh
./build_buptest.sh

For EPM240

chmod +x nprog_240.sh
./nprog_240.sh

For EPM570

chmod +x nprog.sh
./nprog.sh

Expected output (nprog.sh for EPM240):

Installing the piStorm in the Amiga

Shut down the pi, disconnect everything and separate the adapter from it.
Replace the CPU in the Amiga with the adapter board (the Pi connector should be on the left side). Align both rows of pins with the CPU socket, then, without any pressure on the board, move the adapter up and down (front and back) on the socket to feel the point in which the pins are centered in the socket.
Check that all pins go into the socket an press it down until it bottoms.

Mount the pi on the adapter with the USB port facing towards you, and the HDMI connector on the right side.

Connect the HDMI output and a keyboard.

Starting the emulator

Power on the Amiga, the pi will be powered and boot up (the output from the Amiga will be just a black screen (or any other single-colored screen, I usually get a red one before the emulator starts) until the CPU emulator is started).
Login as ‘pi’ and change directory to ‘pistorm’.

Initial check – can the piStorm read and write to the CHIP RAM ?

sudo ./buptest

Expected output:

In case of any error, check that the piStorm adapter is pressed down firmly in the CPU-socket. It should be pressed down so it bottoms (plastic on the pins touching the socket). Once fixed, re-run buptest. Repeat until zero errors are reported.

Start the emulator

sudo ./emulator

Expected output (untouched default.cfg in pistorm directory). If the kickstart file (kick.rom) for softkicking is not found it defaults to using the KS on the mainboard.

On my test computer (A500 r6) it falls back to the 3.1.4 ROM:

From here on, you can use the Amiga as any other floppy-only Amiga. I will document the features (kickstart switch, RAM, hard drive, RTG) in another post to keep these at readable length.

Autostart the emulator on system boot – the simple method

In /etc/rc.local, add before the “exit 0” line:

cd /home/pi/pistorm/ && sudo ./emulator&

Autostart the emulator on system boot – advanced method

The CPU-emulator will be started a lot earlier if adding it as a systemd service.
Become root (the ugly way):

sudo su -

Create the file “pistorm.service” in /lib/systemd/system:

[Unit]
Description=Start piStorm 68k emulator
After=local-fs.target

[Service]
ExecStart=/home/pi/start-emulator.sh

[Install]
WantedBy=local-fs.target

Create the file “start-emulator.sh” in /home/pi:

#!/bin/sh
cd /home/pi/pistorm/
sudo ./emulator
exit 0

Make “start-emulator.sh” executable:

chmod 755 /home/pi/start-emulator.sh

Reload/regenerate systemd configuration files:

systemctl daemon-reload

Enable the automatic start of the CPU-emulator:

systemctl enable pistorm.service

Now, in case you need to restart the emulator (and Amiga as well), this can be done without having to find the ’emulator’ process:

systemctl restart pistorm

Other similar guides for the piStorm

Lightning Amiga Performance With PiStorm (LinuxJedi)

piStorm – raw interview from Discord/IRC

26 March 2021 @20:10

Claude Schwartz was interviewed by Bob1969 for the French Amiga fan website “Amiga Impact”.

<Bob1969> let’s start
<Claude> ok

<Bob1969> Q1: Who are you ? engineer, hobbist, selfmademan ..
<Claude> I’m a hobbist but also work as electronic engineer since 20 years now

<Bob1969> What is your relationship with Amiga community ?
<Bob1969> How does this idea of Pi storm comes to you ?
<Claude> Hmm difficult question πŸ™‚ I was using Amiga when I was around 12 years or so. My first Amiga was an A500 which i got from my father because he bought himself a A2000 and he gave me his A500. I used the Amiga mostly for games . But at one point all my friends turned to PC , so I had of course to buy also a PC πŸ™‚ Then i took a break from Amiga for a long time, around 2018 I saw the Vampire V600 and immediatly tought i need to have that too
<Claude> I bought an A600 from Ebay and placed an order for a V600. While waiting for the V600 to arrive I started to buy more Amigas and Accelerators (Yes I was addicted again lol) . Then shortly after I recived the V600 i was invited by the Vampire Team to join in. So I did and I had a fun time there of about 2 Years, helping testing and some vhdl coding. Around 2020 I decided that I want something different
So I started with Pistorm , it was a idea i had for longer. Using an small CPU board to emulate an 68000 in place of a real 68000

<Bob1969> What are the main technical issue to connect GPIO to 68000 socket ?
<Claude> Its the timing, the 68000 is not a fast processor. but the pins of a 68000 needs to follow a very strict timing. Because of that Pistorm has a small CPLD/FPGA which does the timing in hardware and recives commands from the Raspberry over the GPIO pins. This relax the timing for the Raspberry
<Bob1969> U4 ?
<Claude> yes the big chip . Thats a Altera MAX2 CPLD

<Bob1969> Which ressouces from Pi will be available under Amiga system (Ram,Gfx,Sound,storage )?
<Claude> First is the CPU Emulation , this is currently using Mushashi, Musashi is a very popular CPU also used by MAME. Then some ammount of RAM from the PI is also directly usable by the CPU Emulator . This RAM can be up to 256MB (limited by the Raspberry Pi RAM size)
<Claude> Then there is a RTG system. The RTG Memory is also directly accessible by the CPU emulation. As the RAM on the Raspberry is very fast , the RTG system is very fast compared to regular Zorro Based RTG cards
<Claude> Then there are two storage systems. One is by emulation of Amiga Gayle IDE , this makes it possible to boot directly from a emulated HDD with a Kickstart ROM >2.x . Lately a full SCSI emulation was added , the SCSI emulation bypasses most of the bottlenecks the Gayle IDE emulation brings. To make it possible to boot from that emulated SCSI thre is also a bootrom and driver written for it. This makes it possible to use a standard kickstart and still use the SCSI emulation
<Claude> Further Kickstart ROMs can be used on the Mainboard, but also used as File from the Raspberry SD Card

<Bob1969> What Performance Do you expect ?
<Claude> Most of these advanced features were programmed by Bnu ( Famous for his NES works and also for working on mntmn’s great ZZ9000 RTG card)
<Claude> Currently the performance is at 15 to 18 MIPS , which is roughly equalivent to a 68030 at 60MHz

<Claude> There are plans to extend this further πŸ™‚
<Bob1969> It will depend which Pi you use …zero , 3+,4
<Claude> Yes the current version of PiStorm is very optimized using a Raspberry Pi3 . Future versions of PiStorm will be optimized for Pi4 / CM4

<Bob1969> How many time do you estimate that the project will be in stage 1.0 ?
<Claude> It has some bugs were we working on currently . Mostly its about timing and irqs . The Amiga is sometimes demaning when it comes to this πŸ™‚ Version 1.0 , good question … I would say the journey to 1.0 is the interesting part , so i might take some time to reach 1.0 .

<Claude> Bob1969: was this the question ?
<Claude> i understand it how far/stable it is currently
<Bob1969> it’s an introduction to the next question πŸ˜‰
<Claude> ok πŸ™‚

<Bob1969> after validate a prototype, Do you plan to start a mass production (industry production) ?
<Claude> No πŸ™‚ The fundamental idea of PiStorm is to make it free and open. The Hardware itself is not very complicated. So advanced hobbiest can build them by themself. For not so advanced hobbiest (or people who are lazy like me πŸ™‚ ) All the design files are published. These desgin files are readymade for a Chinese PCB manufacturer who also does PCB assembly. So the idea is to upload the desgin files to these PCB service in China and get back a mostly readymade PiStorm for roughly 15€ πŸ™‚ I don’t know if it okay for amigaimpact , it’s not meant as free advertisment for them, but the company is called JLCPCB
<Claude> Only the pins for the CPU Socket and the Raspberry PI needs to be soldered manually. But I think most Amiga users have already touched a soldering iron
<Bob1969> Why can’t Chinese factory do the soldering ?
<Bob1969> PCB makers are linked with assembling factories
<Claude> Yes the company is a PCB maker with assembly factory. They do the soldering of all SMD components, they would probably also do the soldering of the Pins . But I have not tried it yet there to let them solder also the pins.

<Bob1969> last question , How do you think this kind of project ( if the graft live ) can involve in the future ?
<Claude> The next step is to add a little extra hardware (also opensource of course) to make it possible to output the Amiga Video and Audio over the same HDMI Plug which outputs RTG. Then there is PiStorm2 in planing, PiStorm2 targets “32 Bit” Amigas like A1200,CD32,A3K,A4k and will be using the new Rasperry Compute Module 4. In parallel there are works on using PiStorm on other 68000 Computers like Atari. Also MAC and Sharp X68000 are very interesting Platforms for PiStorm πŸ™‚

<ShK> Here’s some random bringup pictures. if they are ok for Claude to use
https://usercontent.irccloud-cdn.com/file/tJRggCLf/BringUp.7z
<Claude> thanks ShK πŸ™‚ i have no idea whats inside but i (almost) fully trust you πŸ™‚
<ShK> ok
<ShK> …. but you will be fine πŸ™‚
<Claude> looks good πŸ™‚
<Bob1969> Amazing pictures !!!

<Bob1969> It’s the End of this interview, i will say : Claude you’re a gentleman
<Claude> thank you Bob1969 , but can i say something?
<Bob1969> You have been very kind.
<Bob1969> of course !
<Claude> The whole PiStorm project is only possible trough all the people who help on it. Without the great contributions and help I got with it , it would still only have 2 MIPS and boot only from Floppy πŸ™‚ So I like to thank very much Bnu,Niklas,Shanshe,ShK,Flype… and all the people at the PiStorm Discord πŸ™‚

<Bob1969> Do you allow me to publish this interview in a web site ?
<Claude> yes of course πŸ™‚
<Bob1969> it will be translated for your future French fans

peo β€” Today at 9:07 PM
@Claude you did not get any question about currently supported systems (and also the work in progress with the A600 version) , can you toss that in for @Bob

<Claude> Peo , oh yes . Sorry if i forgot some things! Yes people working currently on other Versions of PiStorm. There is a A2000 CPU slot version in the works and a A600 Version
<Claude> Also the Spanish Retrowiki.es did a own version of PiStorm for themself

[HAJ] β€” Today at 9:16 PM
Thank you for doing the whole interview in this channel, very interesting and superb work @Claude !!

Claude β€” Today at 9:17 PM
if i forgot something then please speak up i have a very short memory and often forget things to mention

peo β€” Today at 9:17 PM
in which models is piStorm currently working ? All 68000, except for some flaws with the A600 ?
(A1000 possibly needs relocator as the CPU is on the opposite side)

Claude β€” Today at 9:18 PM
personally i tested in A500, A2000 Rev4 . I have seen it running in CDTV too

peo β€” Today at 9:20 PM
are there any (longer) videos of it running (I know, but hidden here in the chats) ?

<Claude> hmm on my twitter maybe

peo β€” Today at 9:24 PM
(asking for my short info page), is it ok to use videos and pictures you have shared here and on Twitter ? Ofcourse mentioning the source, but I might have to download and share them through other channels to use them on the page ?
@_Bnu is it ok with your photos and videos too ?

<Claude> yes of course

<ShK> i find one bringup video


<Claude> haha ShK that was the first boot of pinball dreams
<ShK> yes! πŸ™‚

_Bnu β€” Today at 9:26 PM
All my videos are top secret classified by NASA and the Martian Government.

<Bob1969> Time of expansive accelerator is over..:)
<Claude> Hmm I don’t see it that way πŸ™‚ Warp,Vampire,ACA all these are great products. PiStorm is just different , but it can’t replace the feel of a real 68060 or the features of a Apollo Core or the pureness of a ACA on a A500

peo β€” Today at 9:30 PM
not when retrorewind starts selling piStorm at $150-$250 …

<Bob1969> Thank you Claude & all your team for time !

mark sealey β€” Today at 9:34 PM
@peo I have a few videos on my YouTube…. mobile phone camera videos tho

<Claude> thank you Bob1969
<Bob1969> New competitors are goods and create dynamic
<Claude> yes , but I love peace . better life together friendly than in stupid Amiga wars πŸ™‚
<ShK> pistorm opens a lots of possibilities

peo β€” Today at 9:35 PM
@mark sealey yes, I have seen some of those (some abit shaky), I guess ok to use/reupload these too ?

mark sealey β€” Today at 9:37 PM
@peo lol yeh sorry about that….now my PiStorm is quite stable I hope to get a HDMI capture device..,..I’m left handed too that doesn’t help

peo β€” Today at 9:38 PM
@mark sealey I do not want to make the viewers sea-sick πŸ™‚

mark sealey β€” Today at 9:38 PM
I uploaded a doom video today
@peo lol I understand

piStorm – A 68000 CPU replacement

What is piStorm ?

piStorm is an opensource project started by Claude Schwartz. The board fits inside the Amiga 500, Amiga 2000 and CDTV models and boosts their performance close to a 25MHz 68040 equipped Amiga 4000 (60-70MHz 68030).
Native boards for the A600 and A2000 (CPU slot) are under development.

Besides a fast CPU, which is provided by the Pi through the Musashi 680×0 emulator, piStorm with the recommended Raspberry Pi 3A+ gives you:
* FastRAM configurations up to and above 256MB without starving the Pi of RAM (3A+ has 512MB)
* piSCSI – allows you to mount up to 7 hard disk devices; supports hard drive images and even physical drives
* autoboot from hard drive image or physical drive
* RTG – gives you together with the P96 software 16 and 24 bit graphics in high resolution
* kickstart switch – specify which kickstart to use (but not really switch it other than changing from configuration file)
* keyboard and mouse passthrough – use the keyboard and mouse connected to the pi as Amiga devices
* real time clock (RTC) – passes the date and time over to the Amiga from the Pi
* networking (new) – allows connecting to internet or local network with the SANA-II driver and a TCP/IP stack
* folder sharing (new) – share a folder on the sd-card with the Amiga for simple file transfers
* remapping of DF0: to DF1/DF2/DF3 (new)
* remapping of slow-fast ($00C00000) as chip-RAM (new) – no more JP2/JP7A modification needed for 1MB chip-RAM

What do I need ?

* The piStorm 68000 replacement adapter
* A Raspberry Pi 3A+ or similar (Pi 3A+ is recommended because of its low profile)
* A microSD card for the piStorm software

Where do I get the 68000 adapter ?

Check out the “groupbuy” channel on Discord
You will find the invite link to Discord at the main piStorm repo on Github:
https://github.com/captain-amygdala/pistorm

How much does it cost ?

It differs depending on how countries add expenses on imported PCBs and components and what the shipping rates for these are at the time, but you should not accept to pay (unless you really WANT to) more than 25-30 EUR for the assembled adapter board. I have (in the Discord channel) seen prices as low as about 13 EUR + shipping. Because of the ongoing semiconductor shortage, components are getting harder and more expensive to source, which drives the prices up a bit, still not anything near $149.99 or such (more close to the double mentioned above, which I have left in).
List prices at retrorewind.ca should NOT be accepted (as for example, the RGBtoHDMI A500 adapter at $40, and the A2000 video slot version at $70!).
To that you have to add the cost of the recommended Pi 3A+ (about 30-35 EUR), and a suitable microSD card (up to 32GB is reasonable).

The piStorm software and getting started

The main Github repository is located at:
https://github.com/captain-amygdala/pistorm

New features are added to the “wip-crap” tree:
https://github.com/beeanyew/pistorm/tree/wip-crap

My Getting Started Guide, updated as I discover the piStorm for myself. Refer the official documentation (in the GitHub Readme.md files spread across some the repository folders) for most up-to-date information.

My Basic Configuration Guide, which also links to some advanced topics like configuration switching using ‘irexec’.

piStorm tests and reviews

The very first video-review of piStorm was published by Chris Edwards on 25 April 2021
25 April 2021: PiStorm 68K CPU replacement and more (Chris Edwards)


1 May 2021: Amiga PiStorm P2 – ROMS, Hard drives, RTG and more (Chris Edwards)

2 May 2021: PiStorm: Turbo Boost Amiga 500 With Raspberry Pi (Dan Wood)

4 May 2021: Mounting the PiStorm in the Amiga 1000 (Chris Edwards)

9-10 May 2021: Introducing the piStorm & livestream (Mikes Retro Tech)


16 May 2021: Lets build a PISTORM (CRG / Casual Retro Gamer)

18 May 2021: Amiga PiStorm – Retro Power on a Budget – Tech Nibble (RMC / Retro Man Cave)

piStorm articles

26 March 2021:
Claude Schwartz was interviewed in public through Discord/IRC
https://www.amigaimpact.org/2021/03/article-entrevue-avec-claude-schwarz-createur-du-pistorm/
See the raw interview in English here
19 April 2021:
Hackaday: piStorm Brings Modern Muscle To The Amiga
Toms Hardware: Raspberry Pi Turbo Boosts Amiga 500 Retro Computer
21 April 2021:
Hackster.io: Hands-On with the PiStorm, the Ultimate Raspberry Pi-Powered Accelerator for Your Commodore Amiga

piStorm mentions

30 April 2021: The Retro Hour Ep273

Is the Amiga computer manufactured today?

This is a cloned article from quora (which I usually avoid visiting whenever they appear in search results).

The reply was written by Dave Haynie, “Electrical engineer and part-time mad scientist”

The original Amiga Computers were a series of advanced personal computers manufactured by Commodore, Inc. Commodore went into Chapter 7 bankruptcy in late April of 1994. I was one of the hardware engineers working on this computer, the Amiga 3000.

And you would think, since this starts out with a bankruptcy, the answer would be β€œno,” but in fact, that’s not quite the case. In fact, strangely enough, the deader the Amiga seems to get, the more options you have available. This will take a little explanation.

About a year later, Commodore’s assets were purchased by ESCOM Ltd., a company based in Germany. Over the course of 1995, they managed to put both the Amiga 1200 and the Amiga 4000T, the most recent Amiga models, back into production.

Unfortunately, ESCOM had been on a buying spree, and basically β€œguess wrong” about PC technology for the 1995 Christmas season. They were in bad financial shape going into 1996, just as their new Amiga Technologies group was collecting the resources needed to move the Amiga forward (I was a consultant on that project). ESCOM went into bankruptcy in 1996.

So, does anyone remember that PC company that put cow spots on their boxes β€” and apparently, their offices? Gateway 2000 ultimately bought the Amiga assets from ESCOM. For a short time, they were planning to build a new Amiga computer system and a new AmigaOS, but that never materialized. They eventually wound up doing a bunch of weird maneuvers. They licensed all things AmigaOS to a tiny company in Washington State with no reasonable ability to do much of anything with the operating system. Those guys subcontracted an operating system port of AmigaOS from the aging 680×0 ISA to PowerPC… to a video game company, Hyperion in the UK.

And it just got fuzzier after that for awhile. As Hyperion got close to delivering their version of the OS, they were pretty controlling of which computers could run AmigaOS 4.x (the PowerPC version). This was actually happening in 2000–2001, by the time that desktop-class PowerPC chips had basically become Apple proprietary. The whole idea of the AIM alliance, the idea that PowerPC based personal computer hardware could become a commodity similar to that of the IBM PC, had already failed. And so there was nothing mass produced that the Amiga/Hyperion folks allowed to run AmigaOS 4.x. Pretty frustrating.

It wasn’t until 2006 that AmigaOS 4.0, the first PowerPC version of AmigaOS, was actually released. It’s a bit telling about the whole mess of the project that it took less time to actually develop AmigaOS 1.0 from scratch than to port AmigaOS 3.x to AmigaOS 4.x. The targeted systems for this OS were single-board computers, such as the SAM440EP from A-Cube Systems, based on the PowerPC 440EP SOC from IBM. This was intended for various embedded devices, not really comparable to 2006 desktop systems. But it was certainly more than enough to run AmigaOS, which had not gained much computational weight in the move to PPC.

A-Cube systems in Italy, currently sells the upgraded SAM460EX and SAM460CR boards. These are sold as single-board computers, though the SAM460EX is available as an integrated system called AmigaOne 500.

I’d have to say the first serious effort at building a whole PowerPC Amiga came from a new company based in New Zealand, A-Eon. This company was started by Trevor Dickinson, an entrepreneur and rabid Amiga fan who had the means to create a new Amiga computer company. I was skeptical when these came out β€” they were very expensive. But as I grew to understand what Trevor was doing, and as an engineer myself, started to appreciate that he had managed to get anything out the door at essentially hobby-computer volumes, I started to appreciate this work. And Trevor became a very close friend, despite the miles.

Their current machine is the A-Eon X5000, based on one of the Freescale/NXP QorIQ processors. This is a line of high-end SOCs designed for high performance networking switches and servers. That’s maybe not as weird as it sounds. Much of the MacOS years of PowerPC were bolstered by the fact that Cisco was using PowerPC in all their routers. So for awhile, IBM and Motorola (later Freescale) were happy to develop desktop-class PPC chips for IBM, Motorola, Apple, and others, knowing that, once the development was paid and the prices could drop, Cisco would take as many as they could make.

This actually stopped working because chips got big enough for high performance CPU cores to go on-chip with high speed networking and interfacing (RapidIO, then PCI Express). The desktop CPUs were going in another direction, and while Motorola and IBM might potentially see some reuse in the CPU cores, once they had all the hardware oriented toward optimizing networks, Cisco and the other networking companies didn’t need CPUs that could match AMD and Intel. Apple did… so Apple starting having to pay for a big chunk of PPC development, and as a result, those chips became exclusive for a few years. Everyone else started looking at other CPUs at the high end. But for lower-end stuff, you had a bunch of choices. And I digress…

So there are quite a number of small operations working on β€œClassic” Amiga systems, meaning, at the least, some kind of 680×0 processor, rather than a PowerPC chip. This one is called the Amy ITX board β€” I was given one of these. It’s a modern system design, using the industry standard ITX form factor, but accepting all of the original Amiga chips. One of the problems Amiga users have had is that their 30-something-year-old computers are starting to die of old age. Hey, we tried! But if you have an Amiga 500 or Amiga 2000, your old chips will work in this new board.

Another very, very hobbyist option is the Re-Amiga series of boards. The master of Amiga Reverse Engineering, John β€œChucky” Hertell, has created a whole series of re-inventions of classic Amiga boards. They support all your corresponding chips β€” the ReAmiga 3000 board John gave me will take all my critical Amiga chips. But it can use more recent RAM β€” on SIMM modules β€” and it’s using standard parts you can actually get today. The trick here β€” you have to build it yourself, at the component level. I have not built mine yet, but I probably will…. I think I even have the SIMMs for it here! My original A3000 board is dead. He does this as a service to Amiga fans… you can see he kept all our initials on the A3000 board (Terry Fisher/Hedley Davis/Dave Haynie/Greg Berlin/Scott Hood/Jeff Boyer/Mike Nines.. and he’s welcome on that list, far as I’m concerned!) He gave Jeff Porter, the man who made the Amiga 500 possible, his A500 version at an Amiga show in Germany a few years back… Jeff was blown away!

But what if you can’t get Amiga chips? This was addressed by several projects, but the most successful early on was the Minimig project in 2005 by Dennis van Weeren. This is a re-implementation of an Amiga 500 class system, done in a Field-Programmable Gate Array (FPGA) β€” a programmable chip. The Amiga chips are in the FPGA, while the CPU is a real 68000 processor. This was released as an open source project, so there are a number of variations and spinoffs. Work is still being done on the Minimig design. A-Cube Systems sells a version of the Minimig V1.1 board.

Inspired by the Minimig, Till Harbaum created the MiST board, with the intent of re-implemented the Atari ST. Unlike the Minimig, though, the MiST implemented the CPU as well as graphics chips in its FPGA. And it can load up a new FPGA β€œcore” from its SD card! This lead to Dennis van Weeren developing an Amiga core for MiST. And by now, there are MiST cores for around thirty systems, including Apple, Macintosh, Amstrad, BBC, Sinclair; gaming consoles, and some arcade machines as well.

Inspired by the MiST board, Alexey Melnikov (Sorgelig) decided to see if there was an easier, more open way to do the same things, and found the Terasic DE-10 board, a board pushed by Intel for development on the Altera Cyclone V SE FPGA. This is a more substantial FPGA than used on the MiST board, and it also contains a dual β€œhard core” ARM Cortex A9 processor.

Since the DE-10 is a development board, it lacks general purpose on-board I/O, but it’s got a large number of signals going off-board for add-on hardware. So MiSTer systems are built of a stack of add-on boards. There are about 40 computer system cores for the MiSTer on its GIT page, 15 game consoles, hardware for I/O boards, 3D printed cases, all open source.

Edu Arana has created several versions of the UnAmiga board, based on the Minimig… he sent me this one (sorry for photo, it’s just a smartphone snapshot).

Yet another new Amiga board is the Vampire 4 Stand-alone. For some years now, Apollo Accelerators has made CPU accelerator boards for classic Amigas. The trick there is that, rather than use a faster 680×0 processor, they used their own β€œsoft-core” 68K-compatible processor, dubbed the Apollo 68080, which is typically 3x-4x faster than an MC68060 processor.

The V4SA is their first complete computer. The fastest Amiga I have used to date, and it’s powered from a USB power brick. In fact, they even added SIMD β€œmultimedia” instructions to the 68K instruction set, allowing this processor to play back MPEG-4 video, something no hard-core 68K ever dreamt of.

There are also professionally made cases for most of these single boards, if the makers don’t supply their own. In late 2019, Stephen Jones sent me one of his β€œCheckmate 1500” cases. I didn’t have immediate use for it, but it was a clone of the Amiga 3000, my absolute favorite Amiga! So when it came time to build a work PC for our shore house, I put it in the Checkmate 1500 case.

It will directly take MicroATX and ITX cases, which covers some of the Amiga boards around. But it’s actually a very clever, modular design. My system has a Blu-ray drive, a USB and memory card reader in place of a floppy, etc. There are fitting kits for Commodore Amiga boards, etc.

Now Stephen has the Checkmate 1500 Mini, which is houses a mini-ITX board and a bunch of other variations of Amiga compatible hardware today.

And of course, as well as the original 68K-based AmigaOS 3.x, and the PowerPC AmigaOS 4.x, there’s an open source version, known as the Amiga Research Operating System. You can run AROS in a virtual machine on any old PC these days, if you’re interested.

Paolo Besser has built a really nice distro of AROS, called Icaros Desktop, which, as with Linux distros, collects a bunch of components from different open source projects and gets them all working nicely together. Links below.

You can also dump the hardware altogether β€” well, the Amiga-specific hardware β€” and run classic AmigaOS on your PC via numerous Amiga emulators. Some of these will work on tablets and smartphones, too. A popular β€œdistro” for Amiga emulation is Cloanto’s β€œAmiga Forever” commercial product.

Welcome to the world of retrocomputing! One of the reasons that all of these new Amiga projects exist is the fact that interest in the Amiga systems never entirely died β€” but the original machines themselves do. But in fact, demand for older computer systems, at least the more popular ones, has grown in recent years, to the point that older machines are often fetching pretty crazy prices. So there’s a small market, oriented to serious hobbyists, for new hardware that runs the old operating systems.

Now, I know what you’re thinking: I’m typing this on my 16-core β€œBig PC” with 64GiB DRAM, 2TB PCIe SSD, dual GPUs, looking at three large screens (a total of over 8,000 pixels across), etc. I could probably fit every program ever written for Amigas… in RAM! Well, pretty close anyway.

I think part of the allure of these machines is, of course, nostalgia. But in part, it’s a better level of understanding and a different kind of computing. When I’m running a the Big PC, I’m writing, working in CAD, working on photos, working on music, etc. It’s all about the applications… and sure seems like β€œwork” is involved quite a bit. But even for hobbies, the computer is a tool to enable those hobbies. Any computer will do as long as it runs my apps. I of course integrate my own β€” I’ve never bought a commercially made off-the-shelf desktop PC for myself. But even then, I just see them as tools. If one dies, the only pain I feel is in the wallet!

When folks bought personal computers in the 1970s and 1980s, they didn’t necessarily think about applications. Those did happen, but for many people, the hobby WAS the computer. May user completely mastered those computers, knowing every little bit about them. That was possible with the 8-bit generation, perhaps a bit less possible with more complex systems like the Amigas. But you could learn as much as you liked about any aspect of the system, in software, in hardware. In a modern PC, well, just how much do you understand about what’s going on in that nVidia RTX2070 GPU card?

Read More
History of the Amiga
Who bought Commodore – The Silicon Underground
What Ever Happened To Gateway?

The Cult of Amiga Is Bringing an Obsolete Computer Into the 21st Century
AMY ITX
Saving your true Amiga legacy
Minimig WARNING SPAMMY LINK “Grattis 50 miljonte Chrome-anvΓ€ndaren”) – Open at your own risk: https://somuch.guru/minimig/
A-EON Technology Ltd
The A-EON Amiga X5000: An alternate universe where the Amiga platform never died
mist-devel/mist-board
MiSTer – The MAME of FPGA Simulation Projects
MiSTer-devel/Main_MiSTer
Apollo Accelerators
Checkmate A1500 Plus

Aros, winner of most interesting OS
AROS Research Operating System
http://www.icarosdesktop.org/
How to Emulate a Commodore Amiga on Your PC
Amiga Software, Emulation, Games, History and Support Since 1986

RetroRGB
The Impractical but Indisputable Rise of Retrocomputing

View More

I made a film that explains some of the reasons Commodore went under. Best watched with a few bottles of your favorite adult drink, a box of tissues, and your choice of Commodore management villain photos up on a handy cork-board. And darts, knives, or possibly hatchets.


This also relevant reply was written by BjΓΆrn David Paulsen

Thanks for the A2A.

Today, when we speak of an Amiga, we usually mean one of three variants.

The first is the classic Amiga. This is the OCS, ECS and AGA systems manufactured from 1985 to 1996. It includes the Amiga (later named the Amiga 1000), the A500, the A2000, the A600, the A3000, the A500+, the A3000 and the A4000.

The second variant is the modern iteration. This is the AmigaOne series of PowerPC-based computers produced by Hyperion. Some purists refuse to call them proper Amiga computers, but they are part of the lineage, and they are still produced today. In embracing the PowerPC instruction set, however, these Amigas have abandoned binary compatibility with the classic systems, opting instead to run legacy apps via built-in OS emulation.

The third Amiga type is the Vampire series of Amiga accelerator boards. These are FPGA implemented boards that effectively integrate Amiga functionality, obviating the need for custom chipsets. The last one, the Vampire 4, is a standalone machine, and it is currently in production. It runs its own nonstandard (though largely binary compatible) implementation of the 68000 instruction set, meaning programs written for the classic machines largely can be made to work on the Vampire.

The classic models are, alas, no longer in factory production. However, there is significant refurbishment of old components into fresh machines. The most well-known of these is the ReAmiga project by John β€œChucky” Hertell. ReAmiga produces refurbished, fully working Amiga machines from discarded boards. If you’re a purist when it comes to the Amiga lineage, this is probably your best bet for truly authentic hardware.

Further reading
A-EON Technology Ltd (AmigaOne)
Apollo Accelerators (Vampire)
Moving components from a dead A1200 to an ReAmiga 1200 (ReAmiga)

Inside the Amiga 1000

The content of this article is cloned from PCWorld/IDG. The dead links from the original article has been removed (and replaced with only the text on the link). The only link that worked was “The 25 Greatest PCs of All Time” (the Amiga is on page 8).

Original article

Twenty-five years ago, Commodore released a revolutionary multimedia machine. We take a peek inside this classic computer to see what made the Amiga so amazing.

Meet the Amiga 1000

In July 1985, Commodore released an impressive new multimedia PC called the Amiga. This system, once the object of a legal fight between Atari and Commodore, made waves in the press with its high-resolution color graphics and stereo sound. The Amiga supported 32 colors on screen simultaneously (from a lush palette of 4096), at a time when IBM PCs supported only four colors and the Macintosh supported just two (white and black). The Amiga also shipped with a multitasking user interface that arguably rivaled Mac OS in power and flexibility.

Join me as I take apart this legendary machine to see what made the Amiga unique in the computer world.

Photos by Benj Edwards

Commodore’s first member of the Amiga line, shown here, launched for US$1295 with a base unit, a keyboard, and a mouse. The base unit included 256KB RAM and an 880KB floppy drive. This system shipped under the sole name “Amiga” at first, but Commodore rechristened the machine the Amiga 1000 after the launch of the Amiga 500 in 1987.

The Amiga series ran a 32-bit preemptive multitasking graphical operating system known as AmigaOS. However, AmigaOS also included a command shell called AmigaDOS for more-powerful keyboard-based input.

The Amiga shipped with two user ports that could accept mice, joysticks, or other pointing devices. To the right of those, you can see the Amiga’s only official means of expansion: a bus slot that allowed complex add-on accessories such as third-party RAM upgrades, SCSI controllers, real-time clocks, and even an IBM-compatible expansion box.

Here you can see the left half of the Amiga’s rear panel, which contains a nice array of ports. The Amiga’s responsive and well-designed detachable keyboard tucked under the bottom of the unit when not in use, and it plugged into the socket here via a phone cable. The parallel port typically hosted a printer, the serial port usually connected to a modem, and the floppy port allowed the Amiga to use a second (external) floppy drive.

Here you can see the ports that made the Amiga a multimedia powerhouse: stereo audio outputs and three separate video-output connectors that increase in display quality from right to left.

Whereas the Atari ST line found its niche in audio thanks to its MIDI ports, the Amiga specialized in live video production. Recognizing the Amiga’s graphical capabilities, numerous TV studios used the Amiga and its successors to generate on-air weather maps, station logos, captions, and other on-screen text for live newscasts well into the late 1990s.

Now it’s time to take this unit apart. After undoing a few screws on the bottom, I’ve removed the lid and set aside the metal RF shielding, giving us our first view inside the chassis. A long, bricklike power supply dominates the left side of the case, while the floppy drive sits on the right. However, the green stuff is where all the action is.

Like the creators of the original Macintosh, the team who designed the Amiga signed the molding used to cast the top half of the computer’s plastic case. As a result, the names of everyone involved are permanently embossed within every Amiga 1000 shipped. Most prominent is the signature of Jay Miner — the father of the Amiga — and the paw print of his dog Mitchy.

Commodore designed the Amiga to accept a user-installed 256KB RAM module, shown here, to raise the system memory to 512KB. It plugged into the front of the computer under a removable plastic panel. With third party add-ons (usually connected to the external expansion bus shown earlier), a user could bring the Amiga’s RAM up to 8MB.

When it came time to ship the Amiga in 1985, Commodore engineers found the OS too buggy to include on built-in ROM chips in the computer. (And that’s too bad, because it would have allowed the Amiga to boot instantly just as other early PCs did.) Instead, the engineers devised a workaround called the “Writable Control Store” (WCS) that fit on a daughterboard attached to the motherboard via long multipin headers where chips would normally reside. The WCS included 256KB of memory used specifically to hold a basic OS that had to be loaded from a floppy disk at boot time.

With the daughterboard set aside, I’ve now removed the front bezel of the case, getting one step closer to the ultimate goal: complete Amiga dismemberment.

The Amiga 1000 shipped with a floppy disk drive that could store 880KB per 3.5-inch disk — an impressive capacity for 1985. At the time, most IBM PC floppy drives stored 360KB on 5.25-inch disks, while Macintosh floppies held 400KB.

Here I’ve removed the motherboard from the case and set it aside. The motherboard contains all of the circuitry that truly makes the Amiga function. To the left, you can see the Amiga’s power supply sitting in the lower half of the case.

On one side of the motherboard sits the Amiga’s 16/32-bit Motorola 68000 processor, which ran at a relatively speedy 8MHz. To its left sits a pair of MOS 8520 CIA chips that handle serial and parallel communications for the computer. Below those are the Amiga’s bootstrap ROMs, which contain the firmware that tells the computer how to load a complete operating system from a floppy disk.

The secret sauce of the Amiga is in its custom-designed coprocessing chipset, visible here in the form of three chips with female nicknames. “Paula” handles the computer’s sound and controls the floppy drive. “Agnus” performs fancy memory-management magic and a few graphical coprocessor functions. “Daphne” is an early version of a later, more common chip named “Denise” that generates most of the Amiga 1000’s impressive graphical output. Together, these chips form the heart and soul of a powerful computer that, while quickly surpassed by IBM PC clones in the market, was far ahead of its time. Legions of loyal Amiga fans still cherish the machine today.

Buffalo LS-QVL root access

https://forums.buffalotech.com/index.php?topic=37677.0

Get the updated acp_commander.jar from Github
https://github.com/1000001101000/acp-commander

All needed files are in place, just needs some tweaking.. As with everything-Buffalo, I don’t know if it survives a reboot.

java -jar acp_commander.jar -t 192.168.0.10 -pw AdminPassword -c "(echo newrootpass;echo newrootpass)|passwd"
java -jar acp_commander.jar -t 192.168.0.10 -pw AdminPassword -c "sed -i 's/PermitRootLogin/#PermitRootLogin/g' /etc/sshd_config"
java -jar acp_commander.jar -t 192.168.0.10 -pw AdminPassword -c "echo 'PermitRootLogin yes' >>/etc/sshd_config"
java -jar acp_commander.jar -t 192.168.0.10 -pw AdminPassword -c "sed -i 's/root/rooot/g' /etc/ftpusers"

or

java -jar acp_commander.jar -t 192.168.0.10 -pw AdminPassword -s

then execute the same commands in the shell:

(echo newrootpass;echo newrootpass)|passwd
sed -i 's/PermitRootLogin/#PermitRootLogin/g' /etc/sshd_config
echo "PermitRootLogin yes" >>/etc/sshd_config
sed -i 's/root/rooot/g' /etc/ftpusers

Error message “pam_listfile(sshd:auth): Refused user root for service sshd” in /var/log/messages during my first login attempt
The last command above is there because root login was denied using this file (/etc/ftpusers) as a list of users to deny access in /etc/pam.d/login (or /etc/pam.d/sshd).
I found the hint to theck the pam.d configuration here (after checking the logs for any reason to the login error):
https://docs.jdcloud.com/en/virtual-machines/ssh-login-error-service-sshd

Since I wrote this note, I went over to installing Debian on my LS-QVL, so I can no longer verify each of the steps taken to gain root access.

Inner secrets of Synology Hybrid RAID (SHR) – Part 2

Changing the first disk and my case to Synology support

Now it was time to replace the first disk. As I assumed this would never go wrong (!) and did not plan to document the upgrade, I did not take out any information about the partitions, mdraids and volumes during this first disk swap.

The instructions from Synology are quite good for this (until something breaks down):
Replace Drives to Expand Storage Capacity

Basically it says: replace the disks one by one, start with the smallest and wait until completion before replacing the next.

For the first disk swap, I actually shut down my DS1517 before replacing the disk (many models, including DS1517, supports hot swapping the disks). When the disk was replaced and I powered up the DS1517, and as expected I got the “RAID degraded” beep.
Did a check that the new drive was recognized, and then started the repair of the storage pool. As this will usually take many hours, and this was done in the evening, I have no idea of the actual time spent for repairing (rebuilding) the pool. This was about 90% finished when I stopped looking at the status around midnight that day.

The next day, I see that it had “restarted” (lower percentage than yesterday), but this is actually the next step that is initiated directly after repairing the pool. It’s called “reshaping” and during that process other mdraids are changed and adjusted (if possible) against the new disk.

Changes during the first disk swap

These are only assumptions, because I did not take enough info in between swapping the disk and until about a third into reshaping.

At the point of changing the first disk (refer to the previous part of my article), my storage pool/volume consisted of two mdraids joined together:
md2: RAID 5 of sda5, sdb5, sdc5, sdd5, sde5: total size about 11.7TB
md3: RAID 1 of sdd6, sde6: total size of about 4.8TB

When I pulled the first drive (3TB) and replaced it with a 14TB drive, I assume the partition table on that disk was created like this (status pulled from the mid of reshaping after first disk swap, so I’m pretty sure this is correct):

/dev/sda1                  2048         4982527         4980480  fd
/dev/sda2               4982528         9176831         4194304  fd
/dev/sda5               9453280      5860326239      5850872960  fd
/dev/sda6            5860342336     15627846239      9767503904  fd

sda5 was matched up with the size of the old sda5 (and the ‘5’-partitions on the other disks)
sda6 was also created in either the step before rebuild, or right before reshaping (this partition match the size with the ‘6’-partitions on sdd and sde.
Because the (14T) disk is larger than the previous largest (8TB) one, there are some non-partitioned wasted space (about 5.8TB which will come into use after the next disk swap).

Reshaping

Again, I have not taken any full status dumps so that my information can be confirmed, but this is what I see afterwards, and adding my guesses to it because of the better logging of later disk swaps.

After the storage pool was repaired, reshaping started automatically. During this step, the RAID1 consisting of sdd6 and sde6 (md3) were changed into RAID5 consisting of sda6, sdd6 and sde6.

At about 30% into the reshaping phase, my NAS went unresponsive (disconnected both shell and GUI), and I had to wait all day until I came home and did a hard reset on it and hoped everything went well..

In the meantime, I logged a case to the Synology support (see “Part 2b” of this article). They were not of any direct help, and the hard reset did take the NAS back to continuing the reshaping process.

Inner secrets of Synology Hybrid RAID (SHR) – Part 1

Inner workings of Synology Hybrid RAID

Maybe a too much promising title for this post, but this is my guesswork on how SHR works when replacing drives. If anyone have a spare DS1517 (or later device, with at least 4 slots) to donate, I will investigate this further, cannot afford to do it on my primary NAS because of risk of loosing data – and now even not possible without upgrading the disks again to larger ones).

I will also post here my case (more or less in full) sent to Synology when the NAS got unresponsive (crashed) during the rebuild/reshaping process.

What is Synology Hyrbrid RAID ?

This is in fact the only thing Synology themselves have briefly explained in their documentation:
What is Synology Hybrid RAID (SHR)

My short explanation is that it is a software RAID that is able to maximize the utilization of mixed sized hard drives. For simplicity, Synology illustrates this with drives varying of 500GB to 2TB (in 500GB increments), possibly fooling some people to think that the disks are always split into 500GB partitions.

My findings while expanding my DS1517 (from 3TB, 3TB, 3TB, 8TB, 8TB to all 14TB) is that the remaining space of the drives are splitted in as few parts as possible to obtain the maximum available space (after setting aside about 2.5GB for the DSM (operating system) and 2GB for swap).

Replacing disks and rebuilding the RAID

Before I replaced the first disk, I actually forgot to view and save down the info about the partitions, mdraid volumes and logical volumes (I might have that somewhere else, but I will not look for it now). Based on how it looked after the first disk had been replaced, and the rebuild was done (in the process of reshaping) it should have been something like this:

# sfdisk -l
/dev/sda1                  2048         4982527         4980480  83
/dev/sda2               4982528         9176831         4194304  82
/dev/sda5               9453280      5860326239      5850872960  fd

/dev/sdb1                  2048         4982527         4980480  83
/dev/sdb2               4982528         9176831         4194304  82
/dev/sdb5               9453280      5860326239      5850872960  fd

/dev/sdc1                  2048         4982527         4980480  83
/dev/sdc2               4982528         9176831         4194304  82
/dev/sdc5               9453280      5860326239      5850872960  fd

/dev/sdd1                  2048         4982527         4980480  fd
/dev/sdd2               4982528         9176831         4194304  fd
/dev/sdd5               9453280      5860326239      5850872960  fd
/dev/sdd6            5860342336     15627846239      9767503904  fd

/dev/sde1                  2048         4982527         4980480  fd
/dev/sde2               4982528         9176831         4194304  fd
/dev/sde5               9453280      5860326239      5850872960  fd
/dev/sde6            5860342336     15627846239      9767503904  fd

Note: The partition types for sd[a-c][1-2] seems incorrect as these where changed to “fd” later on during the process, or it might have been something changed by Synology on later DSM versions (but not at the point of updating DSM).

Partitions 1-2 are the system and swap partitions on all the drives, sized 2.5GB respectively 2GB.
Partition 5 is a part of the storage space available in the volume on the NAS. In this case it is about 2.9TB in size (the maximum available on the smallest disks).
Partition 6 is the second part of the total storage space. At this time those partitions are about 4.8TB in size.

mdraid volumes

Out of the partitions above, the Synology creates these mdraid volumes:
md0: RAID 1 of sda1, sdb1, sdc1, sdd1, sde1: total size 2.5GB used for DSM
md1: RAID 1 of sda1, sdb2, sdc2, sdd2, sde2: total size 2GB used for swap
md2: RAID 5 of sda5, sdb5, sdc5, sdd5, sde5: total size about 11.7TB
md3: RAID 1 of sdd6, sde6: total size of about 4.8TB

LVM logical disk

md2 and md3 are joined together into a logical disk using LVM, which gives about 16.5TB space in total for the storage volume on the NAS (Synology DSM says 15.5TB, but the difference is only because of how I estimate the space and how Synology does – I just take the block count, divide by two, then use a one decimal precision – which is adequate enough for this description).

DSM Storage Manager before replacing the first disk

… to be continued in part 2 …