Raspberry Pi automation tools for Debian distros- emulate, organize, burn & manage
An efficient toolset for Pi devices
clipi virtualizes many common sbc operating systems with QEMU, and can play with both 32 bit and 64 bit operating systems.
clipiwill handle the rest.
clipi builds and maintains organized directories for each OS as well a persistent & convenient .qcow2 QEMU disk image.
clipicleans up after itself under the
clipi burns emulations to external disks! Just insert a sd card or disk and follow the friendly prompts. All files,
/home, guest directories are written out.
/bootin the freshly burned disk.
clipiprovides options for writing from an emulation’s
.qcow2file via qemu…
clipi can find the addresses of all the Raspberry Pi devices on your local network.
clipican install itself as a Bash alias (option under the
Utilities...menu, fire it up whenever you want.
# <shortcut>.toml # you can access the same tools and functions visible in the interactive menu like so: 'Burn a bootable disk image' = true # same as selecting in the interactive cli 'image' = 'octoprint' 'target_disk' = 'sdc'
clipiexposes many features only accessible via configuration file arguments, such as distribution options and emulation settings.
# <shortcut>.toml # important qemu arguments can be provided via a shortcut file like so: 'kernel' = "bin/ddebian/vmlinuz-4.19.0-9-arm64" 'initrd' = "bin/ddebian/initrd.img-4.19.0-9-arm64" # qemu arguments like these use familiar qemu lexicon: 'M' = "virt" 'm' = "2048" # default values are be edited the same way: 'cpu' = "cortex-a53" 'qcow_size' = "+8G" 'append' = '"rw root=/dev/vda2 console=ttyAMA0 rootwait fsck.repair=yes memtest=1"' # extra arguments can be passed too: '**args' = """ -device virtio-blk-device,drive=hd-root \ -no-reboot -monitor stdio """ # additional network arguments can be passed like so: # (clipi may automatically modify network arguments depending on bridge / SLiRP settings) 'network' = """ -netdev bridge,br=br0,id=net0 \ -device virtio-net-pci,netdev=net0 """
Supply a shortcut file like so:
python3 clipi.py etc/find_pi.toml
take a look in /etc for some shortcut examples and default values
bridge networking things:
automate ramdisk & kernel extraction- some functions to do so are all ready to go in /kernel.py
other random kernel todos-
# clone: git clone https://github.com/Jesssullivan/clipi && cd clipi # preheat: pip3 install -r requirements.txt # (or pip install -r requirements.txt) # begin cooking some Pi: python3 clipi.py
git clone --branch=mini --depth=1 https://github.com/Jesssullivan/clipi && cd clipi # preheat: pip3 install -r requirements.txt # (or pip install -r requirements.txt) # begin cooking some Pi: python3 clipi.py
# Cook Pi: python3 clipi.py etc/write_ubuntu64_pi4.toml # Consume Pi: git clone https://github.com/wimpysworld/desktopify.git && sudo ./desktopify --de ubuntu-budgie