This game of words is stressing me up. I will not getting into why there is or not a pet that can play the latest update of a program.
One thing I want so set clear, even when I am stress up, it does not mean I do not admired all the great minds of this forum. Yes the same that are stressing me up at the moment. I like Puppy and I love all of you.
bigpup wants a how to. I hope it is not to tell me later it is to techy!! or it is not Puppy way. If you expect that from me, then I suggest you to wait some one update any of the available pets.
How I build it? Using Linux. You can not expect to talk about Linux file system: images, mounting, loop, formatting, partitioning, listing blocks, etc, etc without using the terminal and the commands.
WARNING. Some of the following commands have the potential to destroy your HDD or USB if incorrectly applied. So if you are newbie just make sure you have backup all your test device (Yes your whole PC). You been warned. So be smart, back up and ask all you think you do not understand, before doing anything. In particular make sure you have identify your target USB/img/HDD etc. So ask, ask and ask again.
I will divide this in at least two parts. Lets start with the empty HDD image.
1) Connect to Internet and move to a Linux ext directory with space
2) Lets create a working directory
3) Lets download recent grub4dos and extract files
Code: Select all
wget https://github.com/chenall/grub4dos/releases/download/2020-02-29-3c0308b/grub4dos-0.4.6a-2020-02-29.7z
uextract grub4dos-0.4.6a-2020-02-29.7z
cd grub4dos-0.4.6a-2020-02-29.7z.extracted/grub4dos-0.4.6a
4) I strongly suggest to learn with file images that simulate Full GPT HDD. And use qemu to play virtually the GPT image. Or you can build your GPT USB as you normally will do at your own risk.
5) Building a image.
a) Lets create a 1 GB EMPTY ( 0x00 ) image
Code: Select all
dd if=/dev/zero of=1GB_GPT.img bs=512 count=2048K
b) Lets Create GPT and partitions: So as it is GPT we need at least 'EFI System' and I took the liberty of making it size 255MB. For Linux we need a swap and space for Linux OS. So I too the liberty to say swap for quemu equal 256MB, then the rest 512MB for Linux. Here the command to create such sample.
Code: Select all
sgdisk --clear \
--new 1::+255M --typecode=1:ef00 --change-name=1:'EFI System' \
--new 2::+512M --typecode=2:8300 --change-name=2:'Linux filesystem' \
--new 3::-0 --typecode=3:8200 --change-name=3:'Linux Swap' \
1GB_GPT.img
6) Lets check how our image was build by doing a list command.
NOTE: I build GPT image with minimum declared partition, just 'EFI System' type ef00. If you are one that believes you need to add more EFI partitions, feel free to add as many as you want. Yes we all know MBR should be protective.
7) The techy stuff.
For me grub4dos is glrdr+menu.lst. But in order for grub4dos to execute some method need to be added in the chainload sequence of the bootloading mechanism. In my personal choice I want this to be NONE UEFI. Making sure MBR Legacy safegard all GPT boot blocks. This is NOT a magic trick. This is in fact one of the many reasons why MBR is defined as PROTECTIVE by GPT.
I will manually copy glrdr + menu.lst to 'Linux filesystem' partition to ensure I do not touch any of the UEFI stuff, well in my sample UEFI='EFI System' and for the moment is EMPTY. Now to add glrdr I need to mount it! To mount it I need loop! Then we need to format our partitions. Finally copy files needed.
To add stuff to a image of an HDD we need to use loop. Why, I guess is the old way, I do not know at the moment it is over my head. We will just used it.
Lets print our system blocks before we do anything. Just to familiarize with what we have:
Mine show my REAL hardisk sda & sdb, CDROM sr0 & SDCARD mmcblk0. And depending on your Puppy you have loop0-loopn. In my case last one is loob12 witch is my 2GB Puppy save. So we can expect that our image disk will show in my case at next loop or loop13.
Next part be posted soon: