How To Make A DebianDog-QuirkyTahr Multiboot USB Stick

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

How To Make A DebianDog-QuirkyTahr Multiboot USB Stick

#1 Post by step »

How To Make A DebianDog-QuirkyTahr Multiboot USB Stick

But why?
  • DebianDog provides a great environment to further experiment with on-a-stick "appliances".
  • Quirky Tahr + DebianDog on the same stick = easy and powerful tools that complement each other + applications.
  • Because we can!
Credits
This is a fairly simple How-To thanks to the giants, of various heights, who made all the pieces available, including excellent forum threads that explain each piece in detail. Credits go to forum members saintless and fredx181 for DebianDog, to member ETP for Blue Pup, and the list goes on and on...

Quirky Tahr is a fully-installed OS (not a live distro). With Puppy linux it shares look and feel, applications and packages. It also supports ubuntu packages. For this How-To I'm going to use the Blue Pup variant of Quirky Tahr 6.0.5, because Blue Pup includes the Chromium browser to greet users with an engaging tiled screen a la Windows 8 that I personally like, and because installing Blue Pup to a stick is very easy. As of April 2014, Quirky Tahr 6.0.5 is stable and not actively developed. As of May 2014 Blue Pup Version 4 Final is also stable.

DebianDog is a Debian Wheezy live distro that looks like Puppy while retaining full compatibility with Debian linux and its packaging system. With Puppy linux it shares look and feel, and some applications and packages. DebianDog innovates Puppy in many ways, notably by providing easy kernel mixing and remastering, and multiple boot methods. For this How-To I'm going to use live-boot-3x method because it can save persistent data to a partition. As of August 2014 DebianDog is stable and it's actively developed.

Quirky Tahr Links DebianDog Links Pre-Requisites
  • Some familiarity with the linux command line.
  • An 8 GB USB stick.
  • A working network connection to the Internet.
Let's Get Started
The finished USB stick will carry 5 partitions as follows:
Note: /dev/sdb refers to the USB stick on my PC. On your PC you might need to change /dev/sdb to /dev/sdX where X represents a letter that identifies your USB stick on your PC. Make sure to replace X with the letter that correctly identifies your USB stick or you could wipe vital data on your other disk drives. The remainder of this guide will use /dev/sdb in lieu of the correct letter for your PC.

Code: Select all

# fdisk -l /dev/sdb

Disk /dev/sdb: 7747 MB, 7747397632 bytes
239 heads, 62 sectors/track, 1021 cylinders, total 15131636 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00060b5d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63       31999       15968+   e  W95 FAT16 (LBA)
/dev/sdb2           32768     7837695     3902464   83  Linux
/dev/sdb3         7837696    12031999     2097152   83  Linux
/dev/sdb4        12032000    15130623     1549312    5  Extended
/dev/sdb5        12034048    14131199     1048576   83  Linux
/dev/sdb6        14133248    15130623      498688   82  Linux swap / Solaris
/dev/sdb1 is a 16MB boot partition carrying the syslinux boot loader.
/dev/sdb2 is a 4GB f2fs partition carrying Blue Pup.
/dev/sdb3 is a 2GB ext4 partition carrying DebianDog.
/dev/sdb5 is a 1GB ext2 partition carrying Debian's persistence data.
/dev/sdb6 is a swap partition.
If your USB stick is larger than 8GB you may grow sdb3, sdb5 and sdb6.

A. Installing Blue Pup
  • Download Blue Pup blue_pup_v4.img.xz from the link near the top of this post. If you are on Windows download also (Copy of) "win32diskimager-v0.7-binary.zip".
  • Install Blue Pup to your USB stick as explained in this post. You may use either the Windows method or the linux method. I used the Windows method. Pros and cons of each methods are further explained in this post.
  • Boot your PC from the Blue Pup USB stick. After about 20-30 seconds Chromium should be running and display a full page of colorful tiles. Press Alt-F4 to close Chromium. Be careful not to move your mouse pointer near any screen edge or you will be surprised with a new window of some sort. You will have time to play with Blue Pup later (it's fun!). For now let's tame the "Hot screens sides" utility to avoid any surprises.
  • Press Alt+F1 to display the system menu and select cascading entries "Utility" > "Urxvt terminal emulator". In the new terminal window type chmod 644 /root/startup/behave, press ENTER then close the terminal window.
  • Press Alt+F1 again and select cascading entries "Shutdown" > "Reboot computer".
  • Reboot and get back to the Blue Pup Desktop. Press Alt-F4 to close Chromium. Drag your mouse pointer to the four edges of the screen. Nothing surprising should happen. That indicates that you successfully completed the previous steps. Now you can explore Blue Pup at your leisure then come back to this guide. While you are exploring Blue Pup you may want to follow the Setup Procedure paragraph in this post.
B. Partitioning
  • Close all open windows in Blue Pup.
  • Press Alt+F1 and select cascading entries "System" > "Gparted partition manager". Select "sdb USB drive" - or the sdX corresponding to your USB stick; look for a yellow dot on one of the Desktop drive icons, which will tell you the correct sdX for your system. Click OK.
  • Right-click the "unallocated" row and create a new 2048 MB ext4 primary partition labelled "DEBIANDOG". Click Add to confirm.
  • Right-click the "unallocated" row and create a new extended partition taking up all the free space on the stick.
  • Right-click the "unallocated" row and create a new 1024 MB ext2 logical partition labelled "persistence" (check your spelling).
  • Right-click the "unallocated" row and create a new linux swap partition taking up the remaining free space on the stick.
  • Maximize the window and click Apply on the toolbar. Confirm all prompts. Close and exit GParted when it's finished partitioning.
  • Press Alt+F1 and select cascading entries "Utility" > "Urxvt terminal emulator". Type fdisk -l /dev/sdb and verify that the output looks substantially like the first code block in this post. This indicates that you successfully completed the previous steps. Swap partition /dev/sdb6 could be sized slightly differently depending on the USB stick characteristics. It is OK.
C. Installing DebianDog
Note 1: the default DebianDog kernel isn't optimized for multi-core systems. Switching to a more capable kernel is well-documented in this post. I only tested the default kernel.
Note 2: The DebianDog thread mostly assumes Grub as your boot loader, while this guide uses syslinux. So you need to adapt the examples in the DebianDog threads if you venture outside this guide.
  • With the Blue Pup console window still open type tune2fs -O ^has_journal /dev/sdb3 to disable journaling of the ext4 partition thus reducing wear of your USB stick.
  • Click once the small desktop icon on the system bar, near the Puppy Menu icon. If nothing happens click once again. All windows will be minimized. Click once the disk icon labelled sdb1 to mount the partition and display its contents in a new ROX filer window that we will call target1. It should show exactly one folder named "boot" and two files, "ldlinux.sys" and "vmlinuz". Right click an empty space in that ROX window and select cascading entries "New" > "Directory" to create a new folder named "live-boot". Click once the new "live-boot" icon to enter the empty folder.
  • If you did not configure networking on this Blue Pup before, this is the time to do so. Click once the small network icon in the system bar and follow the wizard to set up your network connection.
  • Press the Windows Logo key on your keyboard to start Chromium then download DebianDog-Wheezy-jwm_icewm.iso from the link near the top of this post. Right click the downloaded file icon near Chromium's bottom border and select "Show in Folder" to open ROX filer.
  • In ROX filer click once DebianDog-Wheezy-jwm_icewm.iso to mount the ISO file and display its contents in a new ROX filer window that we will call the source. You should see at least two folders "isolinux" and "live" and two files "DebianDog-Installer" and "Examples-boot-codes.txt". Click once folder "live" to display its contents. Now left-click and hold down while dragging file "initrd.img" into the target1 window open on the empty "live-boot" folder. Release the left mouse button and select entry "Copy". Do the same for file "vmlinuz1".
  • Minimize all windows. Click once the disk icon labelled sbd3 to mount the partition and display its contents in a new ROX filer window that we will call target2. It should show exactly one folder named "lost+found". Find the minimized source ROX Filer, restore it, go up one folder then drag folder "live" into the target2 window. Select "Copy". Once ROX it's finished copying, close the source and target2 ROX windows.
  • Find the minimized target1 window, restore it, go up one folder where folders "boot" and "live-boot" are located and click once folder "boot" then click folder "syslinux" then file "syslinux.cfg". You should see these contents:

    Code: Select all

    # Boot Blue Pup V4 ETP 5th May 2014
    default /vmlinuz root=PARTUUID=00060b5d-02 rootwait rw
    
  • Replace all contents with the following text and save the file:

    Code: Select all

    # Boot Blue Pup V4 ETP 5th May 2014
    #default /vmlinuz root=PARTUUID=00060b5d-02 rootwait rw
    
    default vesamenu.c32
    timeout 300
    prompt 0
    
    label DebianDog
    menu label DebianDog Wheezy live-boot-3x
    append root=PARTUUID=00060b5d-02 rootwait initrd=/live-boot/initrd.img boot=live config persistence rw-basemount swapon quickreboot noeject autologin showmounts live-media=removable-usb persistence-media=removable-usb
    kernel /live-boot/vmlinuz1
    
    label BluePup
    menu label Blue Pup V4 ETP 5th May 2014
    kernel /vmlinuz
    append root=PARTUUID=00060b5d-02 rootwait rw
    
  • Close the editor window.
  • Download the attached file "vesamenu.32.zip", click its icon in the downloads folder, and unzip the contained file "vesamenu.c32" into the same folder of file "syslinux.cfg".
  • Close the target1 ROX window.
  • Restore the remaining minimized ROD filer window - so many ROX windows! - navigate up to file "DebianDog-Wheezy-jwm_icewm.iso" and click its icon once to unmount the ISO file. Close this ROX window, too. Do not reboot yet.
D. Adding Persistence
  • Close all open windows in Blue Pup. Click once the disk icon labelled sbd5 to mount the partition and display its contents in a new ROX filer window. It should show exactly one folder named "lost+found". Right click an empty space and select cascading entries "New" > "Blank File", name the file "persistence" (check your spelling) and press Create.
  • Click once file "persistence" to edit it and add data persistance criteria. To save all changes while DebianDog is running enter the following text and save the file:

    Code: Select all

    / union
    
    
    Make sure to enter the last blank line otherwise data persistence won't work.
Eventually you might want to revisit persistence.conf to limit the amount of saved information to just a few files/folders. In that case follow this help page. I tried but did not succeed, so my current persistence.conf file looks exactly like shown above.

E. Testing
Close all open windows in Blue Pup, press Alt+F1 and select cascading entries "Shutdown" > "Power-off computer". Reboot from the USB stick and you should see a two line menu listing:

Code: Select all

DebianDog Wheezy live-boot-3x
Blue Pup V4 ETP 5th May 2014
If you don't see this menu and you are positively booting from the USB stick then check to see that vesamenu.32 is in the same folder with syslinux.cfg. If you still can't see the menu when you reboot then carefully double-check sections B through E in this guide.

When you do see the menu select Blue Pup. Your PC should boot and work as it did before. Shut down and reboot again. Select DebianDog in the boot menu. DebianDog should start into a full graphical display. If you are having problems with missing device drivers (typically for your wifi interface), try pressing ENTER to complete the boot sequence. If you are seeing display problems please don't post to this thread because I can't support the OS per se. Debian is well-documented on the Internet.

Assuming that DebianDog is working on your PC, now test persistence. Open a ROX filer window from its desktop icon and create a new file in your home folder. For instance create file "TEST" in folder "~". Press Alt+F1 and select cascading entries "Shutdown" > "Reboot". Select DebianDog in the boot menu, wait for the graphical Desktop, open ROX filer again and, if persistence has worked, you should find file "TEST" where you created it. Congratulations! You now have a dual-boot DebianDog/Blue Pup USB stick ready for your next projects.

If instead you couldn't find the test file then carefully check that /dev/sdb5 is labelled "persistence" and that it contains file "persistence.conf" with two lines inside:
/ union
Attachments
vesamenu.c32.zip
(83.14 KiB) Downloaded 594 times
Last edited by step on Mon 11 Aug 2014, 14:59, edited 3 times in total.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#2 Post by step »

Application tutorials
How To Make A Network Storage NAS Appliance With DebianDog and OpenMediaVault

Alternative boot methods
DebianDog developer fredx181 recommends using live boot methods live-2x and porteous. Read more....

Speeding up the boot sequence
DebianDog developer saintless comments on how to speed up the boot process Read more....
Last edited by step on Mon 11 Aug 2014, 15:28, edited 4 times in total.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#3 Post by fredx181 »

Hi step,
For this How-To I'm going to use live-boot-3x method because it can save persistent data to a partition. As of August 2014 DebianDog is in beta testing and it's actively developed.
I'd understand it goes beyond the scope of your howto to describe all options for booting DebianDog, but I'd like to add that the other options besides live-boot v3 can also save persistent data to a partition.
- live-boot v2: Label a partition "live-rw" and instead of "persistence" it must be "persistent" on the kernel line.
- porteus-boot: for a partition any label name works as long as it corresponds with the "changes=LABEL:mylabelname/" parameter.
A directory "changes" will then contain the savings on partition labeled "mylabelname"

Also, I'd recommend live-boot v2 or porteus-boot because live-boot v3 has it's strange unexpected surprises when loading multiple .squashfs modules at boot.

Btw, DebianDog is in fase stable now.

And Thanks!

Fred

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#4 Post by step »

Hi Fred,

thanks for poiting out about other live boot methods. I have added linked your post in #2 of this thread. So, this How-To uses live-3x for no better reason than 3 is greater than 2. :)
But caveat emptor, in Fred's own words:
fredx181 wrote:I recommend live-boot v2 or porteus-boot because live-boot v3 has it's strange unexpected surprises when loading multiple .squashfs modules at boot.
Also changed DebianDogs beta status to stable in first post. Thanks!
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#5 Post by fredx181 »

step wrote:for no better reason than 3 is greater than 2 Smile
And... less is more (I'm getting to philosophical now, I know :) )

Blue pup is only as full install right?
I'll try someday.
As I only have usb 2.0, isn't that going to be slow?
With a live system it's ok specially when loaded in RAM.

Fred

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#6 Post by step »

fredx181 wrote:Blue pup is only as full install right?
I'll try someday.
As I only have usb 2.0, isn't that going to be slow?
With a live system it's ok specially when loaded in RAM.

Fred
Correct. Blue pup is full install only, and there's no layered filesystem.

Comparing speed is subjective, as I didn't time performance, but Blue Pup feels faster than DebianDog. They run - one at the time - off the same USB 2.0 stick on the same laptop, so hardware can't possibly make a performance difference. Blue pup boots very fast (then it autostarts Chromium, which takes some time due to programmed sleeps). DebianDog's live boot feels a bit slower, not much really, although now my DebianDog is heavily customized for my new project, so its custom boot sequence loads much more than the iso file you provide.
They're both fine OSes and serve different purposes. With DebianDog I'm building an appliance by combining many packages. I couldn't do the same with Blue Pup because it isn't Debian-compatible.

Try both systems yourself: follow this How-To and you'll be up and running in nearly no time :lol:
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#7 Post by saintless »

Hi, Step.
Just some information about the speed if it is important to make it faster in some point:
DebianDog main module 01-filesystem.squashfs is maximum xz compressed (Fred was against this :) ) and this results is around 30-40 Mb smaller size but slower boot and maybe slower performance.
If you extract the main module and use gzip compression it will run and boot faster (workdir will be auto-created):

Code: Select all

unsquashfs -d /path-to/workdir /path-to/live/01-filesystem.squashfs
And then compress new 01-filesystem.squashfs with default gzip compression:

Code: Select all

mksquashfs /path-to/workdir /path-to/01-filesystem.squashfs
Full install will run even faster since it is uncompressed system.

To speed up the boot process porteus-boot is faster. Live-boot-2x and live-boot-3x boot is faster with systemd instead sysvinit:
http://www.murga-linux.com/puppy/viewto ... 990#777990
And here Fred has experimental solution for porteus-boot with systemd:
http://www.murga-linux.com/puppy/viewto ... 672#792672

And Puppy-initrd-boot is also much faster but no save on partition available. Only save file and save folder :
http://www.murga-linux.com/puppy/viewto ... 468#788468

Toni

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#8 Post by step »

saintless wrote: Just some information about the speed if it is important to make it faster in some point...
Thanks Toni, linked to in post #2.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#9 Post by step »

[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#10 Post by saintless »

Thank you, Step!

I wish you were there to help... Maybe you will still find this useful - DebianDog comes from the same place more or less:
http://foxyroxylinux.com/viewtopic.php?p=21#p21
http://foxyroxylinux.com/index.php

Toni

gcmartin

DebDog NAS is simple

#11 Post by gcmartin »

How about this for NAS ability in a PUP which will "talk" to every PUP and every Apple and every Microsoft and and most-every Linux distro and EVERY device manufactured to share/store files on Windows/Mac PCs as well ?

DebDog (any version) with SAMBA V4+ equals instant NAS. If 01Micko's PET works in DebDog, then there is an OOTB instant solution which makes most every user an instant NAS knowledgeable user. With his PET, SAMBA can be done without a manual and with little instructions. Reason: 01Micko's PET, on its very first click, will guide any user in simple setup, use, and how to start or stop SAMBA all too easily and all to intuitively...in a single-click dialogue window. And, the cost...10MB in ISO or 7MB in RAM operation. This, as in Apple and Microsoft, should be included in every modern PUP distro, OOTB. No thought or installation should this be for modern PUPs on LANs in the home. It should be always found in the Menu (Menu>Network>SAMBA sharing)

This is just another simple solution for DebDog instant NAS.

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#12 Post by step »

saintless wrote:Thank you, Step!

I wish you were there to help... Maybe you will still find this useful - DebianDog comes from the same place more or less:
http://foxyroxylinux.com/viewtopic.php?p=21#p21
http://foxyroxylinux.com/index.php

Toni
You're welcome, Toni! The links you posted are interesting indeed. I can see that your involvement in foxyroxylinux was more than casual, and that it gave you background and inspiration for DebianDog. Good thing for the puppy community, who benefit from your and Fred's efforts. I do hope more members will have the time to explore DebianDog, and share their own projects and applications for it. It's easy and fun!
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

Re: DebDog NAS is simple

#13 Post by step »

gcmartin wrote:This is just another simple solution for DebDog instant NAS.
It sounds like a good vision. Let me add that a full-fledged NAS includes SAMBA but is actually much more; network file systems (SAMBA, NFS, etc.), network transfer protocols (FTS, SFTP, etc.), network backup (RSYNC, etc.), RAID / disk / volume / quota / user management, system / performance monitoring, remote access interface, etc. All that is included in OMV.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

gcmartin

#14 Post by gcmartin »

BTW, @Step, I MUST comment that this thread is fantastic! Should have done this yesterday. Clear, well structured, and easy to follow with awareness of what is being accomplished. Thanks

step
Posts: 1349
Joined: Fri 04 May 2012, 11:20

#15 Post by step »

gcmartin wrote:BTW, @Step, I MUST comment that this thread is fantastic! Should have done this yesterday. Clear, well structured, and easy to follow with awareness of what is being accomplished. Thanks
Thank you, gcmartin! I actually ate my own dog food by going through this tutorial step-by-step to install a new USB stick. Then I did the same for my NAS tutorial. I'm sure that there still are some kinks, but I hope not too sharp. Time will tell.
[url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Fatdog64-810[/url]|[url=http://goo.gl/hqZtiB]+Packages[/url]|[url=http://goo.gl/6dbEzT]Kodi[/url]|[url=http://goo.gl/JQC4Vz]gtkmenuplus[/url]

Post Reply