Core - 11MB!
For virtual box, you can set up 128 RAM (recommended, it can work well with 64 RAM) and I suggest 20 MB hard disk (that depends on what you need).
Note: I did try with 16 MB, but did run out of space when trying to add openssh.
While this technically fails at the 1 minute installation. Once you have an installed VM, you can export it and import it anywhere you need it. Thank to the small size it only takes seconds to import.
Lazy? I exported one for you: Core Linux + Openssh for VirtualBox - tc password is CoreSecretLinux, root password is RootSecretLinux - I used a hard disk in VMware format just in case. I tested it with PuTTy on Windows.
Or if you prefer - or don't trust me enough - you can follow the steps below.
Boot with the .iso file from Core, just hit enter to log in. To install to disk follow these steps:
Download the software needed to install to disk
tce-load -w -i cfdisk
tce-load -w -i grub-0.97-splash.tcz
Note: since you want openssh, you may also do (you can do this after installation too)
tce-load -w -i openssh.tcz
These packages are being kept in RAM.
Format the disk
sudo cfdisk /dev/sda
Using cfdisk create at least a primary bootable partition sda1 (select new -> primary -> set the size, select bootable, select write, type "yes", select quit).
Format the partition with ext4
Rebuild the file systems table
Mount the partition we created
Create the folder for grub installation
sudo mkdir -p /mnt/sda1/boot/grub
Create the folder for the core extensions
sudo mkdir -p /mnt/sda1/tce/optional
Mount the iso
Copy boot from the iso to the partition
sudo cp -p /mnt/sr0/boot/core.gz /mnt/sda1/boot
sudo cp -p /mnt/sr0/boot/vmlinuz /mnt/sda1/boot
Copy your extensions to the partition (Optional)
sudo cp -p /tmp/tce/optional/* /mnt/sda1/tce/optional
Note: here you are copying the packages you got with tce-load
Create the configuration file that Core uses
sudo touch /mnt/sda1/tce/mydata.tgz
Copy grub to the partition
sudo cp -p /usr/lib/grub/i386-pc/* /mnt/sda1/boot/grub
Create the grub boot menu
sudo vi /mnt/sda1/boot/grub/menu.lst
Note: vi comes by default. And the keyboard configuration is US by default. I'd defer to A Beginner’s Guide to Editing Text Files With Vi if you need a quick introduction.
Insert the following text:
kernel /boot/vmlinuz quiet
Write and quit.
Invoke Grub for setup
unmount the iso
sudo umount /mnt/sr0
Eject the iso (via Virtual Box menus)
The machine should reboot to start from the virtual hard disk. The user you'll have is "tc" with no password. You will have to set the password with passwd if you want to use it with openssh.
You still need to configure your openssh. You can try following mileymattj tutorial for openssh.
I made this while writing to make sure I didn't skip any step. I was using Oracle VirtualBox 5.1.18r114002 - I used Core version 8.0 - For the purposes of installation, I've been following smileymattj tutorials.
Make sure that the boot order is correct (first CD, then hard disk).
If you are running out of space when adding an extension you get a messages saying that wget did a short write and that the checksum failed. It doesn't spell out that it was because of lack of space.
You can find the downloaded packages in /mnt/sda1/tce/optional if you want to remove them.
You may also want to get appbrowser-cli via tce-load for a more convinient way to download extensions.
If an extension has already been downloaded (for example if you copied it to the hard disk during installation), you can load it with tce-load -i (extension_name). Do not add -w if you don't intent to download the extension.
Add the extensions you want to load automatically to onboot.lst on /mnt/sda1/tce/ - for example if you want to autoload openssh, you can add a line with openssh.tcz on onboot.lst
It is worth noting is that Core Linux is designed to execute fully in RAM. See Tiny Core / Micro Core Persistent.