Commit 2d4701ab authored by Gerardo Exequiel Pozzi's avatar Gerardo Exequiel Pozzi
Browse files

[archiso] README: add: Transfer ISO file to target medium


Signed-off-by: default avatarGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
parent c816a33d
......@@ -10,6 +10,12 @@ INDEX
* hooks/archiso_loop_mnt
* Boot parameters (only for configs/releng)
* etc/rc.conf
* Transfer ISO file to target medium (configs/releng)
* To -> CD / DVD / BD
* To -> USB-key / SD / HDD / SSD
* PC-BIOS (MBR)
* PC-BIOS (ISOHYBRID-MBR)
* PC-EFI (GPT) [x86_64 only]
* Build requirements
* Image types generated by mkarchiso.
* File format for aitab.
......@@ -147,6 +153,126 @@ if nothing is specified on command line.
*** Transfer ISO image to target medium (configs/releng)
ISO images names consist of: archlinux-<YYYY>.<MM>.<DD>-<TYPE>-<ARCH>.iso
Where:
<YYYY> Year
<MM> Month
<DD> Day
<TYPE> netinstall | core
<ARCH> i686 | x86_64 | dual(*)
(*) "dual" includes both i686 and x86_64 architectures.
** To -> CD / DVD / BD
Note: All ISO images are booteable on a PC-BIOS via "El Torito" in no-emulation mode,
All x86_64 ISO images are booteable on a PC-EFI via "El Torito" in no-emulation mode.
Nomeclature:
<B> scsibus number
<T> target number
<L> lun number
(Note: see cdrecord -scanbus, for these numbers)
1) Write it directly using your favorite recording program.
# cdrecord dev=<B>,<T>,<L> -dao archlinux-<YYYY>.<MM>.<DD>-<TYPE>-<ARCH>.iso
** To -> USB Flash Drive (USB-key) / Memory card (SD) /
Hard-Disk Drive (HDD) / Solid-State Drive (SSD)
Note: These steps are the general workflow, you can skip some of them,
using another filesystem if your bootloader supports it,
installing to another directory than "arch/" or using more than
one partition. Just ensure that main boot params options
(archisolabel= and archisobasedir=) are set correctly according to your setup.
Nomeclature:
<DEV-TARGET>: Device node of the drive where ISO contents should be copied
(example: /dev/sdx)
<DEV-TARGET-N>: Device node of the partition on <DEV-TARGET>
(example: /dev/sdx1)
<MNT-TARGET-N>: Mount point path where <DEV-TARGET-N> is mounted
(example: /mnt/sdx/1)
<ISO-SOURCE>: Path to the ISO file archlinux-<YYYY>.<MM>.<DD>-<TYPE>-<ARCH>.iso
(example: ~/archlinux-2012.04.16-netinstall-x86_64.iso)
<FS-LABEL>: Represents the filesystem label of the <ISO-SOURCE>
(example: ARCH_201204 [for all ~/archlinux-2012.04.*.iso])
* PC-BIOS (MBR):
Note: Using here a MBR partition mode as example, but GPT should also works
if machine firmware is not broken.
Just ensure that partition is set with attribute "2: legacy BIOS bootable"
and use gptmbr.bin instead of mbr.bin for syslinux.
1) Create one partition entry in MBR (of type "b" for FAT32 or "83" for EXTFS)
and mark it as "active" (bootable).
# fdisk <DEV-TARGET>
2) Create a FAT32 or EXTFS filesystem on such partition and setup a label.
# mkfs.vfat -F 32 -n <FS-LABEL> <DEV-TARGET-N>
# mkfs.ext4 -L <FS-LABEL> <DEV-TARGET-N>
3) Mount target filesystem.
# mount <DEV-TARGET-N> <MNT-TARGET-N>
4) Extract ISO image on target filesystem.
# bsdtar -x --exclude=isolinux/ --exclude=EFI/ -f <ISO-SOURCE> -C <MNT-TARGET-N>
5) Install syslinux bootloader on target filesystem.
# extlinux -i <MNT-TARGET-N>/arch/boot/syslinux
6) Unmount target filesystem.
# umount <MNT-TARGET-N>
7) Install syslinux MBR boot code on target drive.
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr.bin of=<DEV-TARGET>
* PC-BIOS (ISOHYBRID-MBR):
Note: This method is the most easily, quick and dirty, but is the most limited
if you want to use your target medium for other purposes.
1) Dump ISO file to target medium.
# dd if=<ISO-SOURCE> of=<DEV-TARGET>
* PC-EFI (GPT) [x86_64 only]
Note: Using here a GPT partition mode as example, but MBR should also works
if machine firmware is not broken.
1) Create one partition entry in GPT (of type "ef00")
# gdisk <DEV-TARGET>
2) Create a FAT32 filesystem on such partition and setup a label.
# mkfs.vfat -F 32 -n <FS-LABEL> <DEV-TARGET-N>
3) Mount target filesystem.
# mount <DEV-TARGET-N> <MNT-TARGET-N>
4) Extract ISO image on target filesystem.
# bsdtar -x --exclude=isolinux/ --exclude=arch/boot/syslinux/ -f <ISO-SOURCE> -C <MNT-TARGET-N>
5) Extract efiboot.img on EFI/ on target filesystem.
# mcopy -s -i <MNT-TARGET-N>/EFI/archiso/efiboot.img ::/EFI <MNT-TARGET-N>/
6) Remove uneeded efiboot.img
# rm <MNT-TARGET-N>/EFI/archiso/efiboot.img
7) Unmount target filesystem.
# umount <MNT-TARGET-N>
*** Build requirements
** For mkarchiso script needs these packages (build host):
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment