Difference between revisions of "Archboot"

From ArchWiki
Jump to: navigation, search
(Archboot Releases)
(What are the supported boot modes of Archboot media)
(43 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:System recovery (English)]]
+
[[Category:System recovery]]
[[Category:Getting and installing Arch (English)]]
+
[[Category:Getting and installing Arch]]
[[Category:Live Arch systems (English)]]
+
[[Category:Live Arch systems]]
 +
[[zh-CN:Archboot]]
 
==What is Archboot?==
 
==What is Archboot?==
 
* Archboot is a set of scripts to generate bootable media for CD/USB/PXE.
 
* Archboot is a set of scripts to generate bootable media for CD/USB/PXE.
 
* It is designed for installation or rescue operation.
 
* 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.
 
* It only runs in RAM, without any special filesystems like squashfs, thus it is limited to the RAM which is installed in your system.
<pre>pacman -S archboot</pre>
+
{{bc|pacman -S archboot}}
==Archboot Releases==
+
==Archboot ISO Releases==
* Those files are no official Arch Linux releases.
+
* Hybrid image files and torrents are provided, which include i686 and/or x86_64 core repository.  
* Use them on your own risk.
+
* Hybrid image file and torrent is provided, which include i686 and x86_64 core repository.  
+
 
* 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/2011.11 Download 2011.11 „2k11-R7“] / [https://downloads.archlinux.de/iso/archboot/2011.11/boot Download /boot (PXE/Rescue files)] / [ftp://ftp.archlinux.org/iso/archboot/Changelog-2011.11-1.txt Changelog] / [https://bbs.archlinux.org/viewtopic.php?id=130747 Forum thread]
+
* [https://downloads.archlinux.de/iso/archboot/2012.10 Download 2012.10 „2k12-R4“] / [ftp://ftp.archlinux.org/iso/archboot/Changelog-2012.10-1.txt Changelog] / [https://bbs.archlinux.org/viewtopic.php?id=150833 Forum thread]
 +
===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.
 +
{{bc|1='dd if=<imagefile> of=/dev/<yourdevice> bs=1M'}}
 +
===Supported boot modes of Archboot media===
 +
* It supports BIOS booting with syslinux.
 +
* It supports UEFI booting with gummiboot and EFISTUB,
 +
: for booting LTS kernels with efilinux-efi .
 +
:  (only UEFI USB is supported, UEFI CD booting is not supported!)
 +
* It supports grub's iso loopback support.
 +
: variables used (below for example):
 +
: iso_loop_dev=UUID=XXXX
 +
: iso_loop_path=/blah/archboot.iso
 +
* It supports booting using syslinux's memdisk (only in BIOS mode).
 +
 
 +
===PXE booting / Rescue system===
 +
[https://downloads.archlinux.de/iso/archboot/2012.10/boot Download 2012.10 „2k12-R4“] needed files from the directory.
 +
* 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 an entry to your bootloader pointing to the kernel and initrd.
 +
 
 
===News===
 
===News===
2011.10 „2k11-R7“
+
2012.10 „2k12-R4“
* Plain bugfix release.
+
* major update/cleanup on all components
 
====General====
 
====General====
* kernel 3.1.1 / LTS kernel 2.6.32.48
+
* kernel 3.6.2 / LTS kernel 3.0.46
* pacman 3.5.4 usage
+
* pacman 4.0.3 usage
* RAM recommendations: 320 MB
+
* RAM recommendations: 768 MB
 
====Kernel changes====
 
====Kernel changes====
* bump to latest 3.1 series and bump lts to latest .32 series
+
* bump to latest 3.6.x series and bump lts to latest 3.0.x series
 
====Environment changes====
 
====Environment changes====
* updated pacman mirrorlist
+
* changed UEFI booting on USB media to use gummiboot with EFISTUB,
* added efivars kernel module
+
: for booting LTS kernels in UEFI use efilinux-efi
* added real kernel version names to bootmessage
+
* Removal of UEFI CD booting support (only UEFI USB is supported)
====Removed features====
+
* added grub's iso loopback support
* ide-blacklist hook for 3.1 series
+
: (below for example):
 +
: iso_loop_dev=UUID=XXXX
 +
: iso_loop_path=/blah/archboot.iso
 +
* added memdisk boot support (only in BIOS mode)
 +
* change to zsh as default shell
 +
* change to systemd live environment
 +
* replace binaries with corresponding symlinks, saves 40MB RAM
 +
* synced with latest mkinitcpio changes
 +
* replaced cpufreq with cpupower
 +
* generate enough entropy for pacman with haveged during boot
 +
* login with agetty autologin
 +
* added arch-install-scripts, arch-wiki-lite, gpg-agent, grub(2), xl2tpd,
 +
: usb_modeswitch, wvdial, amd and intel ucode,
 +
: refind-efi, efilinux-efi and gummiboot-efi to live environment
 +
* updated mirrorlist
 +
* added memdisk support
 +
* removed grub legacy
 +
* removed rtc hook
 +
 
 
====setup changes====
 
====setup changes====
* fixed manual mounting of install media
+
* HIGHLIGHT:
* load efivars module for grub2 uefi support
+
: new network setup with netcfg
* fix GPT detection on bootloader menu
+
:  now supports wifi and lan setup
====hwdetect changes====
+
* added checkspace before install packages
* None
+
* use new crypttab syntax
 +
* added 1MB gap on autoprepare between partitions,
 +
: to avoid mdadm issues
 +
* added grub loopback and memdisk mount support
 +
* added refind-efi, gummiboot-efi and efilinux-efi support
 +
* fixed unmounting of partitions on deeper locations
 +
* fixed check on virtio media
 +
* update to new config file layout
 +
: in order to respect the rc.conf cleanup
 +
* hide kernel messages during mounting
 +
* hide parted errors during checks
 +
* added PARTUUID and PARTLABEL support
 +
* added option to copy pacman entropy to installed system
 +
* added initscripts/systemd switch (default: systemd installation)
 +
* more systemd fixes
 +
* removed grub legacy
 +
* fix permission on /sys and /proc during installation
 +
 
 
====quickinst changes====
 
====quickinst changes====
* None
+
* remove bootloader information
 +
* added checkspace before install packages
 +
* added initscripts/systemd switch (default: systemd installation)
 +
* fix permission on /sys and /proc during installation
  
===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.
 
<pre>'dd if=<imagefile> of=/dev/<yourdevice> bs=1M'</pre>
 
===PXE booting / Rescue system===
 
Download the the needed files from the /boot directory PXE/rescue files.
 
* vmlinuz + initrd.img (i686)
 
* vm64 + initrd64.img (x86_64)
 
* vmlts + initrd.img (i686 LTS kernel)
 
* vm64lts + initrd64.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===
 
===History===
 
History of old releases can be found [ftp://ftp.archlinux.org/iso/archboot/history here].
 
History of old releases can be found [ftp://ftp.archlinux.org/iso/archboot/history here].
===The difference to the official install media (latest version)===
+
===The difference to the archiso install media===
 +
* It provides an additional interactive setup and quickinst script.
 +
* It contains [core] repository on media.
 +
* It provides the long time support kernel as boot and installation option.
 
* It runs a modified Arch Linux system in initramfs.
 
* 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 is restricted to RAM usage, everything which is not necessary like
* It supports (u)efi booting via grub2 1.99.
+
: man or info pages etc. is not provided.
* LTS kernel boot images are provided
+
 
* It doesn't mount anything during boot process.
 
* It doesn't mount anything during boot process.
* It uses a different setup script.
 
  
===Setup features (latest version)===
+
===Interactive setup features===
* CD/USB/OTHER and FTP/HTTP installation mode
+
* Media and Network installation mode
 
* Changing keymap and consolefont
 
* Changing keymap and consolefont
 
* Changing time and date
 
* Changing time and date
* Preparing harddisk, like auto-prepare, partitioning, GUID (gpt) support, 4k sector drive support etc.
+
* Setup network with netcfg
 +
* 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
 
* Creation of software raid/raid partitions, lvm2 devices and luks encrypted devices
 
* Supports standard linux,raid/raid_partitions,dmraid,lvm2 and 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
 
* Filesystem support: ext2/3/4, btrfs, nilfs2, reiserfs,xfs,jfs,ntfs-3g,vfat
 +
* Name scheme support: PARTUUID, PARTLABEL, FSUUID, FSLABEL and KERNEL
 +
* Mount support of grub loopback and memdisk installation media
 
* Package selection support
 
* Package selection support
* Autoaddition of usefull packages, like ntfs-3g, dhclient etc.
+
* Signed package installation
* LTS kernel support
+
* hwdetect script is used for preconfiguration
* Auto/Preconfiguration of fstab, mkinitcpio.conf, rc.conf, crypttab and mdadm.conf
+
* Auto/Preconfiguration of framebuffer, uvesafb, kms mode, fstab, mkinitcpio.conf, rc.conf, systemd, crypttab and mdadm.conf
* Auto/Preconfiguration of KMS/framebuffers
+
 
* Configuration of basic system files
 
* Configuration of basic system files
 
* Setting root password
 
* Setting root password
* grub, grub2, lilo, extlinux/syslinux and grub2-uefi bootloader support
+
* grub-bios, grub-efi-x86_64, grub-efi-i386, refind-efi-x86_64, gummiboot, efilinux-efi, lilo, extlinux/syslinux, bootloader support
  
 
===Bootparameters===
 
===Bootparameters===
Line 113: Line 165:
 
: advanced=arch_encrypt,arch_mdadm
 
: advanced=arch_encrypt,arch_mdadm
 
* ide-legacy
 
* ide-legacy
: This will turn on the old IDE subsystem. This is only needed, if your system doesn't support the new PATA subsystem.
+
: 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
 
* arch-addons
 
: You want to load external addon packages or configs into the install environment.
 
: You want to load external addon packages or configs into the install environment.
Line 132: Line 185:
 
* Release specific known issues and workarounds are posted in changelog files.
 
* Release specific known issues and workarounds are posted in changelog files.
 
* Check also the forum threads for posted fixes and workarounds.
 
* 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 or i915.modeset=0 on boot prompt.
 
* Why are /etc/modprobe.d/sound_persistent.conf and /etc/udev/rules.d/network_persistent.rules created?
 
* 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.
 
:: 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.  
 
* 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.
 
:: 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:
+
* grub2 cannot detect correct bios boot order:
 
:: It may happen that hd(x,x) entries are not correct, thus first reboot may not work.  
 
:: It may happen that hd(x,x) entries are not correct, thus first reboot may not work.  
 
:: Reason: grub cannot detect bios boot order.  
 
:: 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's a restriction in grub/grub2!
+
:: 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?
 
* 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.
 
:: parted is the only linux partition program that can handle all type of things the setup routine offers.
Line 145: Line 200:
 
:: 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 an other terminal.
 +
 +
===UEFI hints===
 +
* [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Archboot Create UEFI bootable USB from ISO]
 +
* [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Archboot_2 Remove UEFI boot support from ISO]
  
 
===Bugs===
 
===Bugs===
Line 154: Line 213:
 
Take care about which device actually is your USB stick. The next command will render all data on /dev/sdX inaccessible.
 
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:
 
* First, wipe the bootsector of the USB stick:
<pre>
+
{{bc|1=
 
dd if=/dev/zero of=/dev/sdX bs=512 count=1
 
dd if=/dev/zero of=/dev/sdX bs=512 count=1
</pre>
+
}}
 
* Then, create a new FAT32 partition on the stick and write a FAT32 filesystem on it (vfat or type b in fdisk terminology):
 
* Then, create a new FAT32 partition on the stick and write a FAT32 filesystem on it (vfat or type b in fdisk terminology):
<pre>
+
{{bc|
 
fdisk /dev/sdX <<EOF
 
fdisk /dev/sdX <<EOF
 
n
 
n
 
p
 
p
 
1
 
1
 
  
 
t
 
t
Line 171: Line 229:
  
 
mkdosfs -F32 /dev/sdX1
 
mkdosfs -F32 /dev/sdX1
</pre>
+
}}
* [http://riksun.riken.go.jp/pub/pub/Linux/slackware/slackware-current/usb-and-pxe-installers/usb.txt Original Source]{{Linkrot|2011|09|20}}
+
  
 
==Create image files==
 
==Create image files==
Line 182: Line 239:
 
* ~ 3GB free space on disk
 
* ~ 3GB free space on disk
 
====Create archboot chroots====
 
====Create archboot chroots====
<pre>
+
{{bc|
 
# install archboot
 
# install archboot
 
pacman -S 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>
 
mkdir <x86_64_chroot>
/usr/share/archboot/installer/quickinst media <x86_64_chroot> <imagepath>/core-x86_64/pkg
+
pacman --root "<x86_64_chroot>" -Sg base --noconfirm --noprogressbar
# create i686 chroot
+
 
mkdir <i686_chroot>
 
mkdir <i686_chroot>
linux32 /usr/share/archboot/installer/quickinst media <i686_chroot> <imagepath>/core-i686/pkg
+
linux32 pacman --root "i686_chroot>" -Sg base --noconfirm --noprogressbar
# unmount iso file
+
}}
umount <imagepath>
+
</pre>
+
 
* Mount and copy the following files to each chroot:
 
* Mount and copy the following files to each chroot:
<pre>
+
{{bc|
 
mount -o bind /dev <chrootpath>/dev
 
mount -o bind /dev <chrootpath>/dev
 
mount -o bind /tmp <chrootpath>/tmp
 
mount -o bind /tmp <chrootpath>/tmp
Line 204: Line 255:
 
cp -a /etc/mtab <chrootpath>/etc/mtab
 
cp -a /etc/mtab <chrootpath>/etc/mtab
 
cp /etc/resolv.conf  <chrootpath>/etc/resolv.conf
 
cp /etc/resolv.conf  <chrootpath>/etc/resolv.conf
</pre>
+
}}
 
* Enter archboot x86_64 chroot:
 
* Enter archboot x86_64 chroot:
<pre>
+
{{bc|
 
chroot <chrootpath>
 
chroot <chrootpath>
</pre>
+
}}
 
* Enter archboot i686 chroot:
 
* Enter archboot i686 chroot:
<pre>
+
{{bc|
 
linux32 chroot <chrootpath>
 
linux32 chroot <chrootpath>
</pre>
+
}}
  
 
====Install archboot and update to latest packages====
 
====Install archboot and update to latest packages====
<pre>
+
{{bc|
 
# install in both chroots archboot:
 
# install in both chroots archboot:
 
pacman -S archboot
 
pacman -S archboot
 
# update in both chroots to latest available packages
 
# update in both chroots to latest available packages
 
pacman -Syu
 
pacman -Syu
</pre>
+
}}
  
 
====Generate images====
 
====Generate images====
<pre>
+
{{bc|
 
# run in both chroots (needs quite some time ...)
 
# run in both chroots (needs quite some time ...)
 
archboot-allinone.sh -t
 
archboot-allinone.sh -t
 
# put the generated tarballs in one directory and run (needs quite some time ...)
 
# put the generated tarballs in one directory and run (needs quite some time ...)
 
archboot-allinone.sh -g
 
archboot-allinone.sh -g
</pre>
+
}}
 
* Finished you get a burnable iso image, a rawwrite usb image and a hybrid image which is both in one.
 
* Finished you get a burnable iso image, a rawwrite usb image and a hybrid image which is both in one.
* Don't forget to unmount for each chroot after leaving:
+
* Do not forget to unmount for each chroot after leaving:
<pre>
+
{{bc|
 
umount <chrootpath>/dev
 
umount <chrootpath>/dev
 
umount <chrootpath>/tmp
 
umount <chrootpath>/tmp
 
umount <chrootpath>/sys
 
umount <chrootpath>/sys
 
umount <chrootpath>/proc
 
umount <chrootpath>/proc
</pre>
+
}}
  
 
Have fun!
 
Have fun!
 
tpowa
 
tpowa
 
(Archboot Developer)
 
(Archboot Developer)

Revision as of 15:21, 17 October 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 ISO Releases

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'

Supported boot modes of Archboot media

  • It supports BIOS booting with syslinux.
  • It supports UEFI booting with gummiboot and EFISTUB,
for booting LTS kernels with efilinux-efi .
(only UEFI USB is supported, UEFI CD booting is not supported!)
  • It supports grub's iso loopback support.
variables used (below for example):
iso_loop_dev=UUID=XXXX
iso_loop_path=/blah/archboot.iso
  • It supports booting using syslinux's memdisk (only in BIOS mode).

PXE booting / Rescue system

Download 2012.10 „2k12-R4“ needed files from the directory.

  • 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 an entry to your bootloader pointing to the kernel and initrd.

News

2012.10 „2k12-R4“

  • major update/cleanup on all components

General

  • kernel 3.6.2 / LTS kernel 3.0.46
  • pacman 4.0.3 usage
  • RAM recommendations: 768 MB

Kernel changes

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

Environment changes

  • changed UEFI booting on USB media to use gummiboot with EFISTUB,
for booting LTS kernels in UEFI use efilinux-efi
  • Removal of UEFI CD booting support (only UEFI USB is supported)
  • added grub's iso loopback support
(below for example):
iso_loop_dev=UUID=XXXX
iso_loop_path=/blah/archboot.iso
  • added memdisk boot support (only in BIOS mode)
  • change to zsh as default shell
  • change to systemd live environment
  • replace binaries with corresponding symlinks, saves 40MB RAM
  • synced with latest mkinitcpio changes
  • replaced cpufreq with cpupower
  • generate enough entropy for pacman with haveged during boot
  • login with agetty autologin
  • added arch-install-scripts, arch-wiki-lite, gpg-agent, grub(2), xl2tpd,
usb_modeswitch, wvdial, amd and intel ucode,
refind-efi, efilinux-efi and gummiboot-efi to live environment
  • updated mirrorlist
  • added memdisk support
  • removed grub legacy
  • removed rtc hook

setup changes

  • HIGHLIGHT:
new network setup with netcfg
now supports wifi and lan setup
  • added checkspace before install packages
  • use new crypttab syntax
  • added 1MB gap on autoprepare between partitions,
to avoid mdadm issues
  • added grub loopback and memdisk mount support
  • added refind-efi, gummiboot-efi and efilinux-efi support
  • fixed unmounting of partitions on deeper locations
  • fixed check on virtio media
  • update to new config file layout
in order to respect the rc.conf cleanup
  • hide kernel messages during mounting
  • hide parted errors during checks
  • added PARTUUID and PARTLABEL support
  • added option to copy pacman entropy to installed system
  • added initscripts/systemd switch (default: systemd installation)
  • more systemd fixes
  • removed grub legacy
  • fix permission on /sys and /proc during installation

quickinst changes

  • remove bootloader information
  • added checkspace before install packages
  • added initscripts/systemd switch (default: systemd installation)
  • fix permission on /sys and /proc during installation

History

History of old releases can be found here.

The difference to the archiso install media

  • It provides an additional interactive setup and quickinst script.
  • It contains [core] repository on media.
  • It provides the long time support kernel as boot and installation option.
  • 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.

Interactive setup features

  • Media and Network installation mode
  • Changing keymap and consolefont
  • Changing time and date
  • Setup network with netcfg
  • 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,lvm2 and encrypted devices
  • Filesystem support: ext2/3/4, btrfs, nilfs2, reiserfs,xfs,jfs,ntfs-3g,vfat
  • Name scheme support: PARTUUID, PARTLABEL, FSUUID, FSLABEL and KERNEL
  • Mount support of grub loopback and memdisk installation media
  • Package selection support
  • Signed package installation
  • hwdetect script is used for preconfiguration
  • Auto/Preconfiguration of framebuffer, uvesafb, kms mode, fstab, mkinitcpio.conf, rc.conf, systemd, crypttab and mdadm.conf
  • Configuration of basic system files
  • Setting root password
  • grub-bios, grub-efi-x86_64, grub-efi-i386, refind-efi-x86_64, gummiboot, efilinux-efi, lilo, extlinux/syslinux, bootloader support

Bootparameters

General boot parameters

  • earlymodules
load modules before hooks are executed
Usage:
earlymodules=<comma-separated-array>
earlymodules=ahci,ehci-hcd
  • disablehooks
disable a hook which is run during bootup
Usage:
disablehooks=<comma-separated-array>
disablehooks=arch_floppy,arch_cdrom
  • root
Using this option will boot you into your specified existing system.
Usage:
root=/dev/<your-root-of-installed-system>
root=/dev/sda3
  • rootflags
Using this option will pass special mount options for your root device
Usage:
rootflags=<comma-separated-array>
rootflags=subvol=root,compress,ssd
  • 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.
Usage:
lvmwait=/dev/mapper/device1,/dev/mapper/device2
  • 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
Usage:
advanced=hook1,hook2,hook3
advanced=arch_encrypt,arch_mdadm
  • 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.:
uvesafb=<resolution>-<depth>
uvesafb=1024x768-16
  • 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 screen stays blank or other weird screen issues happen?
Some hardware doesn't like the KMS activation, use radeon.modeset=0 or i915.modeset=0 on boot prompt.
  • 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.
  • 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.

UEFI hints

Bugs

Arch Linux Bugtracker

Links

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
n
p
1

t
b
w
EOF

mkdosfs -F32 /dev/sdX1

Create image files

Archboot Allinone ISO Howto

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

Requirements

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

Create archboot chroots

# install archboot
pacman -S archboot
mkdir <x86_64_chroot>
pacman --root "<x86_64_chroot>" -Sg base --noconfirm --noprogressbar
mkdir <i686_chroot>
linux32 pacman --root "i686_chroot>" -Sg base --noconfirm --noprogressbar
  • 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)