Difference between revisions of "Archboot"

From ArchWiki
Jump to: navigation, search
(PXE booting / Rescue system)
m (Undo revision 527602 by Nl6720 (talk) - mirror issue)
 
(61 intermediate revisions by 10 users not shown)
Line 2: Line 2:
 
[[Category:Getting and installing Arch]]
 
[[Category:Getting and installing Arch]]
 
[[Category:Live Arch systems]]
 
[[Category:Live Arch systems]]
[[zh-CN:Archboot]]
+
[[Category:Arch projects]]
==What is Archboot?==
+
[[ar:Archboot]]
* Archboot is a set of scripts to generate bootable media for CD/USB/PXE.
+
[[es:Archboot]]
* It is designed for installation or rescue operation.
+
[[ja:Archboot]]
* It only runs in RAM, without any special filesystems like squashfs, thus it is limited to the RAM which is installed in your system.
+
[[ru:Archboot]]
[[pacman|Install]] {{pkg|archboot}} from the [[official repositories]].
+
[[zh-hans:Archboot]]
 +
Archboot is an unofficial set of scripts to generate bootable media for CD/USB/PXE, designed for installation or rescue operation.
 +
 
 +
It only runs in RAM, without any special filesystems like squashfs, thus it is limited to the RAM which is installed in your system.
 +
 
 +
== Installation ==
 +
 
 +
[[Install]] the {{pkg|archboot}} package.
  
 
==The difference to the archiso install media==
 
==The difference to the archiso install media==
Line 19: Line 26:
  
 
==Archboot ISO Releases==
 
==Archboot ISO Releases==
* Hybrid image files and torrents are provided, which include i686/x86_64 and [core] repository,
+
* Hybrid image files and torrents are provided, which include x86_64 and [core] repository,
 
: network labeled images don't include [core] repository.
 
: network labeled images don't include [core] repository.
 
* Please check md5sum before using it.
 
* Please check md5sum before using it.
* [https://downloads.archlinux.de/iso/archboot/2013.10 Download 2013.10 „2k13-R4“] / [ftp://ftp.archlinux.org/iso/archboot/Changelog-2013.10-1.txt Changelog] / [https://bbs.archlinux.org/viewtopic.php?id=171663 Forum thread]
+
* [https://downloads.archlinux.de/iso/archboot/2018.06 Download 2018.06 „2k18-R1“] / [ftp://ftp.archlinux.org/iso/archboot/Changelog-2018.06-1.txt Changelog] / [https://bbs.archlinux.org/viewtopic.php?id=182439 Forum thread]
: kernel: 3.11.6-1
+
: kernel: 4.17.2-1
: pacman: 4.1.2
+
: pacman: 5.1.0-2
: systemd: 208-1
+
: systemd: 238.133-1
: RAM recommendations: 512 MB
+
: RAM recommendations: 1500 MB
  
 
===Burning Release===
 
===Burning Release===
Line 35: Line 42:
  
 
===PXE booting / Rescue system===
 
===PXE booting / Rescue system===
[https://downloads.archlinux.de/iso/archboot/2013.10/boot Download 2013.10 „2k13-R4“] needed files from the directory.
+
[https://downloads.archlinux.de/iso/archboot/2018.06/boot Download 2018.12 „2k18-R1“] needed files from the directory.
* vmlinuz_i686 + initramfs_i686.img (i686)
 
 
* vmlinuz_x86_64 +  initramfs_x86_64.img(x86_64)
 
* vmlinuz_x86_64 +  initramfs_x86_64.img(x86_64)
 +
* intel-ucode.img (x86_64)
 
* For PXE booting add the kernel and initrd to your tftp setup and you will get a running installation/rescue system.
 
* For PXE booting add the kernel and initrd to your tftp setup and you will get a running installation/rescue system.
 
* For Rescue booting add an entry to your bootloader pointing to the kernel and initrd.
 
* For Rescue booting add an entry to your bootloader pointing to the kernel and initrd.
Line 43: Line 50:
 
===Supported boot modes of Archboot media===
 
===Supported boot modes of Archboot media===
 
* It supports BIOS booting with syslinux.
 
* It supports BIOS booting with syslinux.
* It supports UEFI/UEFI_CD booting with [[Gummiboot]] and [[EFISTUB]].
+
* It supports UEFI/UEFI_CD booting with [[systemd-boot]] and [[EFISTUB]].
 +
* It support UEFI_MIX_MODE booting with grub.
 
* It supports Secure Boot with prebootloader.
 
* It supports Secure Boot with prebootloader.
 
* It supports grub(2)'s iso loopback support.
 
* It supports grub(2)'s iso loopback support.
Line 80: Line 88:
 
* Package selection support
 
* Package selection support
 
* hwdetect script is used for preconfiguration
 
* hwdetect script is used for preconfiguration
* Auto/Preconfiguration of fstab, kms mode, mkinitcpio.conf, systemd, crypttab and mdadm.conf
+
* Auto/Preconfiguration of fstab, kms mode, ssd, mkinitcpio.conf, systemd, crypttab and mdadm.conf
 
* Configuration of basic system files
 
* Configuration of basic system files
 
* Setting root password
 
* Setting root password
* grub(2) (BIOS and UEFI), refind-efi, gummiboot, syslinux (BIOS and UEFI) bootloader support
+
* grub(2) (BIOS and UEFI), refind-efi, systemd-boot, syslinux (BIOS and UEFI) bootloader support
  
 
===FAQ, Known Issues and limitations===
 
===FAQ, Known Issues and limitations===
Line 101: Line 109:
 
:: cfdisk cannot handle GPT/GUID nor it can allign partitions correct with 1MB spaces for 4k sector disks.
 
:: cfdisk cannot handle GPT/GUID nor it can allign partitions correct with 1MB spaces for 4k sector disks.
 
:: cfdisk is a nice tool but is too limited to be the standard partitioner anymore.
 
:: cfdisk is a nice tool but is too limited to be the standard partitioner anymore.
:: cfdisk is still included but has to be run in an other terminal.
+
:: cfdisk is still included but has to be run in another terminal.
  
 
===History===
 
===History===
Line 123: Line 131:
 
* ~ 3GB free space on disk
 
* ~ 3GB free space on disk
  
===Create archboot chroots===
+
=== Create archboot chroots ===
{{bc|
+
 
# install archboot
+
* Install archboot:
pacman -S archboot
+
 
mkdir <x86_64_chroot>
+
# mkdir -p ''x86_64_chroot''/var/lib/pacman
pacman --root "<x86_64_chroot>" -S base --noconfirm --noprogressbar
+
# pacman --root "''x86_64_chroot''" -Sy base --noconfirm --noprogressbar
mkdir <i686_chroot>
 
linux32 pacman --root "<i686_chroot>" -S base --noconfirm --noprogressbar
 
}}
 
  
 
* Enter archboot x86_64 container:
 
* Enter archboot x86_64 container:
{{bc|
+
 
systemd-nspawn --capability&#61;CAP_MKNOD -M $1-$(uname -m) -D <x86_64_chroot>
+
# systemd-nspawn --capability=CAP_MKNOD --register=no -M $(uname -m) -D ''x86_64_chroot''
}}
+
 
* Enter archboot i686 container:
 
{{bc|
 
linux32 systemd-nspawn --capability&#61;CAP_MKNOD -M $1-$(uname -m) -D <i686_chroot>
 
}}
 
  
 
===Install archboot and update to latest packages===
 
===Install archboot and update to latest packages===
{{bc|
+
 
# install in both chroots archboot:
+
Install {{Pkg|archboot}} in chroot and [[pacman#Upgrading packages|update]] to latest available packages.
pacman -S archboot
 
# update in both chroots to latest available packages
 
pacman -Syu
 
}}
 
  
 
===Generate images===
 
===Generate images===
Line 158: Line 155:
 
}}
 
}}
 
* Finished you get a bunch of images.
 
* Finished you get a bunch of images.
 
Have fun!
 
tpowa
 
(Archboot Developer)
 

Latest revision as of 16:21, 24 June 2018

Archboot is an unofficial set of scripts to generate bootable media for CD/USB/PXE, designed for installation or rescue operation.

It only runs in RAM, without any special filesystems like squashfs, thus it is limited to the RAM which is installed in your system.

Installation

Install the archboot package.

The difference to the archiso install media

  • It provides an additional interactive setup and quickinst script.
  • It contains [core] repository on media.
  • It runs a modified Arch Linux system in initramfs.
  • It is restricted to RAM usage, everything which is not necessary like
man or info pages etc. is not provided.
  • It doesn't mount anything during boot process.
  • It supports remote installation through ssh.

Archboot ISO Releases

  • Hybrid image files and torrents are provided, which include x86_64 and [core] repository,
network labeled images don't include [core] repository.
kernel: 4.17.2-1
pacman: 5.1.0-2
systemd: 238.133-1
RAM recommendations: 1500 MB

Burning Release

Hybrid image file is a standard CD-burnable image and also a raw disk image.

  • Can be burned to CD(RW) media using most CD-burning utilities.
  • Can be raw-written to a drive using 'dd' or similar utilities. This method is intended for use with USB thumb drives.
'dd if=<imagefile> of=/dev/<yourdevice> bs=1M'

PXE booting / Rescue system

Download 2018.12 „2k18-R1“ needed files from the directory.

  • vmlinuz_x86_64 + initramfs_x86_64.img(x86_64)
  • intel-ucode.img (x86_64)
  • For PXE booting add the kernel and initrd to your tftp setup and you will get a running installation/rescue system.
  • For Rescue booting add an entry to your bootloader pointing to the kernel and initrd.

Supported boot modes of Archboot media

  • It supports BIOS booting with syslinux.
  • It supports UEFI/UEFI_CD booting with systemd-boot and EFISTUB.
  • It support UEFI_MIX_MODE booting with grub.
  • It supports Secure Boot with prebootloader.
  • It supports grub(2)'s iso loopback support.
variables used (below for example):
iso_loop_dev=PARTUUID=XXXX
iso_loop_path=/blah/archboot.iso
menuentry "Archboot" --class iso {
loopback loop (hdX,X)/<archboot.iso>
linux (loop)/boot/vmlinuz_x86_64 iso_loop_dev=/dev/sdXX iso_loop_path=/<archboot.iso>
initrd (loop)/boot/initramfs_x86_64.img
}
  • It supports booting using syslinux's memdisk (only in BIOS mode).
menuentry "Archboot Memdisk" {
   linux16 /memdisk iso
   initrd16 hd(X,X)/<archboot.iso>
}

How to do a remote installation with ssh?

  • During boot all network interfaces will try to obtain an IP address through dhcp.
  • root password is not set by default! If you need privacy during installation set a password.
'ssh root@<yourip>'

Interactive setup features

  • Media and Network installation mode
  • Changing keymap and consolefont
  • Changing time and date
  • Setup network with netctl
  • Preparing storage disk, like auto-prepare, partitioning, GUID (gpt) support, 4k sector drive support etc.
  • Creation of software raid/raid partitions, lvm2 devices and luks encrypted devices
  • Supports standard linux,raid/raid_partitions,dmraid/fakeraid,lvm2 and encrypted devices
  • Filesystem support: ext2/3/4, btrfs, f2fs, nilfs2, reiserfs,xfs,jfs,ntfs-3g,vfat
  • Name scheme support: PARTUUID, PARTLABEL, FSUUID, FSLABEL and KERNEL
  • Mount support of grub(2) loopback and memdisk installation media
  • Package selection support
  • hwdetect script is used for preconfiguration
  • Auto/Preconfiguration of fstab, kms mode, ssd, mkinitcpio.conf, systemd, crypttab and mdadm.conf
  • Configuration of basic system files
  • Setting root password
  • grub(2) (BIOS and UEFI), refind-efi, systemd-boot, syslinux (BIOS and UEFI) bootloader support

FAQ, Known Issues and limitations

  • Release specific known issues and workarounds are posted in changelog files.
  • Check also the forum threads for posted fixes and workarounds.
  • Why screen stays blank or other weird screen issues happen?
Some hardware doesn't like the KMS activation, use radeon.modeset=0, i915.modeset=0 or nouveau.modeset=0 on boot prompt.
  • dmraid/fakeraid might be broken on some boards, support is not perfect here.
The reason is there are so many different hardware components out there. At the moment 1.0.0rc16 is included, with latest fedora patchset, development has been stopped.
mdadm supports some isw and ddf fakeraid chipsets, but assembling during boot is deactivated in /etc/mdadm.conf!
  • grub2 cannot detect correct bios boot order:
It may happen that hd(x,x) entries are not correct, thus first reboot may not work.
Reason: grub cannot detect bios boot order.
Fix: Either change bios boot order or change menu.lst to correct entries after successful boot. This cannot be fixed it is a restriction in grub2!
  • Why is parted used in setup routine, instead of cfdisk in msdos partitiontable mode?
parted is the only linux partition program that can handle all type of things the setup routine offers.
cfdisk cannot handle GPT/GUID nor it can allign partitions correct with 1MB spaces for 4k sector disks.
cfdisk is a nice tool but is too limited to be the standard partitioner anymore.
cfdisk is still included but has to be run in another terminal.

History

History of old releases can be found here.

Bugs

Arch Linux Bugtracker

Archboot BETA ISO Release

  • Hybrid image file is provided, which only supports network installation.
  • Please read the according Changelog files for RAM limitations.
  • Please check md5sum before using it.
  • No beta ISO available at the moment.

Links

Howto: Create image files

(Quick regeneration of installation media with latest available core packages)

Requirements

  • x86_64 architecture
  • ~ 3GB free space on disk

Create archboot chroots

  • Install archboot:
# mkdir -p x86_64_chroot/var/lib/pacman
# pacman --root "x86_64_chroot" -Sy base --noconfirm --noprogressbar
  • Enter archboot x86_64 container:
# systemd-nspawn --capability=CAP_MKNOD --register=no -M $(uname -m) -D x86_64_chroot


Install archboot and update to latest packages

Install archboot in chroot and update to latest available packages.

Generate images

# run in both chroots (needs quite some time ...)
archboot-allinone.sh -t
# put the generated tarballs in one directory and run (needs quite some time ...)
archboot-allinone.sh -g
  • Finished you get a bunch of images.