Difference between revisions of "Archboot"

From ArchWiki
Jump to navigation Jump to search
(Archboot Releases)
Line 14: Line 14:
* Please read the according Changelog files for RAM limitations.
* Please read the according Changelog files for RAM limitations.
* Please check md5sum before using it.
* Please check md5sum before using it.
* [https://downloads.archlinux.de/iso/archboot/2012.04 Download 2012.04 „2k12-R2“] / [https://downloads.archlinux.de/iso/archboot/2012.04/boot Download /boot (PXE/Rescue files)] / [ftp://ftp.archlinux.org/iso/archboot/Changelog-2012.04-1.txt Changelog] / [https://bbs.archlinux.org/viewtopic.php?id=140271 Forum thread]
* [https://downloads.archlinux.de/iso/archboot/2012.06 Download 2012.04 „2k12-R2“] / [https://downloads.archlinux.de/iso/archboot/2012.06/boot Download /boot (PXE/Rescue files)] / [ftp://ftp.archlinux.org/iso/archboot/Changelog-2012.06-1.txt Changelog] / [https://bbs.archlinux.org/viewtopic.php?id=140271 Forum thread]
2012.04 „2k12-R2“
2012.06 „2k12-R3“
* Bugfixes and uefi updates
* Bugfixes and uefi updates
* kernel 3.3.3 / LTS kernel 3.0.29
* kernel 3.4.3 / LTS kernel 3.0.34
* pacman 4.0.3 usage
* pacman 4.0.3 usage
* RAM recommendations: 768 MB
* RAM recommendations: 768 MB
====Kernel changes====
====Kernel changes====
* bump to latest 3.3.x series and bump lts to latest 3.0.x series
* bump to latest 3.4.x series and bump lts to latest 3.0.x series
====Environment changes====
====Environment changes====
* synced with latest mkinitcpio changes
* synced with latest mkinitcpio changes

Revision as of 05:54, 18 June 2012


What is Archboot?

  • Archboot is a set of scripts to generate bootable media for CD/USB/PXE.
  • It is 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.
pacman -S archboot

Archboot Releases


2012.06 „2k12-R3“

  • Bugfixes and uefi updates


  • kernel 3.4.3 / LTS kernel 3.0.34
  • pacman 4.0.3 usage
  • RAM recommendations: 768 MB

Kernel changes

  • bump to latest 3.4.x series and bump lts to latest 3.0.x series

Environment changes

  • synced with latest mkinitcpio changes
  • fixed binary moving to new location in /usr
  • added rEFInd boot manager support

Removed features

  • floppy

setup changes

  • many grub2 fixes and grub2 cleanup
  • added rEFInd support

hwdetect changes

  • fixed to work with latest userspace

quickinst changes

  • None

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 the the needed files from the /boot directory PXE/rescue files.

  • vmlinuz_i686 + initramfs_i686.img (i686)
  • vmlinuz_x86_64 + initramfs_x86_64.img(x86_64)
  • vmlinuz_i686_lts + initramfs_i686.img (i686 LTS kernel)
  • vmlinuz_x86_64_lts + initramfs_x86_64.img (x86_64 LTS kernel)
  • 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 a entry to your bootloader pointing to the kernel and initrd.


History of old releases can be found here.

The difference to the official install media (latest version)

  • It runs a modified Arch Linux system in initramfs.
  • It is restricted to RAM usage, everything which is not necessary like man pages etc. is not provided.
  • It supports (u)efi booting via grub2 2.0beta4.
  • LTS kernel boot images are provided
  • It does not mount anything during boot process.
  • It uses a different setup script.

Setup features (latest version)

  • CD/USB/OTHER and FTP/HTTP installation mode
  • Changing keymap and consolefont
  • Changing time and date
  • Preparing harddisk, 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,lvm2 and encrypted devices
  • Filesystem support: ext2/3/4, btrfs, nilfs2, reiserfs,xfs,jfs,ntfs-3g,vfat
  • Package selection support
  • Autoaddition of usefull packages, like ntfs-3g, dhclient etc.
  • LTS kernel support
  • Auto/Preconfiguration of fstab, mkinitcpio.conf, rc.conf, crypttab and mdadm.conf
  • Auto/Preconfiguration of KMS/framebuffers
  • Configuration of basic system files
  • Setting root password
  • grub, grub2, lilo, extlinux/syslinux, grub2-uefi, rEFInd bootloader support


General boot parameters

  • earlymodules
load modules before hooks are executed
  • disablehooks
disable a hook which is run during bootup
  • root
Using this option will boot you into your specified existing system.
  • rootflags
Using this option will pass special mount options for your root device
  • lvmwait=
Using parameter followed by a comma-separated list of device names can be given on the command line.
It will cause the hook to wait until all given devices exist before trying to scan and activate any volume groups.
  • advanced
This will override advanced hooks running order for your system.
Default order is arch_mdadm,arch_lvm2,arch_encrypt
Advanced hooks are: arch_mdadm,arch_lvm2,arch_encrypt
  • ide-legacy
This will turn on the old IDE subsystem. This is only needed, if your system does not support the new PATA subsystem.
only valid parameter on LTS kernel images
  • arch-addons
You want to load external addon packages or configs into the install environment.
Place external addon packages in /packages directory of your external device.
Place external configs in /config directory of your external device.

Video and framebuffer options

  • uvesafb
enables uvesafb mode during boot and activates setup routine to use it later on installed system.
you need to specify your supported resolution eg.:
  • fbmodule
Loads the fb module you specify durin boot process and activates setup routine to use it later on installed system.
Use it like this fbmodule=<yourmodule>, e.g. fbmodule=cirrusfb

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 are /etc/modprobe.d/sound_persistent.conf and /etc/udev/rules.d/network_persistent.rules created?
These 2 files ensure persistent ordering of network and soundcards, else it might happen that the order changes during every boot.
  • dmraid 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.
  • grub/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 grub/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 an other terminal.


Arch Linux Bugtracker


Restore Usbstick

Take care about which device actually is your USB stick. The next command will render all data on /dev/sdX inaccessible.

  • First, wipe the bootsector of the USB stick:
dd if=/dev/zero of=/dev/sdX bs=512 count=1
  • Then, create a new FAT32 partition on the stick and write a FAT32 filesystem on it (vfat or type b in fdisk terminology):
fdisk /dev/sdX <<EOF


mkdosfs -F32 /dev/sdX1

Create image files

Archboot Allinone ISO Howto

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


  • x86_64 architecture
  • archboot ISO
  • ~ 3GB free space on disk

Create archboot chroots

# install archboot
pacman -S archboot
# mount recent archboot image file as loop device
mount -o loop <imagefile> <imagepath>
# create x86_64 chroot
mkdir <x86_64_chroot>
/usr/share/archboot/installer/quickinst media <x86_64_chroot> <imagepath>/core-x86_64/pkg
# create i686 chroot
mkdir <i686_chroot>
linux32 /usr/share/archboot/installer/quickinst media <i686_chroot> <imagepath>/core-i686/pkg
# unmount iso file
umount <imagepath>
  • Mount and copy the following files to each chroot:
mount -o bind /dev <chrootpath>/dev
mount -o bind /tmp <chrootpath>/tmp
mount -o bind /sys <chrootpath>/sys
mount -o bind /proc <chrootpath>/proc
cp -a /etc/mtab <chrootpath>/etc/mtab
cp /etc/resolv.conf  <chrootpath>/etc/resolv.conf
  • Enter archboot x86_64 chroot:
chroot <chrootpath>
  • Enter archboot i686 chroot:
linux32 chroot <chrootpath>

Install archboot and update to latest packages

# install in both chroots archboot:
pacman -S archboot
# update in both chroots to latest available packages
pacman -Syu

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 burnable iso image, a rawwrite usb image and a hybrid image which is both in one.
  • Do not forget to unmount for each chroot after leaving:
umount <chrootpath>/dev
umount <chrootpath>/tmp
umount <chrootpath>/sys
umount <chrootpath>/proc

Have fun! tpowa (Archboot Developer)