README.md 4.49 KB
Newer Older
isaagar's avatar
isaagar committed
1
`Config.d` directory consists of config files or parameters used for creating ISO.
isaagar's avatar
isaagar committed
2 3 4 5 6 7


The upstream documentation is at https://debian-live.alioth.debian.org/live-manual/stable/manual/html/live-manual.en.html

short description of some directory/files is given below :-

isaagar's avatar
isaagar committed
8
* **bootstrap**  -  set your distro name , (chroot,bootstrap,binary,security) mirror
9
* **common** - set your cache stages , system type (live/normal) , apt (ftp/http proxy), aptitude ,ISOhybrid , deboostrap options
isaagar's avatar
isaagar committed
10 11
* **chroot** - set keyring  file, enable/disable security/updates/backports , chroot filesystem
* **binary** - set boot/live-boot options , bootloader , debian-installer options(live,true,false,netboot etc) , debian-installer distribution,
isaagar's avatar
isaagar committed
12
        ISO metadata information etc.
isaagar's avatar
isaagar committed
13 14
* **build** - set image related information        
* **package-lists** - consists list of packages to install in mentioned stage  <file>.list.binary.chroot (installs packages in binary and chroot stage)
isaagar's avatar
isaagar committed
15 16
     or <file>.list.chroot (installs packages in chroot stage)
        live.list.chroot is default file which contains list of live boot packages.
17 18
        You can list packages in files with .list.chroot_live and .list.chroot_install suffixes inside the config/package-lists directory.
        If both a live and an install list exist, the packages in the .list.chroot_live list are removed with a hook after the installation (if the user uses the installer).
isaagar's avatar
isaagar committed
19 20 21 22
* **bootloaders** - consists different bootloaders directory (modify files in that bootloaders directory which you set in binary file)
* **archives** - area for  APT pinning (this will reuire if you want to install packages of different distribution). You can read more here https://debian-live.alioth.debian.org/live-manual/stable/manual/html/live-manual.en.html#apt-pinning
* **hooks** - allow commands to be performed in the chroot and binary stages of the build in order to customize the image.
* **includes** -  allow you to add or replace arbitrary files in your live system image. You can do this in two stages chroot and binary
isaagar's avatar
isaagar committed
23
  Use chroot.includes for modifying files in chroot stage and binary.includes for binary stage
isaagar's avatar
isaagar committed
24 25 26
* **preseed** - allows you to configure packages when they are installed by supplying answers to debconf questions.


27
# Steps for creating ISO
isaagar's avatar
isaagar committed
28

isaagar's avatar
isaagar committed
29
## First clone this repo
isaagar's avatar
isaagar committed
30

31
`git clone https://git.hamaralinux.org/hamara-developers/hamara-live-build.git`
isaagar's avatar
isaagar committed
32

isaagar's avatar
isaagar committed
33
## Change configuration according to your need before running `mkbuild`
isaagar's avatar
isaagar committed
34

isaagar's avatar
isaagar committed
35 36 37
* **`binary`** - set here boot paramerters , bootloader(grub/syslinux) , debian-installer mode and ISO metadata
* **`build`** - set your image/iso information
* **`bootstrap`** - set here your distribution name and mirror to fetch packages from for various stages.
isaagar's avatar
isaagar committed
38
* **`chroot`** - set your keyring package name (hamara-keyring) , linux kernel name and enable/disable updates,backport , security repo `Dont enable updates , backports as they are not available in namaste`
isaagar's avatar
isaagar committed
39 40 41 42 43
* **`bootloaders`** - edit cfg files according to your need in respective bootloader folder which was set in binary
* **`hooks`** - under live directory (our image type) write shell scripts for modifications to be reflected in final ISO . Extension .chroot indicates hooks to be run in chroot stage
* **`includes.<>`** - just put the files/folders in includes.'stage_name' you want to include in that stage
* **`includes.installer`** - consists preseed.cfg . Follow official guide https://www.debian.org/releases/stable/i386/apb.html
* **`package-lists`** - consists list of packages to install in mentioned stage  <file>.list.binary.chroot (installs packages in binary and chroot stage)
isaagar's avatar
isaagar committed
44 45
     or <file>.list.chroot (installs packages in chroot stage)
        live.list.chroot is default file which contains list of live boot packages.
46
        You can list packages in files with .list.chroot_live and .list.chroot_install suffixes inside the config/package-lists directory.
isaagar's avatar
isaagar committed
47 48 49
        If both a live and an install list exist, the packages in the .list.chroot_live list are removed with a hook after the installation (if the user uses the installer)


isaagar's avatar
isaagar committed
50
## Run script with sudo to build ISO
isaagar's avatar
isaagar committed
51

isaagar's avatar
isaagar committed
52
`# man ./HELP`
isaagar's avatar
isaagar committed
53

54
`# ./mkbuild iso ARCH MIRROR RELEASE VER`
isaagar's avatar
isaagar committed
55

56 57 58 59 60
* Valid options for ARCH :
`amd64` or `i386` or `all`

* Valid options for MIRROR :
`in.devel.hamaralinux.org` or `devel.hamaralinux.org`
isaagar's avatar
isaagar committed
61

isaagar's avatar
isaagar committed
62
* Valid options for RELEASE :
isaagar's avatar
isaagar committed
63
`hamara-sugam` or `hamara` 
isaagar's avatar
isaagar committed
64

65
* Valid options for VER :
isaagar's avatar
isaagar committed
66
`alpha` or `beta` or `final`
67

isaagar's avatar
isaagar committed
68 69
* Builds automagically using the live-build scripts which resides in `/usr/lib/live/build/`

isaagar's avatar
isaagar committed
70
Now , you will get output files in `output` directory.