[arch-releng] Call for test: archiso with dm-snapshot
Hello all I want to know opinions about my recent work to archiso, since there are lots of changes. If someone can do some tests, they are very welcomed. Sugestions are very appreciated. Thanks :) TODO: details to current work and archiso2dual. https://github.com/djgera/archiso/tree/dm-snapshot (single commit) (sorry for the grammar, my english is poor) Some highlights: ----- First, aufs2 is not used anymore. The new approach is using device mapper with a snapshot feature, it has some advantages and disadvantages. Basically this is a filesystem image that is read-only associated to a loopback device and another file with an special format (copy on write[COW]) associated to another loopback device. From these two loop dev, a dev-mapper is created, that is writeable. ------ [images] There are three types of images: (*.sqfs renamed to a more standard *.sfs) a) *.sfs: Classic SquashFS compressed images. [no COW used] b) *.fs.sfs: SquashFS with only one file. This file is an image of some filesystem (ext4, ext3, ...). [COW is used] c) *.fs: A filesystem (ext4, ext3, ...) without compressing with SquashFS. Can be useful for doing some test... [COW is used] ------ [aitab] The "isomounts" file is now called "aitab", since a new format is used. #img mnt arch sfs_comp fs_type fs_size img = filename of the image _without_ the extension mnt = mount point of the image arch = architecture of the image (valid options: i686 | x86_64 | any) sfs_comp = SquashFS compression type of the image (valid options gzip | lzo | xz) or "none" if no SquashFS. fs_type = Filesystem of the image (valid options: ext4 | ext3 | ext2 | xfs) or "none" if no filesystem is used. COW mode is only if this is used. fs_size = Total size of the image (absolute value in MiB) or percent of amount of free space (aproximated) in the image (valid values from 1% to 99%). [Ignored if fs_type=none] Of course some options are invalid sfs_comp=none, fs_type=none -------- [initcpio] How archiso hook works now (resume): 1) mount boot device where all images reside 2) mount a tmpfs filesystem to store all cow images (/cowspace) 3) mount all images listed in "aitab" For *.sfs: * assing the image to a loop dev, and mount it. For *.fs.sfs: * assing the image to a loop dev, and mount it to /sfs/$image_name * assing the image inside (*.fs) to a loop dev (A) (ro) * create an empty and sparse file of the same size of the loop dev (A), in the /cowspace * assing that file to a loop dev (B) (rw) * create a dm-snapshot from both loop devs (A) and (B), and mount it to desired location For *.fs * Same as previous without the first step. Note: copytoram does not work with *.fs images (TODO low priority). ------ While in the union mount approach, if "tmpfs" (rw_branch) is full a ENOSPC is reported, and nothing more. In this case, if in the device where the "cow" file reside is full, and you write to the dev-mapper, the system will crash, no ENOSPC is reported. OK? ------- [mkarchiso] NOTE: need an available loop device. (warning when run on chroot created by mkarchroot, since it does not create any loopback device node) * set -e -u * _msg_info and _msg_error functions _show_config => better (more clear) info / error messages :) * Some command line options remove since become obsolete (squashfs compression type, home dir, force) * New command "prepare", make all needed images (except iso). * Filesystem (*.fs) are created with space used plus 10% more (take care (aproximated for most cases) of metadata). * All directories (future images) listed on aitab should exists (aitab is parsed instead of using find) ----------- [configs/releng] (was syslinux-iso) * The build now uses a bash script instead of Makefile, we can take a better control of the build process. * There is no more "overlay" concept like with union mounts, all changes now are merged at build time in root-image. * directory scheme is more "dual-iso" friendly.. * Warning: Do not build net_iso after core_iso! (TODO stop with error) * download-repo.sh discarded, this process is now done in the same build.sh script (can exclude packages listed on a file) * core-pkgs.sfs (mounted at /repo/pkg): core.db + core_$arch_packages + core_any_symlinks (relative ../any/ ) * core-any-pkgs.sfs (mounted at /repo/any): core_any_pkgs * Warning: neither /repo/pkg and /repo/any is writeable (previously /src/... was) * .iso sizes: 382M archlinux-2011.06.14-core-i686.iso 392M archlinux-2011.06.14-core-x86_64.iso 195M archlinux-2011.06.14-netinstall-i686.iso 200M archlinux-2011.06.14-netinstall-x86_64.iso * Directory scheme or core-iso. ??? arch ? ??? aitab ? ??? any ? ? ??? core-any-pkgs.sfs ? ? ??? usr-share.fs.sfs ? ??? boot ? ? ??? i686 ? ? ? ??? archiso.img ? ? ? ??? vmlinuz26 ? ? ??? memtest ? ? ??? memtest.COPYING ? ??? i686 ? ??? core-pkgs.sfs ? ??? lib-modules.fs.sfs ? ??? root-image.fs.sfs ??? syslinux ??? boot.cat ??? *.com ??? *.c32 ??? *.0 ??? hdt ? ??? modalias.gz ? ??? pciids.gz ??? isolinux.bin ??? memdisk ??? splash.png ??? syslinux.cfg ------------- [configs/baseline] * A minimal working profile as example, booteable, just to do tests or use as template for other projects, etc. 145M archlinux-2011.06.14-i686.iso ??? arch ? ??? aitab ? ??? boot ? ? ??? i686 ? ? ??? archiso.img ? ? ??? vmlinuz26 ? ??? i686 ? ??? root-image.fs.sfs ??? syslinux ??? boot.cat ??? isolinux.bin ??? menu.c32 ??? syslinux.cfg -------- Make releng images / how to build: pacman -S devtools --noconfirm --needed mkarchroot /tmp/pichicho base mkarchroot -r bash /tmp/pichicho echo 'Server = ftp://192.168.0.66/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist #your mirror! pacman -S make git squashfs-tools syslinux devtools cdrkit mkinitcpio-nfs-utils nbd --noconfirm --needed cd /tmp git clone git://github.com/djgera/archiso.git -b dm-snapshot cd archiso/archiso make install cd ../configs/releng/ ./build.sh all_iso #or net_iso | core_iso Enjoy! -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
On 06/14/2011 01:51 AM, Gerardo Exequiel Pozzi wrote:
Make releng images / how to build:
pacman -S devtools --noconfirm --needed mkarchroot /tmp/pichicho base mkarchroot -r bash /tmp/pichicho
mknod /dev/loop0 b 7 0 # or any available ;)
echo 'Server = ftp://192.168.0.66/archlinux/$repo/os/$arch' >> /etc/pacman.d/mirrorlist #your mirror! pacman -S make git squashfs-tools syslinux devtools cdrkit mkinitcpio-nfs-utils nbd --noconfirm --needed cd /tmp git clone git://github.com/djgera/archiso.git -b dm-snapshot cd archiso/archiso make install cd ../configs/releng/ ./build.sh all_iso #or net_iso | core_iso Enjoy!
-- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
Am 14.06.2011 06:51, schrieb Gerardo Exequiel Pozzi:
* Filesystem (*.fs) are created with space used plus 10% more (take care (aproximated for most cases) of metadata).
You could use a lot more than 10%, in case someone really wants to install things into the live system. To minimize the size of the file systems, you shouldn't install to them directly. Instead, you should install into a temporary directory, then cp -a the contents to the image (in case you don't do this already). This will probably save a few bytes.
On 06/14/2011 05:24 AM, Thomas Bächler wrote:
Am 14.06.2011 06:51, schrieb Gerardo Exequiel Pozzi:
* Filesystem (*.fs) are created with space used plus 10% more (take care (aproximated for most cases) of metadata). You could use a lot more than 10%, in case someone really wants to install things into the live system. Yes, read below, this is controlled via aitab.
spc_use + 10% + %specified by user in aitab.
To minimize the size of the file systems, you shouldn't install to them directly. Instead, you should install into a temporary directory, then cp -a the contents to the image (in case you don't do this already). This will probably save a few bytes.
Yes, this is how is done, and rsync is used ;) -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
Am 14.06.2011 17:06, schrieb Gerardo Exequiel Pozzi:
On 06/14/2011 05:24 AM, Thomas Bächler wrote:
Am 14.06.2011 06:51, schrieb Gerardo Exequiel Pozzi:
* Filesystem (*.fs) are created with space used plus 10% more (take care (aproximated for most cases) of metadata). You could use a lot more than 10%, in case someone really wants to install things into the live system. Yes, read below, this is controlled via aitab.
Nice.
spc_use + 10% + %specified by user in aitab.
To minimize the size of the file systems, you shouldn't install to them directly. Instead, you should install into a temporary directory, then cp -a the contents to the image (in case you don't do this already). This will probably save a few bytes.
Yes, this is how is done, and rsync is used ;)
And awesome.
Am 14.06.2011 06:51, schrieb Gerardo Exequiel Pozzi:
While in the union mount approach, if "tmpfs" (rw_branch) is full a ENOSPC is reported, and nothing more. In this case, if in the device where the "cow" file reside is full, and you write to the dev-mapper, the system will crash, no ENOSPC is reported. OK?
When a snapshot device becomes full, it "disappears". This means that reading and writing will fail (probably with EACCESS). As reading fails, your system crashes.
* Directory scheme or core-iso.
??? arch ? ??? aitab ? ??? any ? ? ??? core-any-pkgs.sfs ? ? ??? usr-share.fs.sfs ? ??? boot ? ? ??? i686 ? ? ? ??? archiso.img ? ? ? ??? vmlinuz26 ? ? ??? memtest ? ? ??? memtest.COPYING ? ??? i686 ? ??? core-pkgs.sfs ? ??? lib-modules.fs.sfs ? ??? root-image.fs.sfs ??? syslinux ??? boot.cat ??? *.com ??? *.c32 ??? *.0 ??? hdt ? ??? modalias.gz ? ??? pciids.gz ??? isolinux.bin ??? memdisk ??? splash.png ??? syslinux.cfg
I sent you incomplete work to move everything to /arch once. I want to include this, but never had the time to finish it. Basically, everything is moved to /arch/boot/syslinux instead of /syslinux. The /syslinux folder would only contain boot.cat, isolinux.bin and a small syslinux.cfg, that only launches CONFIG /arch/boot/syslinux/syslinux.cfg APPEND /arch/boot/syslinux/ This 'cd's to /arch/boot/syslinux. This will make it easier to produce scripts that create a live USB by copying /arch to a flash drive, as /arch is self-contained and no config files need to be adjusted. Just copy /arch, adjust archisolabel and install syslinux into /arch/boot/syslinux/. If you have any more time for this, I would appreciate if you would take the work out of my hands.
On 06/14/2011 05:39 AM, Thomas Bächler wrote:
Am 14.06.2011 06:51, schrieb Gerardo Exequiel Pozzi:
While in the union mount approach, if "tmpfs" (rw_branch) is full a ENOSPC is reported, and nothing more. In this case, if in the device where the "cow" file reside is full, and you write to the dev-mapper, the system will crash, no ENOSPC is reported. OK? When a snapshot device becomes full, it "disappears". This means that reading and writing will fail (probably with EACCESS). As reading fails, your system crashes.
* Directory scheme or core-iso.
??? arch ? ??? aitab ? ??? any ? ? ??? core-any-pkgs.sfs ? ? ??? usr-share.fs.sfs ? ??? boot ? ? ??? i686 ? ? ? ??? archiso.img ? ? ? ??? vmlinuz26 ? ? ??? memtest ? ? ??? memtest.COPYING ? ??? i686 ? ??? core-pkgs.sfs ? ??? lib-modules.fs.sfs ? ??? root-image.fs.sfs ??? syslinux ??? boot.cat ??? *.com ??? *.c32 ??? *.0 ??? hdt ? ??? modalias.gz ? ??? pciids.gz ??? isolinux.bin ??? memdisk ??? splash.png ??? syslinux.cfg I sent you incomplete work to move everything to /arch once. I want to include this, but never had the time to finish it.
Basically, everything is moved to /arch/boot/syslinux instead of /syslinux. The /syslinux folder would only contain boot.cat, isolinux.bin and a small syslinux.cfg, that only launches
CONFIG /arch/boot/syslinux/syslinux.cfg APPEND /arch/boot/syslinux/
This 'cd's to /arch/boot/syslinux. This will make it easier to produce scripts that create a live USB by copying /arch to a flash drive, as /arch is self-contained and no config files need to be adjusted. Just copy /arch, adjust archisolabel and install syslinux into /arch/boot/syslinux/.
If you have any more time for this, I would appreciate if you would take the work out of my hands.
I know about it, but if you insist I will do it, no problem. I personally dislike the idea, since it is currently divided in a certain logical form(ArchLinux in one place, Syslinux in another), and serves the time to put several "Linux's" on the same storage medium, sharing the same bootloader -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
Am 14.06.2011 17:12, schrieb Gerardo Exequiel Pozzi:
I know about it, but if you insist I will do it, no problem.
I personally dislike the idea, since it is currently divided in a certain logical form(ArchLinux in one place, Syslinux in another), and serves the time to put several "Linux's" on the same storage medium, sharing the same bootloader
I want to eventually be able to copy just the 'arch' folder onto another medium, install syslinux and use the arch live environment without modifications. Currently, this is messy, and it will only get better if we get the syslinux stuff into /arch. We can discuss this further if you like, which use cases do you know for this separation?
On 06/14/2011 02:21 PM, Thomas Bächler wrote:
Am 14.06.2011 17:12, schrieb Gerardo Exequiel Pozzi:
I know about it, but if you insist I will do it, no problem.
I personally dislike the idea, since it is currently divided in a certain logical form(ArchLinux in one place, Syslinux in another), and serves the time to put several "Linux's" on the same storage medium, sharing the same bootloader I want to eventually be able to copy just the 'arch' folder onto another medium, install syslinux and use the arch live environment without modifications.
Currently, this is messy, and it will only get better if we get the syslinux stuff into /arch.
We can discuss this further if you like, which use cases do you know for this separation?
OK, done it. Since this is specific to isolinux component of syslinux. I pushed it on /isolinux ;) /mnt/ ├── arch │ ├── aitab │ ├── any │ │ ├── core-any-pkgs.sfs │ │ └── usr-share.fs.sfs │ ├── boot │ │ ├── i686 │ │ │ ├── archiso.img │ │ │ └── vmlinuz26 │ │ ├── memtest │ │ ├── memtest.COPYING │ │ └── syslinux │ │ ├── *.0 │ │ ├── *.c32 │ │ ├── *.com │ │ ├── hdt │ │ │ ├── modalias.gz │ │ │ └── pciids.gz │ │ ├── memdisk │ │ ├── splash.png │ │ └── syslinux.cfg │ └── i686 │ ├── core-pkgs.sfs │ ├── lib-modules.fs.sfs │ └── root-image.fs.sfs └── isolinux ├── boot.cat ├── isolinux.bin └── isolinux.cfg OK? -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
Am 15.06.2011 02:49, schrieb Gerardo Exequiel Pozzi:
On 06/14/2011 02:21 PM, Thomas Bächler wrote:
Am 14.06.2011 17:12, schrieb Gerardo Exequiel Pozzi:
I know about it, but if you insist I will do it, no problem.
I personally dislike the idea, since it is currently divided in a certain logical form(ArchLinux in one place, Syslinux in another), and serves the time to put several "Linux's" on the same storage medium, sharing the same bootloader I want to eventually be able to copy just the 'arch' folder onto another medium, install syslinux and use the arch live environment without modifications.
Currently, this is messy, and it will only get better if we get the syslinux stuff into /arch.
We can discuss this further if you like, which use cases do you know for this separation?
OK, done it. Since this is specific to isolinux component of syslinux. I pushed it on /isolinux ;)
/mnt/ ├── arch │ ├── aitab │ ├── any │ │ ├── core-any-pkgs.sfs │ │ └── usr-share.fs.sfs │ ├── boot │ │ ├── i686 │ │ │ ├── archiso.img │ │ │ └── vmlinuz26 │ │ ├── memtest │ │ ├── memtest.COPYING │ │ └── syslinux │ │ ├── *.0 │ │ ├── *.c32 │ │ ├── *.com │ │ ├── hdt │ │ │ ├── modalias.gz │ │ │ └── pciids.gz │ │ ├── memdisk │ │ ├── splash.png │ │ └── syslinux.cfg │ └── i686 │ ├── core-pkgs.sfs │ ├── lib-modules.fs.sfs │ └── root-image.fs.sfs └── isolinux ├── boot.cat ├── isolinux.bin └── isolinux.cfg
OK?
Do you have test builds somewhere (one image is enough, like net-i686)?
On 06/15/2011 05:38 AM, Thomas Bächler wrote:
Am 15.06.2011 02:49, schrieb Gerardo Exequiel Pozzi:
On 06/14/2011 02:21 PM, Thomas Bächler wrote:
Am 14.06.2011 17:12, schrieb Gerardo Exequiel Pozzi:
I know about it, but if you insist I will do it, no problem.
I personally dislike the idea, since it is currently divided in a certain logical form(ArchLinux in one place, Syslinux in another), and serves the time to put several "Linux's" on the same storage medium, sharing the same bootloader I want to eventually be able to copy just the 'arch' folder onto another medium, install syslinux and use the arch live environment without modifications.
Currently, this is messy, and it will only get better if we get the syslinux stuff into /arch.
We can discuss this further if you like, which use cases do you know for this separation?
OK, done it. Since this is specific to isolinux component of syslinux. I pushed it on /isolinux ;)
/mnt/ ├── arch │ ├── aitab │ ├── any │ │ ├── core-any-pkgs.sfs │ │ └── usr-share.fs.sfs │ ├── boot │ │ ├── i686 │ │ │ ├── archiso.img │ │ │ └── vmlinuz26 │ │ ├── memtest │ │ ├── memtest.COPYING │ │ └── syslinux │ │ ├── *.0 │ │ ├── *.c32 │ │ ├── *.com │ │ ├── hdt │ │ │ ├── modalias.gz │ │ │ └── pciids.gz │ │ ├── memdisk │ │ ├── splash.png │ │ └── syslinux.cfg │ └── i686 │ ├── core-pkgs.sfs │ ├── lib-modules.fs.sfs │ └── root-image.fs.sfs └── isolinux ├── boot.cat ├── isolinux.bin └── isolinux.cfg
OK?
Do you have test builds somewhere (one image is enough, like net-i686)?
My upstream is really poor, I can upload if you want, it will take about of 11 hours or more for ~195M :s -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
Am 15.06.2011 23:54, schrieb Gerardo Exequiel Pozzi:
Do you have test builds somewhere (one image is enough, like net-i686)?
My upstream is really poor, I can upload if you want, it will take about of 11 hours or more for ~195M :s
I'll need to set up a build environment then, whenever I get to it.
On Tue, 14 Jun 2011 01:51:00 -0300 Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> wrote:
First, aufs2 is not used anymore. The new approach is using device mapper with a snapshot feature, it has some advantages and disadvantages.
can you list the advantages and disadvantages? I mean, from a topdown end-user perspective.. The only thing I could gather from all the technical explanation is that /repo/pkg and /repo/any are no longer writeable (previously /src/... was) Dieter
Am 14.06.2011 11:14, schrieb Dieter Plaetinck:
On Tue, 14 Jun 2011 01:51:00 -0300 Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> wrote:
First, aufs2 is not used anymore. The new approach is using device mapper with a snapshot feature, it has some advantages and disadvantages.
can you list the advantages and disadvantages? I mean, from a topdown end-user perspective..
Advantage: Snapshotting is supported and works with all kernels, aufs does not work with 2.6.39 and is not officially supported. Disadvantage: More memory needed - the read-write overlay is now block-based instead of file-based.
On 06/14/2011 01:51 AM, Gerardo Exequiel Pozzi wrote:
Hello all
I want to know opinions about my recent work to archiso, since there are lots of changes. If someone can do some tests, they are very welcomed. Sugestions are very appreciated. Thanks :)
Basic documentation, done Comments in code, done. Testing all builds, done. Booting all builds, done. Untested: archiso_pxe_nbd, and archiso_loop_mnt. If there are no objections, I will merge dm-snapshot branch in official master branch in about 12 hours. commit msg is: [archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit") * Use device mapper + snapshot module, instead union layer filesystem. * A block-level approach vs vfs-level. * No more unofficial (Linux) things. * More memory is needed. * Refactor mkarchiso. * Refactor hooks/archiso. * New configs/releng to build official images. * Removed configs/syslinux-iso. * Removed archiso2dual script. Now functionallity integrated in configs/releng. * New configs/baseline to build the most basic live medium or use as template. * New README file. -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
On Sat, 18 Jun 2011 03:03:01 -0300 Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> wrote:
On 06/14/2011 01:51 AM, Gerardo Exequiel Pozzi wrote:
Hello all
I want to know opinions about my recent work to archiso, since there are lots of changes. If someone can do some tests, they are very welcomed. Sugestions are very appreciated. Thanks :)
Basic documentation, done Comments in code, done. Testing all builds, done. Booting all builds, done.
Untested: archiso_pxe_nbd, and archiso_loop_mnt.
If there are no objections, I will merge dm-snapshot branch in official master branch in about 12 hours.
commit msg is:
[archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit")
* Use device mapper + snapshot module, instead union layer filesystem. * A block-level approach vs vfs-level. * No more unofficial (Linux) things. * More memory is needed. * Refactor mkarchiso. * Refactor hooks/archiso. * New configs/releng to build official images. * Removed configs/syslinux-iso. * Removed archiso2dual script. Now functionallity integrated in configs/releng. * New configs/baseline to build the most basic live medium or use as template. * New README file.
try to keep the commit message current tense. i.e: s/Removed/Remove/ s/Now functionality integrated/Integrate functionality/ Maybe add something like: * Replace limited Makefile with new build.sh script And btw, I'm not sure 'releng' is a good name for the default configs, 'releng' is the name of the team doing the work and releasing images, but doesn't really describe the images which will be generated. I think something like 'installation-images' or 'official-images' or 'official-installation-images' or something would be better (the last one has my preference) Dieter
On 06/18/2011 05:27 AM, Dieter Plaetinck wrote:
On Sat, 18 Jun 2011 03:03:01 -0300 Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> wrote:
On 06/14/2011 01:51 AM, Gerardo Exequiel Pozzi wrote:
Hello all
I want to know opinions about my recent work to archiso, since there are lots of changes. If someone can do some tests, they are very welcomed. Sugestions are very appreciated. Thanks :)
Basic documentation, done Comments in code, done. Testing all builds, done. Booting all builds, done.
Untested: archiso_pxe_nbd, and archiso_loop_mnt.
If there are no objections, I will merge dm-snapshot branch in official master branch in about 12 hours.
commit msg is:
[archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit")
* Use device mapper + snapshot module, instead union layer filesystem. * A block-level approach vs vfs-level. * No more unofficial (Linux) things. * More memory is needed. * Refactor mkarchiso. * Refactor hooks/archiso. * New configs/releng to build official images. * Removed configs/syslinux-iso. * Removed archiso2dual script. Now functionallity integrated in configs/releng. * New configs/baseline to build the most basic live medium or use as template. * New README file.
try to keep the commit message current tense. i.e: s/Removed/Remove/ s/Now functionality integrated/Integrate functionality/
Maybe add something like: * Replace limited Makefile with new build.sh script OK. If you have a bit of time, can you see the grammar of new README file?
And btw, I'm not sure 'releng' is a good name for the default configs, 'releng' is the name of the team doing the work and releasing images, but doesn't really describe the images which will be generated. I think something like 'installation-images' or 'official-images' or 'official-installation-images' or something would be better (the last one has my preference) Is a bit more descriptive, but I called it in that way, based on your git repo "releng" ('helper-scripts-for-build-and-release-official-installation-images') and in archweb/releng ('releng-testbuild-feedback') Talking seriously, I want to avoid long directory names. Dieter
Thanks for the feedback. -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
Signed-off-by: Dieter Plaetinck <dieter@plaetinck.be> --- README | 50 +++++++++++++++++++++++++------------------------- 1 files changed, 25 insertions(+), 25 deletions(-) diff --git a/README b/README index 7f64874..dee3a50 100644 --- a/README +++ b/README @@ -3,19 +3,19 @@ INDEX * Image types generated by mkarchiso. * File format for aitab. -* Why /isolinux directory and /arch/boot/syslinux/ ? -* Steps to build the most basic Arch Linux live medium. (configs/baseline) -* Steps to build official Arch Linux live medium images. (configs/releng) +* Why the /isolinux and /arch/boot/syslinux directories? +* Building the most basic Arch Linux live media. (configs/baseline) +* Building official Arch Linux live media. (configs/releng) *** Image types generated by mkarchiso. -* image-name.sfs SquashFS filesystem image with all files directly on it. +* image-name.sfs SquashFS image with all files directly on it. * image-name.fs.sfs SquashFS with only one file inside (image-name.fs), - that is an image of some type of filesystem + which is an image of some type of filesystem (ext4, ext3, ext2, xfs), all files reside on it. -* image-name.fs Like with image-name.fs.sfs but without SquashFS. +* image-name.fs Like image-name.fs.sfs but without SquashFS. (For testing purposes only. The option copytoram for archiso hook does not have any effect on these images) @@ -23,9 +23,9 @@ INDEX *** File format for aitab. -The file aitab maintains information about the filesystems images that -must be created by mkarchiso and mounted at initramfs stage from archiso hook. -It consists of some fields that set the behaviour of images in this order: +The aitab file holds information about the filesystems images that must be +created by mkarchiso and mounted at initramfs stage from the archiso hook. +It consists of some fields which define the behaviour of images. # <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size> @@ -33,9 +33,9 @@ It consists of some fields that set the behaviour of images in this order: <mnt> Mount point. <arch> Architecture { i686 | x86_64 | any }. <sfs_comp> SquashFS compression type { gzip | lzo | xz }. - A special value of "none" can be used, no SquashFS is used. + A special value of "none" denotes no usage of SquashFS. <fs_type> Set the filesystem type of the image { ext4 | ext3 | ext2 | xfs }. - A special value of "none" can be used, no filesystem is used. + A special value of "none" denotes no usage of a filesystem. In that case all files are pushed directly to SquashFS filesystem. <fs_size> An absolute value of file system image size in MiB. (example: 100, 1000, 4096, etc) @@ -48,26 +48,26 @@ Note: Some combinations are invalid, example: sfs_comp=none and fs_type=none -*** Why /isolinux and /arch/boot/syslinux ? +*** Why the /isolinux and /arch/boot/syslinux directories? -Under /isolinux directory only files needed for ISOLINUX boot loader -module of SYSLINUX are present. ISOLINUX can not find config files on +The /isolinux directory holds files needed for the ISOLINUX boot loader +module of SYSLINUX. ISOLINUX can not find config files on /arch/boot/syslinux, like other boot loaders modules (EXTLINUX, SYSLINUX, etc). -When make your custom boot-pendrive, just need to copy /arch directory to it. -/isolinux/isolinux.cfg just load /arch/boot/syslinux/syslinux.cfg +When make your custom boot-pendrive, you need to copy /arch directory to it. +/isolinux/isolinux.cfg just holds /arch/boot/syslinux/syslinux.cfg -*** Steps to build the most basic Arch Linux live medium. (configs/baseline) +*** Building the most basic Arch Linux live media. (configs/baseline) -* First install devtools if needed, this is for use mkarchroot. +* First install devtools if needed, mkarchroot needs it. [host] # pacman -S devtools * Create a 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 on it. (prefix with linux32 if needed). +* Enter it. (prefix with linux32 if needed). [host] # mkarchroot -r bash /tmp/chroot * Create a loopback device. @@ -94,12 +94,12 @@ When make your custom boot-pendrive, just need to copy /arch directory to it. * Exit from chroot. [chroot] # exit -Note: If you want to customize, just see the directory configs/releng -that is used to build official images with much more things. +Note: If you want to customize, just see the configs/releng directory which is +used to build official images with much more things. -*** Steps to build official Arch Linux live medium images (configs/baseline) +*** Building official Arch Linux live media. (configs/releng) Note: These steps should be done with 64 bits support. @@ -119,7 +119,7 @@ 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 -* Create a shared directory for both chroot enviroments with archiso. +* Create a shared directory which archiso can access from both chroot enviroments. mkdir /tmp/shared cd /tmp/shared @@ -128,7 +128,7 @@ cd mount --bind /tmp/shared /tmp/chroot32/tmp mount --bind /tmp/shared /tmp/chroot64/tmp -* Enter in 32 bits chroot enviroment, install mkarchiso, +* Enter 32 bits chroot enviroment, install mkarchiso, then build core and netinstall single images. linux32 mkarchroot -r bash /tmp/chroot32 @@ -138,7 +138,7 @@ make install-program cd ../configs/releng/ ./build.sh all_iso_single -* Enter in 64 bits chroot enviroment, install mkarchiso, +* Enter 64 bits chroot enviroment, install mkarchiso, then build core and netinstall single images. mkarchroot -r bash /tmp/chroot64 -- 1.7.5.2
On 06/18/2011 12:33 PM, Dieter Plaetinck wrote:
Signed-off-by: Dieter Plaetinck<dieter@plaetinck.be> --- README | 50 +++++++++++++++++++++++++------------------------- 1 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/README b/README index 7f64874..dee3a50 100644 --- a/README +++ b/README @@ -3,19 +3,19 @@ INDEX
* Image types generated by mkarchiso. * File format for aitab. -* Why /isolinux directory and /arch/boot/syslinux/ ? -* Steps to build the most basic Arch Linux live medium. (configs/baseline) -* Steps to build official Arch Linux live medium images. (configs/releng) +* Why the /isolinux and /arch/boot/syslinux directories? +* Building the most basic Arch Linux live media. (configs/baseline) +* Building official Arch Linux live media. (configs/releng)
*** Image types generated by mkarchiso.
-* image-name.sfs SquashFS filesystem image with all files directly on it. +* image-name.sfs SquashFS image with all files directly on it. * image-name.fs.sfs SquashFS with only one file inside (image-name.fs), - that is an image of some type of filesystem + which is an image of some type of filesystem (ext4, ext3, ext2, xfs), all files reside on it. -* image-name.fs Like with image-name.fs.sfs but without SquashFS. +* image-name.fs Like image-name.fs.sfs but without SquashFS. (For testing purposes only. The option copytoram for archiso hook does not have any effect on these images)
@@ -23,9 +23,9 @@ INDEX
*** File format for aitab.
-The file aitab maintains information about the filesystems images that -must be created by mkarchiso and mounted at initramfs stage from archiso hook. -It consists of some fields that set the behaviour of images in this order: +The aitab file holds information about the filesystems images that must be +created by mkarchiso and mounted at initramfs stage from the archiso hook. +It consists of some fields which define the behaviour of images.
#<img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size>
@@ -33,9 +33,9 @@ It consists of some fields that set the behaviour of images in this order: <mnt> Mount point. <arch> Architecture { i686 | x86_64 | any }. <sfs_comp> SquashFS compression type { gzip | lzo | xz }. - A special value of "none" can be used, no SquashFS is used. + A special value of "none" denotes no usage of SquashFS. <fs_type> Set the filesystem type of the image { ext4 | ext3 | ext2 | xfs }. - A special value of "none" can be used, no filesystem is used. + A special value of "none" denotes no usage of a filesystem. In that case all files are pushed directly to SquashFS filesystem. <fs_size> An absolute value of file system image size in MiB. (example: 100, 1000, 4096, etc) @@ -48,26 +48,26 @@ Note: Some combinations are invalid, example: sfs_comp=none and fs_type=none
-*** Why /isolinux and /arch/boot/syslinux ? +*** Why the /isolinux and /arch/boot/syslinux directories?
-Under /isolinux directory only files needed for ISOLINUX boot loader -module of SYSLINUX are present. ISOLINUX can not find config files on +The /isolinux directory holds files needed for the ISOLINUX boot loader +module of SYSLINUX. ISOLINUX can not find config files on /arch/boot/syslinux, like other boot loaders modules (EXTLINUX, SYSLINUX, etc). -When make your custom boot-pendrive, just need to copy /arch directory to it. -/isolinux/isolinux.cfg just load /arch/boot/syslinux/syslinux.cfg +When make your custom boot-pendrive, you need to copy /arch directory to it. +/isolinux/isolinux.cfg just holds /arch/boot/syslinux/syslinux.cfg
-*** Steps to build the most basic Arch Linux live medium. (configs/baseline) +*** Building the most basic Arch Linux live media. (configs/baseline)
-* First install devtools if needed, this is for use mkarchroot. +* First install devtools if needed, mkarchroot needs it. [host] # pacman -S devtools
* Create a 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 on it. (prefix with linux32 if needed). +* Enter it. (prefix with linux32 if needed). [host] # mkarchroot -r bash /tmp/chroot
* Create a loopback device. @@ -94,12 +94,12 @@ When make your custom boot-pendrive, just need to copy /arch directory to it. * Exit from chroot. [chroot] # exit
-Note: If you want to customize, just see the directory configs/releng -that is used to build official images with much more things. +Note: If you want to customize, just see the configs/releng directory which is +used to build official images with much more things.
-*** Steps to build official Arch Linux live medium images (configs/baseline) +*** Building official Arch Linux live media. (configs/releng)
Note: These steps should be done with 64 bits support.
@@ -119,7 +119,7 @@ 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
-* Create a shared directory for both chroot enviroments with archiso. +* Create a shared directory which archiso can access from both chroot enviroments.
mkdir /tmp/shared cd /tmp/shared @@ -128,7 +128,7 @@ cd mount --bind /tmp/shared /tmp/chroot32/tmp mount --bind /tmp/shared /tmp/chroot64/tmp
-* Enter in 32 bits chroot enviroment, install mkarchiso, +* Enter 32 bits chroot enviroment, install mkarchiso, then build core and netinstall single images.
linux32 mkarchroot -r bash /tmp/chroot32 @@ -138,7 +138,7 @@ make install-program cd ../configs/releng/ ./build.sh all_iso_single
-* Enter in 64 bits chroot enviroment, install mkarchiso, +* Enter 64 bits chroot enviroment, install mkarchiso, then build core and netinstall single images.
mkarchroot -r bash /tmp/chroot64 Many thanks! Applied and squashed with "the big commit".
-- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1
participants (3)
-
Dieter Plaetinck
-
Gerardo Exequiel Pozzi
-
Thomas Bächler