You can boot an RPI Zero without a SD card through an USB cable connected with a PC.
Raspberry Pi USB booting code that is available here on Github or can be installed on a RPI or Raspberry Desktop computer (PC) running Stretch.
It's available since the Stretch update of 2017-12:
sudo apt-get install usbbootgui
Just connect a RPI Zero with an USB cable in the USB OTG and without an SD card, a GUI will pop-up:
- GPIO expansion board
- eMMC /SD card reader
- Custom application
For accessing GIO pins.
Is should be possible to boot Stretch (or any other application) through USB, although I've not seen a working example yet.
A first step into booting Stretch Lite (crashes when looking for the rootfs) can be achieved with:
# setup a Loop device and scan partition table
sudo losetup -P /dev/loop0 ~/Downloads/2017-11-29-raspbian-stretch-lite.img
# if loop device busy try /dev/loop1
# mount the loop device boot partition
sudo mount /dev/loop0p1/ /media/pi/
# boot the pi zero from the mounted image
sudo rpiboot -d /media/pi/
The pi Zero will boot and show the red Raspberry Icon, but there it stops.
This blog-post describes how to boot Raspbian Stretch on a Zero without an SD card.