ustclug / 101strap

Linux 101 Desktop VM building scripts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

101strap

Introduction

This project aims to automate the generation of XUbuntu, which will be used as an example in linux101. This project developed by taoky, RTXUX, and xuao1.

Build

sudo modprobe nbd
docker build -t local/101strap .
docker run -it --privileged --rm -v $(pwd):/srv:ro -v ~/tmp/101:/target -v /usr/lib/ovftool:/Ovftool:ro -v /dev:/dev -e NBD=/dev/nbd0 local/101strap:latest

Note:

  • The generation order for this project is: qcow2 -> vmdk/vdi -> ova. All of the processes are automated, and all you need to do is to run the three commands mentioned. However, before that, you need to install the "OVF Tool Zip archive for Linux 64-bit" from VMware. Please note that this project generates XUbuntu 22.04, and if you wish to generate other versions of XUbuntu, you need to modify some content in the scripts.

  • If there is any problems exporting to the ova file, you can also choose to manually export it using vmdk/vdi. You need to import the VMDK into VMware Workstation and configure it accordingly, import the VDI into VirtualBox and configure it accordingly, and then export each as an OVA.

  • If you only want to automate the process of generating a .qcow2 image, or generating ova only, you can run the building container like:

    # generate qcow2 disk
    docker run -it --privileged --rm -v $(pwd):/srv:ro -v ~/tmp/101:/target -v /dev:/dev -e NBD=/dev/nbd0 local/101strap:latest /bin/bash /srv/101strap_img
    # convert and generate ova
    docker run -it --privileged --rm -v $(pwd):/srv:ro -v ~/tmp/101:/target -v /usr/lib/ovftool:/Ovftool:ro -v /dev:/dev -e NBD=/dev/nbd0 local/101strap:latest /bin/bash /srv/101strap_disk
  • If you want more information, see the Devlog.

Run

You can test the generated qcow2 file locally using the following command.

qemu-system-x86_64 -machine accel=kvm -m 1024m -hda ./root.qcow2 -bios /usr/share/ovmf/x64/OVMF.fd -netdev user,id=net101 -device e1000,netdev=net101

About

Linux 101 Desktop VM building scripts

License:MIT License


Languages

Language:Shell 97.2%Language:Dockerfile 2.8%