You are not logged in.
Pages: 1
It has taken me 3 years to find a very simple way to Re-Spin any Debian Distro. 5 years ago Q4OS was my daily driver but, I set it aside because I did not have a firm understanding of Debian filesystem configuration and how Grub Menu launched a Distro installed file system. I use other Debian Distros that had Remaster Tools or I used Systemback 1.6 (Dev. ended in 2017). Well, after 3 years of testing, research and trial and error, I have found a very simple process (its manual at this time) that even a newbie can use to Re-Spin their custom build of Q4OS (Any Debian Based system) that uses Grub as its bootloader. The Tools that I use are Gparted, the dd and rsync commands performed from a 2nd boot partition which could be a USB Stick. Its just a matter of copying your custom build filesystem to either an image; another hard drive partition or a USB Stick.
So what is special about this ? Its the fact that is SO EASY and I am in the process of automating the process using YAD GUI and Bash Scripting. It will be issued under GPL 3.0 and all files are native and not compiled. A newbie user can boot a USB Stick with this Build and host their own webserver from home.
I Call my own version of the Q4OS Respin - GoPortal. In my build I am including a LAMP Setup and Social Media Clone of Facebook and Joomla 3.9
Video of this build is here: Q4OS Respin GoPortal LAMP Video
Q4OS Centaurus - Trinity Desktop + XPQ4 add-on
Apache2 Webserver
dnsmasq (not active in localhost version)
Maria DB 10.x (MySQL Compatable)
PHP 7.3 + all need extensions
OSSN - Open Source Social Network (Free Version)
OSclass - Open Source Classifies (Free Version)
Joomla CMS 3.9.x
The Process in detail copy using either rsync or dd with partitioning resizing using Gparted. Then syncing uuid=number in /etc/fstab & /etc/initramfs-tools/conf.d/resume files. then updating initramfs & updating /boot/grub/grub.cfg using sudo commands.
boot to 2nd partition
mount partition to be Re-spinned.
Copy from hard drive to hard drive (partition file system copy) using rsync (For example: sda2 --> sdb1)
NOTE: Shrink source partition using Gparted (rsync copy) or Fdisk to find byte sector count number (dd count=number)
sudo rsync -qaHAXS --progress /media/mounted-partition/ /media/target-partition/
dd command can be used to create a img file and it can be compressed with gzip for maximum compression:
sudo dd if=/dev/sdxX of=./dd-image-file-of-custom-build-partiton.img bs=4M status=progress && sync
dd img file can then be compressed for maximum comp[/ression. (Example 5GB --> 1.4GB)
gzip -k -9 ./dd-image-file-of-custom-build-partition.img
resulting file is: dd-image-file-of-custom-build-partition.img.gz
To decompress file:
gzip -d ./dd-image-file-of-custom-build-partition.img
Using dd command to copy custom build respin img file to hard drive or USB Stick partition:
sudo dd if=./dd-image-file-of-custom-build-partition.img of=/dev/sdxX bs=4M status=progress && sync
Note: When copying a partition it retains same uuid=number as source partition and this can not occur on same computer. The uuid=number needs to be changed in fstab & resume file. Then needs to be update in grub.cfg file:
Find correct uuid=number
sudo blkid
Hard Drive:
Insert correct uuid=number in the new target partition /etc/fstab & /etc/initiramfs-tools/conf.d/resume files
USB Stick - Change uuid=number using Gparted (also do swap partition if applicable)
Insert correct uuid=number in the new target partition /etc/fstab & /etc/initiramfs-tools/conf.d/resume files
Run Grub update on 2nd partition on hard drive & Reboot
Highlight new partition sdxX Grub Menu & Press "e" key. Verify the last uuid=number is same as other top uuid=number. Press "F10" key.
When booted in to new partiton: (dev/sdxX = new partitoin)
sudo update-initramfs -u && sudo grub-install /dev/sdxX && sudo update-grub
DONE !
NOTE: Special configuration for USB Stick.
I use a prebuilt USB Stick build from a 1 Megabyte dd img file that has MBR, Grub, 12GB ext4 & 3GB+ linux-swap partitions.
I suggest using Gparted and Grub commands to build a base bootable USB Stick. For exmaple on a 16GB USB Stick
12GB ext4 root partition & 3GB+ linux-swap partition.
Then use dd command to place your custom Q4OS Build image .img file in the root partition on USB Stick. /dev/sdxX (not /dev/sdb)
Or the 1MB image and detailed instructions are here: https://github.com/godistros/GoDistrOS
No Longer Using Q4OS
Offline
Are there any benefits to this method above the Q4OS advised method posted 3.5 years ago? I used that method successfully for a few "respins" with my preferred software included.
I have been using *"live-build" to create my own Debian respins although I haven't tried installing TDE (yet) but I have a script that builds a custom Debian ISO live image in around **15-30 minutes (including my preferred applications not available from debian repositories, ie PyCharm, Palemoon and latest Arduino IDE). and it is a fully functional Live iso image with full installation process giving the same choices as you get when installing normal Debian.
*Live build can be used with other repositories (i.e. Ubuntu and Debian derivatives))
** I use a local hosted Debian repository to enable files to be downloaded at gigabit speeds rather than isp speeds (much less) to reduce time downloading required packages and therefore overall build time.
Offline
Yes there are benefits to using my suggested method over Q4OS method and Systemback. I tried the Q4OS method and it resulted in errors. I'll admit that I may have not been doing something correctly but, if I could fail so could others. My suggested method never fails and it is faster than the Q4OS method . It can be used for HD --> USB Stick Distro Remastering and HD --> HD partiton duplication. Even newbies will be able to use my suggested method to easily Re-Spin their own Distro.
As in your post you linked, their is discuss of command line switches. So a person has to fully understand these switches and not everyone will take the time to learn them. This statement: "modify XORRISO_OPTIONS to suite your needs" is about as clear as mud. I am not knocking any Q4OS method, I only wanted to find a very easy way that takes no learning at all. Just follow the very simple instructions which I am automating at this time.
I am switching back to Q4OS as my daily driver now that I can remaster it using my method. I'll promote it over Ubuntu and Sparkylinux.
If anyone from Q4OS Development Team would like to make suggestions on what a person needs to remove from a Re-Spin of Q4OS, I'll be happy to pass that along and state as such in my Popup disclaimer shown in the Video.
As far as Licensing issues with Aapche2 Webserver, PHP, Joomla, OSSN and OSclass. They all have approved and have no problem as long as:
1 I leave all package files unmodified.
2. I don't remove any license reference
3. I don't use commercial versions in my GoPortal Re-Spins
4. Even have permission to sell my GoPortal builds if I want to.
5. Make source files available as reguired by various licenses.
No Longer Using Q4OS
Offline
I'll have to take a better look at it, it's always handy to have another option eh
Offline
I for one thank you for such a detailed tutorial -- I will keep it in mind for any future need.
Offline
Pages: 1