All Projects → squashible → squashible

squashible / squashible

Licence: Apache-2.0 license
Cross-Platform Linux Live Image Builder

Programming Languages

shell
77523 projects
python
139335 projects - #7 most used programming language
Roff
2310 projects
HTML
75241 projects

Projects that are alternatives of or similar to squashible

Multibootusb
Create multiboot live Linux on a USB disk...
Stars: ✭ 1,042 (+4636.36%)
Mutual labels:  boot, live
dracut-crypt-sshd
dracut initramfs module to start sshd on early boot to enter encryption passphrase from across the internets
Stars: ✭ 25 (+13.64%)
Mutual labels:  boot, dracut
arch-config
Scripts and Ansible playbook to setup Arch Linux on ZFS.
Stars: ✭ 36 (+63.64%)
Mutual labels:  netboot, boot
Glim
GRUB Live ISO Multiboot
Stars: ✭ 452 (+1954.55%)
Mutual labels:  boot, live
systemboot
SystemBoot is a LinuxBoot distribution that works as a system firmware + bootloader, based on u-root
Stars: ✭ 103 (+368.18%)
Mutual labels:  netboot, boot
Netboot.xyz
Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE.
Stars: ✭ 2,753 (+12413.64%)
Mutual labels:  netboot, boot
buddy-linux
Do you remember "Wubi Ubuntu Installer"? This project is both a replacement and an improvement of Wubi. You will be able to install your Debian (or derived) distribution on a PC without repartitioning it, simply by using a secondary/external boot device (like a USB drive).
Stars: ✭ 17 (-22.73%)
Mutual labels:  boot, dracut
php-aliyun-open-api-live
阿里云直播API,使用guzzleHttp 中间件方式实现,单文件
Stars: ✭ 18 (-18.18%)
Mutual labels:  live
hexblade
My own Linux desktop and docker image on top of Ubuntu.
Stars: ✭ 15 (-31.82%)
Mutual labels:  live
UEFI MULTI
UEFI_MULTI - Make Multi-Boot USB-Drive
Stars: ✭ 33 (+50%)
Mutual labels:  boot
ee.Yrewind
Can rewind and save YouTube live stream
Stars: ✭ 133 (+504.55%)
Mutual labels:  live
spring-boot-mongodb-react-java-crud
Spring Boot, MongoDB and React.js CRUD Java Web Application Example
Stars: ✭ 33 (+50%)
Mutual labels:  boot
like-fx-miniapp
微信小程序直播点赞效果
Stars: ✭ 19 (-13.64%)
Mutual labels:  live
liveshop
融合电商与直播的跨平台APP,主要采用了Flutter技术开发而成,目前开发中
Stars: ✭ 24 (+9.09%)
Mutual labels:  live
live-form-validation
⛔ Nice client-side live form validation for Nette Forms.
Stars: ✭ 55 (+150%)
Mutual labels:  live
rt-mrcnn
Real time instance segmentation with Mask R-CNN, live from webcam feed.
Stars: ✭ 47 (+113.64%)
Mutual labels:  live
hackupc-landing
🚀 HackUPC's landing page
Stars: ✭ 31 (+40.91%)
Mutual labels:  live
blrec
Bilibili Live Streaming Recorder 哔哩哔哩直播录制
Stars: ✭ 124 (+463.64%)
Mutual labels:  live
live-stream-media-source-extensions
Live stream h264 encoded mp4 video on media source extensions using ffmpeg, node.js, socket.io, and express. Works in chrome, firefox, safari, and android. Not iOS compatible. Work has moved to mse-live-player repo =>
Stars: ✭ 24 (+9.09%)
Mutual labels:  live
gwt-boot-awesome-lili
Collection of JavaScript Libraries with JsInterop Interfaces and Others - GWT Awesome Library List (Gwit a LiLi)
Stars: ✭ 29 (+31.82%)
Mutual labels:  boot

squashible

Cross-Platform Linux Live Image Builder

What is this?

Squashible is a tool created to generate a bootable LiveOS rapidly and consistently across multiple operating systems. It primarily relies on dracut to boot the LiveOS.

It utilizes docker to create enough operating system for Ansible to function and apply all configuration changes from that point. It then packages up the build into a vmlinuz, an initrd.img, and a rootfs.img.

This is a work in progress. Things will probably blow up. Pull requests and issues welcome!

Getting Started

Requirements

Recommended Build Server Versions:

Fedora 23
Ubuntu 15.10

Required Packages:

Ansible >= 2.0.1.0
Docker

Building an image

Edit the group_vars/all file and set the appropriate settings. Recommended settings to change are:

variable description
live_os set to one of the listed supported_live_os
user_ssh_keys set the public ssh keys you'd like to inject

To run squashible:

ansible-playbook -i hosts_generator.py <playbook.yml>

Available playbooks to run:

type description
squashible.yml minimal install
squashible_kvm.yml minimal install + kvm + nova compute
squashible_xen.yml minimal install + xen + nova compute

Output of the build will be put into {{ outputpath }} which by default is ./live_output directory.

Booting the images

Here are some examples for booting the image once you've generated one:

iPXE

kernel http://$deployment_server/images/images/fedora-23-kvm/vmlinuz
module http://$deployment_server/images/images/fedora-23-kvm/initrd.img
imgargs vmlinuz root=live:http://$deployment_server/images/fedora-23-kvm/rootfs.img ip=dhcp nameserver=8.8.8.8 nomodeset rd.writable.fsimg rd.info rd.shell

kexec

kexec -l vmlinuz —initrd=initrd.img \
—command-line=“root=live:http://$deployment_server/images/fedora-23-kvm/rootfs.img \
ip=dhcp nameserver=8.8.8.8 rd.writable.fsimg rd.info rd.shell”
kexec -e

Logging into the image

You can use the user live and the password live from the console. The user is disabled from remote ssh access. If you want to log in remotely, be sure to set a public ssh key in group_vars/all.

Known Issues

OpenSUSE currently has issues booting due to the DHCP daemon it uses.

Test using iPXE Squashible Boot Images

These iPXE disks will automatically load into boot.squashible.com. These contain live images that have been generated for demonstration puposes. Make sure you assign 4GB to 8GB of RAM for the images to load properly. If you run into any errors or kernel panics, usually the cause is not enough memory being available.

Type Bootloader Description
ISO boot.squashible.com.iso Used for CD/DVD, Virtual CDs like DRAC/iLO, VMware, Virtual Box
USB boot.squashible.com.usb Used for creation of USB Keys
Kernel boot.squashible.com.lkrn Used for booting from GRUB/EXTLINUX
DHCP boot.squashible.com.kpxe DHCP boot image file, uses built-in iPXE NIC drivers
DHCP-undionly boot.squashible.com-undionly.kpxe DHCP boot image file, use if you have NIC issues

You can also chainload into boot.squashible.com if you already have netboot.xyz:

chain --autofree http://boot.squashible.com
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].