Notes from Hamara Sugam Contributor IRC Session 29/12/15

From Hamara Wiki
Jump to: navigation, search

Getting started with Hamara Sugam Development

The git repos

To get started with developing you need to request access to our git repo.

Register at http://git.hamaralinux.org and post to the developer mailing list to request access to the specific repo.

For building the distro you will need access to:

https://git.hamaralinux.org/hamara-developers/hamara-makeiso

If you are working on packages, you may need access to:

https://git.hamaralinux.org/hamara-developers/hamara-packages


Make a fork

The first thing you should do it create a fork of the hamara-makeiso repo so that you can do your work there.

You should NEVER push changes into the hamara-developers repository but instead you should push changes to your fork and issue a merge request to get your changes included into the main repo.

Clone your fork

To make any changes to your code or just see whats inside it clone your repo

   $ git clone PATH_TO_YOUR_REPO/hamara-makeiso


Switch Branch

Now get into the folder of the git repo and switch to the development-debian branch

   $ git checkout development-debian

Do any changes that you want to do in this repo and push the changes to your repo. Now is the time to build an ISO from your code. To do that you need to create a CHROOT.

Create a CHROOT

Always build inside a chroot, not using a chroot will likely trash your system, this is a warning! :)

Basic Intro to CHROOT is here https://wiki.debian.org/chroot

Always do the builds inside a CHROOT Hamara Sugam is built from a Debian Stretch, so create a CHROOT of Debian Stretch

1.To make a CHROOT make sure you must have the following packages,

   # apt-get install binutils debootstrap

2. Then create a separate directory for your CHROOT

   mkdir /home/USER/sugam_chroot


3. Now create the CHROOT with following command

  debootstrap --arch amd64 stretch /home/USER/sugam_chroot  http://httpredir.debian.org/debian

If your base system is ubuntu or any of its derivatives stretch key word might not work, try with testing i.e

  debootstrap --arch amd64 stretch /home/USER/sugam_chroot   http://httpredir.debian.org/debian

If you do not want to use the word testing and want a stretch specific build instead, use the below script.

   https://pad.disroot.org/p/stretchscript

Save this script with the name stretch and add it to /usr/share/debootstrap/scripts/

4. Once your CHROOT is installed successfully get into your chroot

   $ chroot PATH_TO_CHROOT


Build Inside the CHROOT

1. Install Git and some required packages

   # apt-get install git debootstrap syslinux squashfs-tools genisoimage

2. clone your fork to the chroot

   # git clone REPO_URL_OF_YOUR_FORK/hamara-makeiso

3. switch Branch

Now get into the folder of the git repo and switch to the development branch

    # git checkout development-debian

4. Now get into the directory where the makeiso.sh file is present

To start the build run the following command

   # /bin/bash ./makeiso.sh all amd64 hamara-sugam namaste devel.hamaralinux.org


This will download a lot of packages for sugam release. Be patient now and wait for the build to finish. At the end of the build you should have an ISO. Now test this ISO for any changes that you want to see.

5. Now if you require to do the build again, make sure you remove the directories of iso, master and logs.

If you get any problems regarding the build, do not hesitate to send your problems to the Hamara Developers mailing list at hamara-devel@lists.hamaralinux.org