Starting on Hamara Development, ARM or Desktop

From Hamara Wiki
Jump to: navigation, search

How to get feet wet in developing hamara

Things to do in order to get feet wet in Hamara

1. Download the .iso image from

2a. If you are on GNU/Linux then you can use many tools. You can either use command-line tools such as wget, curl and/or aria 2 OR use GUI download managers such as fatrat, uget or the mozilla firefox extension flashgot which lives as xul-ext-flashgot.

With curl it is a bit tricky :-

  $ curl -# -O -L -v

In case you have issues with downloading feel free to use mailing list . You will have to subscribe to the list or IRC, use some nickname and use the channel name #hamara , someone or the other is sure to help you.

2b. If however you are on MS-Windows you could use Free Downloaad Manager or any download manager that you trust. A good list of various download managers can be found in Wikipedia also . Depending on what features you want, install and download one and start downloading.

File Integrity in GNU/Linux

3. Once the .iso image is download/finished check the integrity of the download. This is done by comparing the sha1sum or sha256 sum of the iso image with the sha1sum/sha256 sums provided.

When the iso images are being created, all the images sha1sum or/and sha256sums are put inside a single file and called sha1sum or sha256sums .

Make sure that both the .iso image and the sha1sum or sha256sum are downloaded in the same directory.

Now you can check the sha1sum or sha256sum with a reverse checksum, like this :-

   $ sha256sum -c SHA256SUMS 
     mini.iso: OK

The mini.iso I have taken from the debian-devel-installer (a 30 MB iso image which has only the essentials) to share how it works.

These were the contents of the SHA256sums

   $ cat SHA256SUMS 
    95a508caa9c2c798f9f182931caf04f39266d74724267a9016e295ab6ad55218 mini.iso

So when I asked to check the sha256sum from a file, it went into the file, I had removed all the others for quicker processing and also no errors, as it will try to find each of the files mentioned therein and failing to find them in the directory will report the same. Something like :-

   ./netboot/xen/vmlinuz: FAILED open or read
    sha256sum: ./udeb.list: No such file or directory
   ./udeb.list: FAILED open or read
   sha256sum: WARNING: 569 listed files could not be read

It doesn't find any because it is looking at the directory in a particular way so had to delete all the unnecessary ones and also modify the contents a bit so that the path is good.

It would do to have the sha1sum or sha256sum listed as can be seen on . This is the same convention that is followed by debian release iso images as well, so it would be good if we follow the same.

File Integrity in MS-Windows or/and Mac.

There is also an sha1sum and sha256sum that can be downloaded from . It is a command-line interface tool. Install it on your Microsoft Windows Machine. When Installing either install it in C:\ or D:\ and not in any sub-directory so it's easier for you to do the next steps.

Once that is done go to the Windows Menu and type CMD in the small window provided . This will open up a command-line-environment or CLI.

In the CLI, go to where the .iso image is, and execute the sha1sum.exe on the .iso image. For e.g.

   C:\sha1sum.exe D:/hamara-sugam_1.0_beta_amd64.iso

sudo port install md5sha1sum

It should output the sha1sum on the line below similar to what has been shown. The above is just an example. The idea is you take a release and take the sum of it and compare it with the sha1sums shared at

On the Mac, the best is you install macports. If you have installed macports you just have to do

   sudo port install md5sha1sum

Once that is done, then do as shared above.

Once this is done, you can take a 2-minute break.

Burning or Virtualization

Now you have two options here :-

a. The first option is to burn the .iso image to a CD or a USB and then in turn install it on a machine.

b. The second option is to use what is called running a virtual machine. We shall do both ways

Burning the .iso

To burn an .iso image to a DVD you need three things -

a. An .iso image which we have got from above by one of the methods. b. An empty/blank DVD which is good/fine and has no scratches. c. A DVD burning program which will enable you to write the .iso image.

Empty good blank DVD start from Rs. 25/- upto Rs. 300/- . The one which are around Rs. 300/- are re-writable media and are supposed to have a better life-span. DVD media in itself has too many twists and turns hence we would not go in there.

Now we come to DVD burning programs

DVD burning programs on MS-Windows

There are plenty of programs in MS-Windows to burn a DVD. We would settle on one of the more better ones imgburn . Download Imgburn from . It is a freeware software, Install it. After installing Open it, make sure your disk is inserted into your DVD-Drive and it is a DVD RW-Drive and in good condition.

Open the shortcut of Imgburn on your desktop. Once you open it you will see few options with images, select the first one, Write Image File to Disc. If you have bought cheap media, it is better to burn it at much lower speed then is rated. A burning ratio of 4x or 8x is good enough.

DVD burning programs on GNU/Linux and Mac

There are command-line and GUI-based programs in most GNU/Linux distributions. In the GUI, one of the better ones is Brasero. Depending on your distribution, it might be available in your distribution or you might have to compile it on your own. We would be documenting brasero soonish.

In command-line tools the biggest of them all is wodim . Wodim started as a fork of cdrtools till cdrtools was free as in free software and now is the name of the game in most CD/DVD burning works. It is used by almost all GUI tools. The manpage of wodim tells a bit of history of the project.

Anyways, in order to use wodim, you first need to be root or superuser so that you are unencumbered and chances of failure are less.

The first thing that you need to do is to use wodim to list the devices that are capable of writing. This is from one of my desktops

   # wodim --devices
   wodim: Overview of accessible drives (1 found) :
    0  dev='/dev/sg1'	rwrw-- : 'HL-DT-ST' 'DVDRAM GH24NS95'

You can also use the scanbus option so that wodim scans the scsi bus (in case the above one does not reveal the device )

   # wodim --scanbus
           2,0,0   200) 'ATA     ' 'ST1000DM003-9YN1' 'CC4B' Disk
           2,1,0   201) 'HL-DT-ST' 'DVDRAM GH24NS95 ' 'RN01' Removable CD-ROM
           2,2,0   202) *
           2,3,0   203) *
           2,4,0   204) *
           2,5,0   205) *
           2,6,0   206) *
           2,7,0   207) *

The above is enough to see what all devices are there on the bus. In the above instance it has given my IDE HDD which is emulated as a SCSI device (don't ask why is that for now ) as well as the DVD writer.

Although what we wanted to know as to where the device hangs out, its address is already known to us


So if the DVD is good you can do :-

   wodim -v dev=/dev/sg1 speed=10 -eject "path-to-iso"

Note - The only hitch here is the speed, as noted before if you use good media then chances of burning/writing failures is minimal. One thing to also note, if you have electricity issues as brownouts or spikes in voltages you may not get good writes, having a good on-line UPS with sufficient backup is a good idea in this case.

- v = verbose dev = device and location of device speed = speed at which to write -eject = eject the writer tray after work is completed.

On the Mac side, there are plethora of choices. One tool that you can use in Mac for burning is although it is a bit oldish, no new development for last couple of years.

Once the media has been burnt and ejected, close down all the applications, reboot the machine, go to the BIOS and make sure that external media such as a DVD Drive is at the top. Once that is done, boot the machine and see if it goes to the bootable disc. If not, then there was something wrong either with the media, the image or the burning drive itself. If it works, then we can move on to the next step.


There are all kinds of virtualization, the kind of virtualization that would be doing is the most basic, hardware virtualization. For hardware-based virtualization, the thumb-rule is simple, dedicate only half the memory, some hard disk space, for our purposes 10 GB is sufficient and about 2 or 3 generation lower hardware specifications so that the host and the guest both are good. Hence it is important that the host machine on which you want to run virtualization is a beefy machine with good specs.

The recommendations for various builds are as under :-