Difference between revisions of "Archboot (简体中文)"
(→Burning 发布) |
|||
(11 intermediate revisions by 4 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 (简体中文)]] | ||
− | {{ | + | [[ar:Archboot]] |
− | + | [[en:Archboot]] | |
+ | {{TranslationStatus (简体中文)|Archboot|2012-10-18|229273}} | ||
==Archboot是什么?== | ==Archboot是什么?== | ||
* Archboot是一组启动CD/USB/PXE等启动介质的脚本。 | * Archboot是一组启动CD/USB/PXE等启动介质的脚本。 | ||
Line 9: | Line 10: | ||
* 它不依赖于任何文件系统,只能运行在内存中,因此需要你有足够的内存。 | * 它不依赖于任何文件系统,只能运行在内存中,因此需要你有足够的内存。 | ||
{{bc|pacman -S archboot}} | {{bc|pacman -S archboot}} | ||
+ | |||
==Archboot的发布== | ==Archboot的发布== | ||
− | * | + | * 提供ISO镜像文件和BT种子,并且包含i686和x86_64的core库。 |
− | |||
− | |||
* 请阅读变更记录文件(Changelog)来确认对内存的需求。 | * 请阅读变更记录文件(Changelog)来确认对内存的需求。 | ||
* 使用前请检查md5sum。 | * 使用前请检查md5sum。 | ||
− | * [https://downloads.archlinux.de/iso/archboot/2012. | + | * [https://downloads.archlinux.de/iso/archboot/2012.10 Download 2012.10 „2k12-R4“] / [ftp://ftp.archlinux.org/iso/archboot/Changelog-2012.10-1.txt 修改日志] / [https://bbs.archlinux.org/viewtopic.php?id=150833 论坛] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | + | ===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). | ||
===烧录发布=== | ===烧录发布=== | ||
Line 57: | Line 35: | ||
===PXE 启动 / 恢复系统=== | ===PXE 启动 / 恢复系统=== | ||
− | + | [https://downloads.archlinux.de/iso/archboot/2012.10/boot Download 2012.10 „2k12-R4“]需要的文件: | |
− | * | + | * 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. | * For Rescue booting add a 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 | ||
+ | |||
===历史=== | ===历史=== | ||
发布历史可以从 [ftp://ftp.archlinux.org/iso/archboot/history 这里] 找到. | 发布历史可以从 [ftp://ftp.archlinux.org/iso/archboot/history 这里] 找到. | ||
− | ===与正式发布的区别 | + | |
+ | ===与正式发布的区别=== | ||
+ | * 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 | + | : man or info pages etc. is not provided. |
− | + | * It doesn't mount anything during boot process. | |
− | |||
− | |||
− | ===设置特性 | + | ===设置特性=== |
− | * | + | * Media and Network installation mode |
* Changing keymap and consolefont | * Changing keymap and consolefont | ||
* Changing time and date | * Changing time and date | ||
− | * Preparing | + | * 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 | ||
− | * | + | * Signed package installation |
− | * | + | * 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 |
− | |||
* Configuration of basic system files | * Configuration of basic system files | ||
* Setting root password | * Setting root password | ||
− | * grub, | + | * grub-bios, grub-efi-x86_64, grub-efi-i386, refind-efi-x86_64, gummiboot, efilinux-efi, lilo, extlinux/syslinux, bootloader support |
===启动参数=== | ===启动参数=== | ||
− | ==== | + | ====通用启动参数==== |
* earlymodules | * earlymodules | ||
: load modules before hooks are executed | : load modules before hooks are executed | ||
Line 146: | Line 191: | ||
* 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. | ||
− | * | + | * 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. | ||
Line 159: | Line 206: | ||
:: 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 参考=== | ||
+ | * [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=== | ||
− | [ | + | [https://bugs.archlinux.org Arch Linux Bugtracker] |
==链接== | ==链接== | ||
− | * [ | + | * [https://projects.archlinux.org/archboot.git/ GIT repository] |
==Usbstick 恢复== | ==Usbstick 恢复== | ||
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. | ||
Line 185: | Line 236: | ||
mkdosfs -F32 /dev/sdX1 | mkdosfs -F32 /dev/sdX1 | ||
}} | }} | ||
− | |||
==建立镜像文件== | ==建立镜像文件== |
Revision as of 19:30, 3 June 2013
Contents
Archboot是什么?
- Archboot是一组启动CD/USB/PXE等启动介质的脚本。
- 它用来安装或者恢复系统。
- 它不依赖于任何文件系统,只能运行在内存中,因此需要你有足够的内存。
pacman -S archboot
Archboot的发布
- 提供ISO镜像文件和BT种子,并且包含i686和x86_64的core库。
- 请阅读变更记录文件(Changelog)来确认对内存的需求。
- 使用前请检查md5sum。
- Download 2012.10 „2k12-R4“ / 修改日志 / 论坛
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).
烧录发布
Hybrid镜像是一个CD和硬盘镜像。
- 可以用来刻录CD(RW)光盘.
- 可以使用'dd' 或者 similar 工具写入磁盘介质. 这种方法也可用用来制作USB盘。
'dd if=<imagefile> of=/dev/<yourdevice> bs=1M'
PXE 启动 / 恢复系统
Download 2012.10 „2k12-R4“需要的文件:
- 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.
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
历史
发布历史可以从 这里 找到.
与正式发布的区别
- 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.
设置特性
- 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
启动参数
通用启动参数
- 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.
视频和framebuffer 选项
- 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
问题, 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 参考
Bugs
链接
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
建立镜像文件
如何建立Archboot Allinone ISO
(Quick regeneration of installation media with latest available core packages)
前提条件
- x86_64环境
- archboot的iso
- 3G以上的硬盘空间
建立archboot chroots
# 安装 archboot pacman -S archboot # 以loop设备挂载archboot镜像文件 mount -o loop <imagefile> <imagepath> # 建立 x86_64 chroot mkdir <x86_64_chroot> /usr/share/archboot/installer/quickinst media <x86_64_chroot> <imagepath>/core-x86_64/pkg # 建立 i686 chroot mkdir <i686_chroot> linux32 /usr/share/archboot/installer/quickinst media <i686_chroot> <imagepath>/core-i686/pkg # 卸载光盘镜像文件 umount <imagepath>
- 挂载并复制文件到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
- 进入 archboot x86_64 chroot:
chroot <chrootpath>
- 进入 archboot i686 chroot:
linux32 chroot <chrootpath>
安装和更新archboo
# 安装 in both chroots archboot: pacman -S archboot # 更新 in both chroots to latest available packages pacman -Syu
生成镜像
# 运行 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.
- 在离开chroot时记得卸载它们:
umount <chrootpath>/dev umount <chrootpath>/tmp umount <chrootpath>/sys umount <chrootpath>/proc
Have fun! tpowa (Archboot Developer)