Giter Site home page Giter Site logo

hyrotos / archuseriso Goto Github PK

View Code? Open in Web Editor NEW

This project forked from laurent85v/archuseriso

0.0 0.0 0.0 1.61 MB

Set of scripts for creating bootable disk images of Arch Linux and installing an Arch Linux system to an external USB disk or thumb drive.

License: GNU General Public License v3.0

Shell 99.78% Makefile 0.22%

archuseriso's Introduction

Description

Kurzanleitung: ISO erzeugen: sudo aui-mkiso --language=de ./profiles/kde Arbeitsverzeichnis wieder löschen: sudo rm -R work testen: aui-run -u -i out/archlinux_hyrotos-2023.04.07-x64.iso

Archuseriso is a set of scripts for creating bootable disk images of Arch Linux and installing an Arch Linux system to an external USB disk or thumb drive.

The build of disk images is based on the Archiso program used by Arch Linux developers to build the monthly iso images.

Archuseriso integrates most of the developments of Archiso and adds additional features. A list of new build profiles is available, they make it easy to build bootable disk images with a desktop environment. Archuseriso also allows installing an Arch Linux system on a removable USB disk from the iso image created.

System and data can be encrypted to protect the data on the removable medium. Several types of file systems are available for persistence and installation, including ZFS for installation.

Highlights

  • preconfigured build profiles
  • many languages
  • zstandard compression algorithm
  • live usb with persistence
  • normal install on usb disk
  • Ext4 / Btrfs / F2FS / ZFS file systems
  • LUKS encryption
  • syslinux bios bootloader
  • systemd-boot, Grub or rEFInd bootloader for UEFI hardware
  • building ZFS packages
  • Installation on ZFS root filesystem
  • add package from test repository
  • add user's own packages
  • inclusion of personal data in the disk image
  • Nvidia graphics driver option
  • Samba public folder sharing

Pre-configured build profiles

  • Console
  • Cinnamon
  • Cutefish
  • Deepin
  • Gnome
  • i3
  • Kde Plasma
  • LXQt
  • Mate
  • Sway
  • Xfce

Installation

The recommended installation method using the AUR repository archuseriso

Or from the git repository:

  sudo pacman --needed -S git arch-install-scripts bash dosfstools e2fsprogs erofs-utils grub libarchive libisoburn make mtools parted squashfs-tools syslinux
  git clone https://github.com/laurent85v/archuseriso.git
  sudo make -C archuseriso install

The images on the http://dl.gnutux.fr/archuseriso download page include Archuseriso. This allows you to make your disk image from the Live system without having to install Archuseriso on your own computer.

Note that Archuseriso was designed for Arch Linux and has not been tested on Arch Linux derivatives.

Build an image

Synopsis:

  aui-mkiso [options] <profile path>

Build an Xfce iso image with the default options:

  sudo aui-mkiso /usr/share/archuseriso/profiles/xfce/

Default build directory /usr/share/archuseriso/profiles assumed when profile path is not provided:

  sudo aui-mkiso xfce

Examples:

Using Kde Plasma profile, German language

  sudo aui-mkiso --language=from kde

Using the Gnome profile, additional packages from the Arch Linux repositories are added, user packages located in directory mypackages are also added.

  sudo aui-mkiso --add-pkg=firefox-ublock-origin,ntop,vlc --pkg-dir=~/mypackages gnome

Using Xfce profile, building a gpt disk image

  sudo aui-mkiso -m 'img' xfce

Once finished it is necessary to delete the work directory before building a new image. The generated disk image can be found in the out directory.

Help Writing Disc Image and Burning DVD

GPT disk image

Image format for usb drives only. The main advantage of this image format is that new partitions can be created on the free space of the usb disk for data storage.

Copy the gpt disk image to the usb device, e.g. with usb device /dev/sdc:

  # pv aui-xfce-linux_6_2_8-fr_FR-0327-x64.img > /dev/sdc

The disk image and the usb disk capacity are not the same size. To fix the gpt table size on the usb disk you can use the following command, fdisk or gparted can also do that. Note the 3 dashes of the undocumented ---pretend-input-tty option of the parted command:

  echo Fix | sudo parted /dev/sdc ---pretend-input-tty print

Help Writing Disk Image

USB drive with persistence

The disk image installed on the usb drive supports persistence by default. The start menu offers to start in Live mode or with data persistence.

Synopsis:

aui-mkusb [options] <iso image> <usb device>

Example:

sudo aui-mkusb aui-xfce-linux_5_7_10-0724-x64.iso /dev/sdc

The disk partitioning is as follow:

GPT layout
Partition   FS type           Type
#1          Ext4              Squashfs image
#2          EFI FAT           Boot
#3          Ext4|Btrfs|F2FS   Persistence

Btrfs filesystem

For the Btrfs filesystem, two separate subvolumes are created for persistence: rootfs and home.

ZFS support

To add ZFS support to the image there are two methods: either the --zfs-support option which will build the zfs packages before installing them, or the --pkg-dir <path> which indicates the path of a directory containing additional packages to install (including those of ZFS).

For the second method there is the aui-buildzfs script which allows you to build the zfs packages.

Example:

sudo aui-mkiso --zfs-support xfce

ZFS packages

To build zfs-utils, zfs-linux and zfs-linux-headers for the current Arch Linux kernel, use the aui-buildzfs script:

  sudo aui-buildzfs

The script uses the zfs PKGBUILDs from Archuseriso to build the zfs packages, they are compatible on any Arch Linux system.

Normal installation on usb device

A normal installation can be carried out, this mode is the equivalent of an installation on internal hard disk. Parameters specific to the live system are reset to Arch Linux default values with the exception of the systemd journal which remains configured in volatile mode to limit disk I/O (especially for thumb drives)

Synopsis:

aui-mkhybrid [options] <iso image> <usb device>

Example:

sudo aui-mkhybrid aui-xfce-linux_5_10_9-0121-x64.iso /dev/sdc

The disk partitioning is as follow:

GPT layout
Partition   FS Type           Type
#1          Ext4              Squashfs image
#2          EFI FAT           Boot
#3          Ext4|Brtfs|F2FS   System

Installation on a ZFS Root File System

Requires an iso image with zfs support. Perform a normal install with zfs as the root filesystem. For zfs an ssd disk is highly recommended:

  sudo aui-mkinstall --rootfs=zfs --username=foobar ./out/aui-xfce-linux_6_0_9-1123-x64.iso /dev/sdc

Test

You can use aui-run to test the iso image or a usb disk in a qemu virtual machine.

Examples:

test an iso image in bios mode

  aui-run -i aui-xfce-linux_5_10_7-0116-x64.iso

test an iso image in uefi mode

  aui-run -u -i aui-xfce-linux_5_10_7-0116-x64.iso

test of thumb drive /dev/sdc in bios mode

  sudo aui-run -d /dev/sdc

test of thumb drive /dev/sdc in uefi mode

  sudo aui-run -u -d /dev/sdc

Archuseriso Program List

  • aui-mkiso: Build a bootable system image using a build profile
  • aui-mkusb: create a bootable system on a USB drive with persistence
  • aui-mkinstall: create a bootable system on a USB drive, corresponds to a normal hard disk installation
  • aui-mkhybrid: create a bootable system on USB drive, combines live mode and normal installation on on the same usb device
  • aui-buildzfs: build ZFS packages
  • aui-run: test an image or a bootable system installed on a usb drive

Documentation

Currently Archuseriso has no specific documentation. You can refer to Archiso's documentation.

Files of interest:

  • profiles/<profile name>/packages.x86_64: list of packages to install
  • profiles/<profile name>/profiledef.sh: profile settings

Known issues

rEFInd Boot Manager may fail on some firmware.

archuseriso's People

Contributors

laurent85v avatar edupont avatar hyrotos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.