Distros : Prep - jigdo

Jigdo or to give it's full name Jigsaw Download is a command line tool used to share large images like DVDs. Server side Jigdo is run to split an image into it's individual files and at the other end a user runs jigdo to download these files, thirty at a time, then to reassemble them, like a jigsaw, back into that large image. This makes for an easier download both for the server and user.

Jigdo is available natively for Debian as it is the means for users to download installation images of all the processor architectures that are supported. It is available for other Operating Systems and this article concentrates on the version of jigdo that runs on Windows.

To get jigdo for Windows go to Jigdo's Home Page and in the Download Section click on the download area to go to the page below with various options to download jigdo.

Jigdo's Download Page

Click on the .zip file to download it, probably to your Download Folder. Then go to that folder and rather than extracting it's files there...

  1. Click on Extract all
  2. Click on Browse and point to your Documents Folder
  3. Click on Select Folder
A quick how to on extracting zip files

The files below will be extracted to a folder called jigdo-win-0.8.1 in your Documents folder and if you left the Show extracted files.. tick box checked you will end up there and that's the installation complete!!

To start jigdo you double click on jigdo-lite.bat which is a Windows Batch File that uses Window's versions of Linux commands such as wget to download files. You will find these commands in the jigdo-bin folder.

Creating a folder and moving docs into there so we can see how jigdo works

The html files and the text file contain useful info re jigdo and I did a bit of housekeeping: Right Clicked an empty space in the jigdo-win-0.8.1 folder and then New > Folder calling it Docs and moved those files there.

All Debian's downloads are available via jigdo so go to Jigdo Download page. The standard modern 64 bit PC is amd64, the older nearly extinct 32 bit PC, think Windows XP, is i386. There are images for other architectures such as the Arm Processor. I am only familiar with PCs.

Official jigdo files for Debian Stable release.

Choose the image type you want- CD for a small download, if you have a poor download speed choose one from the DVD section or have you Blu-ray, choose that for a mega download!!

Below is the download page for the amd64 processor, note there are 21 DVDs in total, don't worry the first DVD will contain most of what you need, anything else can be installed later.

There are two files that jigdo needs to download an image: the .jigdo file and the .template file so Right Click the .jigdo file for DVD-1 and choose to Save link as and Save it to your jigdo folder. Do the same for the .template for DVD-1.

Debian's Jigdo download page for the 64bit PC

The SHA-SUMS files contain checksums of all the 21 DVDs available for download. The end user can use them to check if the DVDs downloaded correctly, read more... and the .sign files are proof that these files are from Debian and not some evil hacker wishing to take control of you machine read more...

So while you are there you may as well download them to your jigdo folder!! We are almost ready for action!!

Downloaded the .jigdo and .template files for the first DVD

Just before you start jigdo, do you have poor internet connection ... is it taking a long time to download the images on this page?? if so, it may take hours even an entire evening to download a DVD image, so you need to prevent your PC/Laptop from going to sleep due to inactivity. By default this is set for 30 minutes of inactivity, very disappointing to set up your PC for a mega download only to discover the next day that it fell asleep on the job!!! (I learnt that the hard way :-))

Go to Windows Power & sleep settings

With Windows 10 a quick way to set Power & Sleep is to start typing power into it's Search Bar and the best match should be it's link in system settings.

Sleep: Change from 30 minutes to never.

Under Sleep When plugged in, PC goes to sleep after change that from 30 minutes to Never.

Now that you are all set up Double Click the jigdo-lite.bat file which will open a Command Line window, (oops sorry did you think that was going to be a nice GUI???), ever hear of DOS, this is what it feels like!!

Windows cmd running the Jigdo batch file

jigdo prompts you for the .jigdo file and you have to type that in, that file begin with d so thanks to my housekeeping I typed in d then Tab Key to auto complete to the . then a j then Tab to finish the file name then Enter. Quicker than any mouse, squeak, squeak!

Enough pics, I copied and pasted the cmd output below, scroll to the right if the text disappears.

Images offered by `debian-12.1.0-amd64-DVD-1.jigdo':
  1: 'Debian GNU/Linux 12.1.0 "Bookworm" - Official amd64 DVD Binary-1 with firmware 20230722-10:49 (20230722)' (debian-12.1.0-amd64-DVD-1.iso)

Further information about `debian-12.1.0-amd64-DVD-1.iso':
Generated on Sat, 22 Jul 2023 12:17:44 +0000

-----------------------------------------------------------------
If you already have a previous version of the CD you are
downloading, jigdo can re-use files on the old CD that are also
present in the new image, and you do not need to download them
again. Enter the path to the old CD ROM's contents (e.g. `d:\').
Alternatively, just press enter if you want to start downloading
the remaining files.
Files to scan:
 (hit Enter)

First time running jigdo you would not have any previous CDs so just hit Enter.

The jigdo file refers to files stored on Debian mirrors. Please
choose a Debian mirror as follows: Either enter a complete URL
pointing to a mirror (in the form
`ftp://ftp.debian.org/debian/'), or enter any regular expression
for searching through the list of mirrors: Try a two-letter
country code such as `de', or a country name like `United
States', or a server name like `sunsite'.
Debian mirror:

(typed ie for Ireland)
http://ftp.esat.net/pub/linux/debian/    # IE Ireland (Dublin)
http://ftp.ie.debian.org/debian/         # IE Ireland (Dublin)


(typed uk for United Kingdom) 
http://ftp.uk.debian.org/debian/         # GB Great Britain (London)
http://debian.man.ac.uk/debian/          # GB Great Britain
http://mirror.ox.ac.uk/debian/           # GB Great Britain (Oxford)
http://mirror.sov.uk.goscomb.net/debian/ # GB Great Britain (London, E14)

-----------------------------------------------------------------

This is the awkward part of jigdo, it's list of mirrors are out of date. You have to type the full URL in and if you make a mistake you cannot use Backspace or Delete to correct the error. Also the first entry for Ireland failed, very painful.

So rather than typing in a URL, select one and Copy it (Ctrl+C) then Paste (Ctrl+V) it into the Address bar of your web browser. This should bring you to a Debian download page, this will work for the 4 UK mirrors above but not for any of the US ones I tried.

To be really organised go to Debian's own list of mirrors, Click on your nearest country and find one that supports the processor architecture that you have, certainly necessary if yours is one of the more exotic ones.

Go to Debian's up to date mirror list. Choose a country near you.

Right Click on that link and choose to copy it..

Choose a mirror that has the processor architecture you require and Copy its URL.

Unfortunately you cannot paste a URL into jigdo's command line and rather than trying to type it X the jigdo window to stop it and find yourself back at the jigdo folder where something magical has happened, a new file called jigdo-lite-setting.txt has been created, double click on that and it should open in Notepad.

Paste the mirror URL into jigdo-lite-settings.txt

Now you can use that copied mirror URL simply Paste it between the ' ' after debianMirror = and Save the changes!!

Now Double Click jigdo-lite.bat to restart and this time all you have to do is hit Enter when prompted for the .jigdo file, it's there in [square brackets] and Enter when prompted for a mirror which is also [in square brackets]. Next jigdo will start to download files, bopping them into a temporary folder and after it has downloaded 30 files writes them to a temporary ISO image.

FINISHED --2023-08-10 13:16:49--
Total wall clock time: 1m 34s
Downloaded: 30 files, 6.0M in 1m 28s (70.0 KB/s)
Found 30 of the 4626 files required by the template
Copied input files to temporary file `debian-12.1.0-amd64-DVD-1.iso.tmp' - repeat command and supply more files to continue

You should see a lot of messages similar to above and in your jigdo folder a lot more is happening!!

Jigdo in action, temporary files that will melt away once the download has completed

All you need do is walk away and come back in a few hours or the next morning and hey presto (hopefully) you will be greeted with the message below. Download Completed!!

-----------------------------------------------------------------
Finished!
The fact that you got this far is a strong indication that `debian-12.1.0-amd64-DVD-1.iso'
was generated correctly. I will perform an additional, final check,
which you can interrupt safely with Ctrl-C if you do not want to wait.

MD5 from template: e4hMyvKnxC1bjSc0pfcUMQ
MD5 from image:    e4hMyvKnxC1bjSc0pfcUMQ
OK: MD5 Checksums match, image is good!
WARNING: MD5 is not considered a secure hash!
WARNING: It is recommended to verify your image in other ways too!
Press any key to continue . . .

And if you PC/Laptop shut down or went to sleep before the download completed, simply run jigdo-lite.bat again and thanks to the setting file jigdo will continue from where it left off, just hit Enter a few time, how easy is that!!

If the MD5 checksums match it should be good enough however if you want to double check that the download was successful Windows has a command called certutil that you can use to generate a SHA256 or SHA512 hash and compare that with Debian's list of hashes. It does involve using Windows Command Line cmd, there are GUIs out there that will do the same thing but while you are here why not give cmd a go!!!

Type cmd into that Windows Search thingy or better still hold down the Windows Key and then the R key. This brings up the Run Box, type in cmd and hit Enter.

Use the Windows/Superkey + R for the Run box

A cmd window opens with your user name and where you are in the file system something like C:\Users\Bryan however you need to get to your jigdo folder so here is your first command CD Change Directory. My jigdo directory aka folder is in my Documents Folder so I did the following.

C:\Users\Bryan>cd Documents\jigdo-win-0.8.1
(do then Tab then \j then Tab then Enter)
C:\Users\Bryan\Documents\jigdo-win-0.8.1>
(now I am in my jigdo Directory!!

To see what is in your jigdo directory type in dir, to see options for that command type dir /?

C:\Users\Bryan\Documents\jigdo-win-0.8.1>dir
 Volume in drive C has no label.
 Volume Serial Number is BE38-5D21

 Directory of C:\Users\Bryan\Documents\jigdo-win-0.8.1

27/02/2024  12:30    <DIR>          .
27/02/2024  12:30    <DIR>          ..
26/02/2024  23:30     3,992,977,408 debian-12.5.0-amd64-DVD-1.iso
13/02/2024  13:13           141,054 debian-12.5.0-amd64-DVD-1.jigdo
27/02/2024  12:30           424,368 debian-12.5.0-amd64-DVD-1.jigdo.unpacked
13/02/2024  13:18        95,140,859 debian-12.5.0-amd64-DVD-1.template
13/02/2024  13:08    <DIR>          Docs
13/02/2024  13:05    <DIR>          jigdo-bin
27/02/2024  12:30               270 jigdo-lite-settings.txt
13/02/2024  13:05               537 jigdo-lite.bat
13/02/2024  13:19               833 SHA256SUMS.sign
13/02/2024  13:12             7,179 SHA256SUMS.txt
13/02/2024  13:13               833 SHA512SUMS.sign
13/02/2024  13:13            11,787 SHA512SUMS.txt
              10 File(s)  4,088,705,128 bytes
               4 Dir(s)   9,811,689,472 bytes free

The Certutil command will generate a checksum against a file so to generate a sha256 checksum against the ISO you just downloaded type in the following command...

certutil -hashfile debian-12.1.0-amd64-DVD-1.iso sha256

To break that command down the option -hashfile will create a checksum, the next option is the file to create the checksum against debian-12.1.0-amd64-DVD-1.iso and the last option is the type of checksum sha256 other options are MD2, MD4, MD5, SHA1, SHA384 and SHA512.

C:\Users\Bryan\Documents\jigdo-win-0.8.1>certutil -hashfile debian-12.1.0-amd64-DVD-1.iso sha256
SHA256 hash of debian-12.1.0-amd64-DVD-1.iso:
9168ff53d789537db4f5233e7dfa5e860519c44b68132b70805218f842b00041
CertUtil: -hashfile command completed successfully.

And to check if the above is a match for what is in the SHA256SUMS.txt for DVD-1...

SHA256SUMS.txt checking the checksums!!

You should get a complete match with the first entry, if so, you are ready to burn the image onto a DVD or USB Stick and continue on your Linux journey!!