[archiso] README update
* Added boot parameters. * Reorder and clarify build steps. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This commit is contained in:
parent
85d243ff58
commit
a7a100aabc
180
README
180
README
@ -1,6 +1,12 @@
|
||||
INDEX
|
||||
-----
|
||||
|
||||
* Boot parameters (initramfs stage)
|
||||
* hooks/archiso
|
||||
* hooks/archiso_pxe_nbd
|
||||
* hooks/archiso_loop_mnt
|
||||
* Boot parameters (only for configs/releng)
|
||||
* etc/rc.conf
|
||||
* Image types generated by mkarchiso.
|
||||
* File format for aitab.
|
||||
* Why the /isolinux and /arch/boot/syslinux directories?
|
||||
@ -9,6 +15,78 @@ INDEX
|
||||
|
||||
|
||||
|
||||
*** Boot parameters (initramfs stage)
|
||||
|
||||
** hooks/archiso
|
||||
|
||||
* archisolabel= Set the filesystem label where archiso files reside.
|
||||
Default: (unset)
|
||||
* archisodevice= Set the device node where archiso medium is located.
|
||||
Default: "/dev/disk/by-label/${archisolabel}"
|
||||
* archisobasedir= Set the base directory where all files reside.
|
||||
Default: "arch"
|
||||
* aitab= Set the path for "aitab" file.
|
||||
Default: ${archisobasedir}/aitab
|
||||
* copytoram= If set to "y" or just "copytoram" without arguments,
|
||||
all SquashFS are copied to "RAM".
|
||||
Default: (unset)
|
||||
* cowspace_size= Set the size of tmpfs /cowspace. This space is used for
|
||||
Copy-On-Write files of dm-snapshot.
|
||||
(directory not visible outside initramfs)
|
||||
Size is in bytes (suffix with "k", "m" and "g") or
|
||||
in percentage of available RAM.
|
||||
Default: "75%"
|
||||
* copytoram_size= Set the size of tmpfs /cowpytoram. This space is used for
|
||||
copy of all SquashFS images used, if copytoram=y.
|
||||
(directory not visible outside initramfs)
|
||||
Size is in bytes (suffix with "k", "m" and "g") or
|
||||
in percentage of available RAM.
|
||||
Default: "75%"
|
||||
* arch= Force an architecture type (i686 | x86_64).
|
||||
Do not set it for normal operations.
|
||||
Useful for running a 64 bit kernel / 32 bit userspace.
|
||||
Default: (architecture of running kernel)
|
||||
|
||||
|
||||
** hooks/archiso_pxe_nbd
|
||||
|
||||
* ip= This parameter is setup automatically by PXELINUX
|
||||
when option "IPAPPEND" is set to 1 or 2 in config.
|
||||
ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask>
|
||||
Default: (set via PXE server)
|
||||
* BOOTIF= This parameter is setup automatically by PXELINUX
|
||||
when option "IPAPPEND" is set to 2 or 3 in config.
|
||||
BOOTIF=<hardware-address-of-boot-interface>
|
||||
Default: (set via PXELINUX)
|
||||
|
||||
|
||||
** hooks/archiso_loop_mnt
|
||||
|
||||
* img_dev= Device where archiso-image.iso reside.
|
||||
Default: (unset)
|
||||
* img_loop= Full path where archiso-image.iso is located on ${img_dev}
|
||||
Default: (unset)
|
||||
|
||||
|
||||
|
||||
*** Boot parameters (only for configs/releng)
|
||||
|
||||
** /etc/rc.conf
|
||||
|
||||
By default these parameters are set by default to these values
|
||||
if nothing is specified on command line.
|
||||
|
||||
* locale= "en_US.UTF-8"
|
||||
* daemon_locale= "no"
|
||||
* hardwareclock= "UTC"
|
||||
* timezone= "Canada/Pacific"
|
||||
* keymap= "us"
|
||||
* consolefont= (unset)
|
||||
* consolemap= (unset)
|
||||
* usecolor= "yes"
|
||||
|
||||
|
||||
|
||||
*** Image types generated by mkarchiso.
|
||||
|
||||
* image-name.sfs SquashFS image with all files directly on it.
|
||||
@ -60,35 +138,34 @@ When make your custom boot-pendrive, you need to copy /arch directory to it.
|
||||
|
||||
*** Building the most basic Arch Linux live media. (configs/baseline)
|
||||
|
||||
* First install devtools if needed, mkarchroot needs it.
|
||||
[host] # pacman -S devtools
|
||||
* Install devtools if needed, mkarchroot needs it
|
||||
[host] # pacman -S devtools --needed
|
||||
|
||||
* Create a chroot to work on it.
|
||||
* Create a base chroot to work on it.
|
||||
(prefix with linux32 if you want to build a 32 bits enviroment under 64 bits)
|
||||
[host] # mkarchroot /tmp/chroot base
|
||||
|
||||
* Enter it. (prefix with linux32 if needed).
|
||||
* Install archiso on chroot (needs git and make)
|
||||
[host] # pacman -S git make --needed
|
||||
[host] # git clone git://projects.archlinux.org/archiso.git
|
||||
[host] # make -C archiso/archiso DESTDIR=/tmp/chroot install
|
||||
|
||||
* Enter to chroot (prefix with linux32 if needed).
|
||||
[host] # mkarchroot -r bash /tmp/chroot
|
||||
|
||||
* Create a loopback device.
|
||||
(mkarchiso does not create it, use other number if not available)
|
||||
(mkarchroot does not create it, use other number if not available)
|
||||
[chroot] # mknod /dev/loop0 b 7 0
|
||||
|
||||
* Setup a mirror.
|
||||
[chroot] # echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||
|
||||
* Install aditional packages needed for mkarchiso.
|
||||
(git is only needed to get a copy of archiso.git)
|
||||
[chroot] # pacman -S git squashfs-tools syslinux devtools cdrkit make
|
||||
|
||||
* Install archiso.
|
||||
[chroot] # cd /tmp
|
||||
[chroot] # git clone git://projects.archlinux.org/archiso.git
|
||||
[chroot] # cd archiso/archiso
|
||||
[chroot] # make install-program
|
||||
[chroot] # pacman -S devtools squashfs-tools syslinux cdrkit
|
||||
|
||||
* Build a basic iso.
|
||||
[chroot] # cd /tmp/archiso/configs/baseline
|
||||
[chroot] # cp -r /usr/share/archiso/configs/baseline /tmp
|
||||
[chroot] # cd /tmp/baseline
|
||||
[chroot] # ./build.sh
|
||||
|
||||
* Exit from chroot.
|
||||
@ -105,52 +182,51 @@ Note: These steps should be done with 64 bits support.
|
||||
|
||||
* Prepare a 32 bit chroot enviroment.
|
||||
|
||||
linux32 mkarchroot /tmp/chroot32 base
|
||||
linux32 mkarchroot -r bash /tmp/chroot32
|
||||
echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||
pacman -S squashfs-tools syslinux devtools cdrkit make mkinitcpio-nfs-utils nbd --noconfirm --needed
|
||||
exit
|
||||
[host64] # linux32 mkarchroot /tmp/chroot32 base
|
||||
[host64] # linux32 mkarchroot -r bash /tmp/chroot32
|
||||
[chroot32] # echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||
[chroot32] # pacman -S devtools squashfs-tools syslinux cdrkit mkinitcpio-nfs-utils nbd
|
||||
[chroot32] # exit
|
||||
|
||||
* Prepare a 64 bits chroot enviroment.
|
||||
|
||||
mkarchroot /tmp/chroot64 base
|
||||
mkarchroot -r bash /tmp/chroot64
|
||||
echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||
pacman -S squashfs-tools syslinux devtools cdrkit make mkinitcpio-nfs-utils nbd --noconfirm --needed
|
||||
exit
|
||||
[host64] # mkarchroot /tmp/chroot64 base
|
||||
[host64] # mkarchroot -r bash /tmp/chroot64
|
||||
[chroot64] # echo 'Server = MIRROR/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist
|
||||
[chroot64] # pacman -S devtools squashfs-tools syslinux cdrkit mkinitcpio-nfs-utils nbd
|
||||
[chroot64] # exit
|
||||
|
||||
* Create a shared directory which archiso can access from both chroot enviroments.
|
||||
* Install archiso on both chroots.
|
||||
|
||||
mkdir /tmp/shared
|
||||
cd /tmp/shared
|
||||
git clone git://github.com/djgera/archiso.git -b dm-snapshot
|
||||
cd
|
||||
mount --bind /tmp/shared /tmp/chroot32/tmp
|
||||
mount --bind /tmp/shared /tmp/chroot64/tmp
|
||||
[host64] # git clone git://projects.archlinux.org/archiso.git
|
||||
[host64] # make -C archiso/archiso DESTDIR=/tmp/chroot32 install
|
||||
[host64] # make -C archiso/archiso DESTDIR=/tmp/chroot64 install
|
||||
|
||||
* Enter 32 bits chroot enviroment, install mkarchiso,
|
||||
then build core and netinstall single images.
|
||||
* Create a shared /tmp directory between two chroots for working.
|
||||
|
||||
linux32 mkarchroot -r bash /tmp/chroot32
|
||||
mknod /dev/loop1032 b 7 1032
|
||||
cd /tmp/archiso/archiso
|
||||
make install-program
|
||||
cd ../configs/releng/
|
||||
./build.sh all_iso_single
|
||||
[host64] # mkdir /tmp/shared
|
||||
[host64] # chmod 1777 /tmp/shared
|
||||
[host64] # mount --bind /tmp/shared /tmp/chroot32/tmp
|
||||
[host64] # mount --bind /tmp/shared /tmp/chroot64/tmp
|
||||
|
||||
* Enter 64 bits chroot enviroment, install mkarchiso,
|
||||
then build core and netinstall single images.
|
||||
* Enter 32 bits chroot enviroment then build core and netinstall single images.
|
||||
|
||||
mkarchroot -r bash /tmp/chroot64
|
||||
mknod /dev/loop1064 b 7 1064
|
||||
cd /tmp/archiso/archiso
|
||||
make install-program
|
||||
cd ../configs/releng/
|
||||
./build.sh all_iso_single
|
||||
[chroot32] # linux32 mkarchroot -r bash /tmp/chroot32
|
||||
[chroot32] # mknod /dev/loop1032 b 7 1032 #assumed loop.max_part=0 (by default)
|
||||
[chroot32] # cp -r /usr/share/archiso/configs/releng /tmp
|
||||
[chroot32] # cd /tmp/releng
|
||||
[chroot32] # ./build.sh all_iso_single
|
||||
|
||||
* Finally build core and netinstall dual images
|
||||
from any of the chroot enviroments. (The final result is the same).
|
||||
* Enter 64 bits chroot enviroment then build core and netinstall single images.
|
||||
|
||||
mkarchroot -r bash /tmp/chroot64
|
||||
cd /tmp/archiso/configs/releng/
|
||||
./build.sh all_iso_dual
|
||||
[chroot64] # mkarchroot -r bash /tmp/chroot64
|
||||
[chroot64] # mknod /dev/loop1064 b 7 1064 #assumed loop.max_part=0 (by default)
|
||||
[chroot64] # cp -r /usr/share/archiso/configs/releng /tmp
|
||||
[chroot64] # cd /tmp/releng
|
||||
[chroot64] # ./build.sh all_iso_single
|
||||
|
||||
* Build core and netinstall dual images from any of the chroot enviroments.
|
||||
|
||||
[host64] mkarchroot -r bash /tmp/chroot64
|
||||
[chroot64] # cd /tmp/releng
|
||||
[chroot64] # ./build.sh all_iso_dual
|
||||
|
Loading…
Reference in New Issue
Block a user