Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

official rpios bookworm issue #168

Open
ProblemChild4901 opened this issue Oct 16, 2023 · 172 comments
Open

official rpios bookworm issue #168

ProblemChild4901 opened this issue Oct 16, 2023 · 172 comments

Comments

@ProblemChild4901
Copy link

The official rpios bookworm release has changed the mount point /boot to /boot/firmware. The current rpi-clone can back up, but the backup media is not bootable because the cmdline.txt file is not updated with the new PARTUUID.
/boot/cmdline.txt -> /boot/firmware/cmdline.txt
Consider adding lines like this after these variable assignments "cmdline_txt=${clone}/boot/cmdline.txt"

if [ -h $cmdline_txt ] ; then
cmdline_txt=${clone}/boot/firmware/cmdline.txt
fi

This tests if the /boot/cmdline.txt is a link and changes it to the actual file.

@ProblemChild4901 ProblemChild4901 changed the title official rpios bookwork issue official rpios bookworm issue Oct 16, 2023
@faethon
Copy link

faethon commented Oct 16, 2023

Since I've updated to bookworm as well, looking at potential necessary fixes. I am looking at where to put this test.
Would this be right after line 1733?

Looking at my pi that I updated to bookworm by changing the source.list and apt update / apt upgrade, I found no folder /boot/firmware, my cmdline.txt is in (old) location /boot

Did you do a fresh install?

@ProblemChild4901
Copy link
Author

I did a fresh install of bookworm 64bit.
It seems likely that you will not be affected by the backup media boot issue, but I would test booting a backup to be sure.
I would add the new lines after each occurance of this line:
cmdline_txt=${clone}/boot/cmdline.boot

Lines 1733 1741

With these changes in place, backups of older versions of rpios will not be affected.

Some attention should be given to the area around ((convert_to_partuuid)). I have not tested this but the same three lines could be added after 974.
cmdline_txt=/boot/cmdline.txt

@faethon
Copy link

faethon commented Oct 16, 2023

Thanks, I'll look into this in my setup. For now it does not seem to be needed in my install. But it may be worthwhile for a future fresh install... A pity that rpi-clone does not seem to be maintained for quite some time anymore, and we have to rely on individual changes and updates such as the one pointed out by you.

@framps
Copy link

framps commented Oct 17, 2023

I'll create a fix in my fork when I'm back home next week.

@JohHenryBlack
Copy link

Rebuilt a Raspberry 4-System from scratch yesterday. After work I was surprised to find out that the backups I used to do with rpi-clone would not boot.

So I found your issues-discussion here and changed rpi-clone by only adding:

if [ -h $cmdline_txt ] ; then
cmdline_txt=${clone}/boot/firmware/cmdline.txt
fi

after line 1733.

To use it again in line 1741 will probably not work because you just changed cmdline_txt to point to a file (rather than a link) after line 1733 and check again whether it points to a link (which will always fail?). Line 1741 deals with cmdline.boot and not cmdline.txt? And from my poor understanding of what the code is doing here I think further changes are not needed here. Don't know about other parts of the code where /boot/cmdline.txt is used.

Bottom line: I cloned with just three lines added, it booted fine.

Hope that helps.

@framps
Copy link

framps commented Oct 22, 2023

I just created a fix in my fork so rpi-clone creates a bootable clone for bookworm. I tested the fix with a lite 32 bit image only. Would be great if if somebody tests the fix for other images and reports any issues.

EDIT: @zwolfpack s fix below is much better than mine. But realpath is not required for fstab. I created a PR and added the fix in my fork.

@ProblemChild4901
Copy link
Author

The changes around line 1733 are sufficient to make a normal backup bootable. One of the other two changes are in an area to change fstab and cmdline.txt from device names to PARTUUID: line 974. The other change seems to be when someone has a boot (or now firmware) partition on the SD card while the root partition is on a USB drive.: line 1741.

@zwolfpack
Copy link

zwolfpack commented Oct 23, 2023

The issue arises when cmdline.txt is edited via 'sed -i'. That command ends up replacing the symlink /boot/cmdline.txt with the edited content, but the link target in /boot/firmware/cmdline.txt, which is the place that needs changing, isn't changed.

To fix, realpath(1) can be used to resolve the filename to the actual target. Following patch applies this for all instances where 'sed -i' is used.

--- rpi-clone/rpi-clone 2023-10-22 20:01:42.068868892 -0700
+++ rpi-clone-bookworm/rpi-clone        2023-10-22 13:37:47.691962245 -0700
@@ -971,7 +971,7 @@
                cp $fstab_tmp $fstab
                printf "Your original fstab is backed up to $fstab_save\n"

-               cmdline_txt=/boot/cmdline.txt
+               cmdline_txt=`realpath /boot/cmdline.txt`
                cmdline_save=$cmdline_txt.${PGM}-save
                if [ -f $cmdline_txt ] && grep -q "$src_root_dev" $cmdline_txt
                then
@@ -1729,8 +1729,8 @@

 # Fix PARTUUID or device name references in cmdline.txt and fstab
 #
-fstab=${clone}/etc/fstab
-cmdline_txt=${clone}/boot/cmdline.txt
+fstab=`realpath ${clone}/etc/fstab`
+cmdline_txt=`realpath ${clone}/boot/cmdline.txt`

 if [ -f $cmdline_txt ]
 then
@@ -1738,7 +1738,7 @@
        then
                qecho "Leaving SD to USB boot alone."
                cp $cmdline_txt ${clone}/boot/cmdline.boot
-               cmdline_txt=${clone}/boot/cmdline.boot
+               cmdline_txt=`dirname $cmdline_txt`/cmdline.boot
        fi
        if grep -q $src_disk_ID $cmdline_txt
        then

@zwolfpack
Copy link

I realize that realpath is not required for fstab ... currently. However, a similar problem would arise if /etc/fstab was symlinked. So I though it prudent to fix that as well.

@framps
Copy link

framps commented Oct 24, 2023

However, a similar problem would arise if /etc/fstab was symlinked.

I see your point. But I don't expect /etc/fstab to become symlinked. It's a file as long as Linux exists. That's why I decided to remove realpath for /etc/fstab in my PR.

@framps framps mentioned this issue Oct 29, 2023
@bputtick
Copy link

I fixed this by adding --follow-symlinks to the sed command

@jdrch
Copy link

jdrch commented Nov 13, 2023

I just created a fix in my fork so rpi-clone creates a bootable clone for bookworm. I tested the fix with a lite 32 bit image only. Would be great if if somebody tests the fix for other images and reports any issues.

EDIT: @zwolfpack s fix below is much better than mine. But realpath is not required for fstab. I created a PR and added the fix in my fork.

FWIW it doesn't look like the fork works either with official clean install Bookworm on the Pi 3B+. I tried it just now and the Pi wouldn't get past power on.

@framps
Copy link

framps commented Nov 13, 2023

😢 Unfortunately rpi-clone misses an important feature to help if there are any issues - a debug log 😢

Would be great to have a debug log of your restore in order to help you. Maybe somebody adds the missing debug feature in rpi-clone 😉

@jdrch
Copy link

jdrch commented Nov 13, 2023

😢 Unfortunately rpi-clone misses an important feature to help if there are any issues - a debug log 😢

Would be great to have a debug log of your restore in order to help you. Maybe somebody adds the missing debug feature in rpi-clone 😉

No worries. I have an Pi 4B on hand so I'm using the SD card copier utility instead. Still not as handy for backups, but it'll work well enough to migrate from one microSD card to another. Here's hoping that doesn't fail.

@framps
Copy link

framps commented Nov 13, 2023

I use raspiBackup to backup my Raspberries. Just give it a try 😉

@jdrch
Copy link

jdrch commented Nov 13, 2023

I'll look into that, thanks!

@framps
Copy link

framps commented Nov 13, 2023

raspiBackup has a debug log 😄 - just in case you have any issues

@albe62
Copy link

albe62 commented Dec 10, 2023

Hi, I tried everything in this post but my cloned card doesn't boot. I run rpi-clone on a pi4 (waiting for pi5 arrival) with Pi OS "bookworm" 64 bit. Nothing to do, I have to give-up. The clone with GUI official script works, as usual.

@TaiPhamD
Copy link

Syncing file systems (can take a long time)
Syncing mounted partitions:
  Mounting /dev/sda2 on /mnt/clone
  => rsync // /mnt/clone with-root-excludes ...
  Mounting /dev/sda1 on /mnt/clone/boot/firmware
  => rsync /boot/firmware/ /mnt/clone/boot/firmware  ...

Editing /mnt/clone/boot/cmdline.txt PARTUUID to use 59dc1bbf
Editing /mnt/clone/etc/fstab PARTUUID to use 59dc1bbf

as others pointed out it did do the correct edit but just didn't store it at the right target folder. It stored it in /mnt/clone/boot/cmdline.txt instead of /mnt/clone/boot/firmware/cmdline.txt . I was able to manually put in the USB drive and set the right partition value in the firmware folder and it works.

@hra42
Copy link

hra42 commented Dec 24, 2023

@framps thanks, your version works without issue!

@fjpdevries
Copy link

fjpdevries commented Dec 24, 2023 via email

@jdrch
Copy link

jdrch commented Dec 24, 2023

@framps thanks, your version works without issue!

On which Raspberry Pi OS version?

@hra42
Copy link

hra42 commented Dec 25, 2023

@framps thanks, your version works without issue!

On which Raspberry Pi OS version?

Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 with Kernel: pi5 6.1.0-rpi7-rpi-2712

@fmarzocca
Copy link

fmarzocca commented Dec 27, 2023

which is the final patch to apply to rpi-clone on a Rasp 3B+ (32bit) bookworm? I am getting confused...

@framps
Copy link

framps commented Dec 27, 2023

  1. Fix the current code according official rpios bookworm issue #168 (comment)
  2. Apply the patch listed in official rpios bookworm issue #168 (comment) or use rpi-clone from my fork

@fmarzocca
Copy link

I have used @framps fork on my bookworm, and this is the results I am getting on boot partition:

ll /media/BOOT/
ls: cannot access '/media/BOOT/'$'\001''░m░╝╕'$'\035''≡.\≡ ': Input/output error
ls: cannot access '/media/BOOT/T± s4≡G:.ä± ': Input/output error
ls: cannot access '/media/BOOT/'$'\001''αy░▄Φ'$'\035''≡.|± ': Input/output error
ls: cannot access '/media/BOOT/╨± r.'$'\001''░m': Input/output error
ls: cannot access '/media/BOOT/▓"'$'\003''∩'$'\002''>'$'\002''.üá'$'\003': Input/output error
total 17124409
-rwxr-xr-x 1 pab  pab   218099713 Jan  4  1980 ''$'\001''.░'
drwxr-xr-x 8 pab  pab        4608 Jan  1  1970  .
drwxr-xr-x 5 root root       4096 Dec 27 12:58  ..
-rwxr-xr-x 1 pab  pab       29243 Dec 23 10:54  bcm2708-rpi-b.dtb
-rwxr-xr-x 1 pab  pab       29562 Dec 23 10:54  bcm2708-rpi-b-plus.dtb
-rwxr-xr-x 1 pab  pab       28986 Dec 23 10:54  bcm2708-rpi-cm.dtb
-rwxr-xr-x 1 pab  pab       28868 Dec 23 10:54  bcm2708-rpi-zero.dtb
-rwxr-xr-x 1 pab  pab       30739 Dec 23 10:54  bcm2708-rpi-zero-w.dtb
-rwxr-xr-x 1 pab  pab       31210 Dec 23 10:54  bcm2709-rpi-2-b.dtb
-rwxr-xr-x 1 pab  pab       31359 Dec 23 10:54  bcm2710-rpi-2-b.dtb
-rwxr-xr-x 1 pab  pab       33555 Dec 23 10:54  bcm2710-rpi-3-b.dtb
-rwxr-xr-x 1 pab  pab       31254 Dec 23 10:54  bcm2710-rpi-cm3.dtb
-rwxr-xr-x 1 pab  pab       32524 Dec 23 10:54  bcm2710-rpi-zero-2-w.dtb
-rwxr-xr-x 1 pab  pab       54707 Dec 23 10:54  bcm2711-rpi-4-b.dtb
-rwxr-xr-x 1 pab  pab       52476 Dec 23 10:49  bootcode.bin
-rwxr-xr-x 1 pab  pab       52476 Dec 23 10:49  bootcode.bin
-rwxr-xr-x 1 pab  pab  1611801893 Jan  5  2010 '°='$'\002''.'$'\a''Ç'$'\005'
-rwxr-xr-x 1 pab  pab        4096 Feb 12  2019  ._cmdline.txt
-rwxr-xr-x 1 pab  pab         142 Nov 19  2019  cmdline.txt
-rwxr-xr-x 1 pab  pab        4096 Feb 12  2019  ._config.txt
-rwxr-xr-x 1 pab  pab        1756 Dec 23 10:56  config.txt
-rwxr-xr-x 1 pab  pab        1739 Jul 10 10:56  config.txt.bak
-r-xr-xr-x 1 pab  pab  4294961157 Aug  1  1980 ''$'\001''░d.'$'\002''└#'
-rwxr-xr-x 1 pab  pab   520388128 Jan  4  2096 'e.'$'\004''└ '
-rwxr-xr-x 1 pab  pab        3180 Dec 23 10:49  fixup4cd.dat
-rwxr-xr-x 1 pab  pab        3180 Dec 23 10:49  fixup4cd.dat
-rwxr-xr-x 1 pab  pab        5412 Dec 23 10:49  fixup4.dat
-rwxr-xr-x 1 pab  pab        5412 Dec 23 10:49  fixup4.dat
-rwxr-xr-x 1 pab  pab        8397 Dec 23 10:49  fixup4db.dat
-rwxr-xr-x 1 pab  pab        8397 Dec 23 10:49  fixup4db.dat
-rwxr-xr-x 1 pab  pab        8399 Dec 23 10:49  fixup4x.dat
-rwxr-xr-x 1 pab  pab        8399 Dec 23 10:49  fixup4x.dat
-rwxr-xr-x 1 pab  pab        3180 Dec 23 10:49  fixup_cd.dat
-rwxr-xr-x 1 pab  pab        7269 Dec 23 10:49  fixup.dat
-rwxr-xr-x 1 pab  pab        7269 Dec 23 10:49  fixup.dat
-rwxr-xr-x 1 pab  pab       10242 Dec 23 10:49  fixup_db.dat
-rwxr-xr-x 1 pab  pab       10244 Dec 23 10:49  fixup_x.dat
-rwxr-xr-x 1 pab  pab    11317382 Feb  8  2076 ''$'\031''@*@'$'\a''`.'$'\006''î'$'\004'
-rwxr-xr-x 1 pab  pab         145 Nov 13  2018  issue.txt
-rwxr-xr-x 1 pab  pab        1594 Dec 23 10:49  LICENCE.broadcom
-rwxr-xr-x 1 pab  pab        1594 Dec 23 10:49  LICENCE.broadcom
-rwxr-xr-x 1 pab  pab       18974 Nov 13  2018  LICENSE.oracle
d????????? ? ?    ?             ?            ? ''$'\001''░m░╝╕'$'\035''≡.\≡ '
d????????? ? ?    ?             ?            ? '╨± r.'$'\001''░m'
drwxr-xr-x 4 pab  pab         512 Sep 21  2019  .Spotlight-V100
-rwxr-xr-x 1 pab  pab      808060 Dec 23 10:49  start4cd.elf
-rwxr-xr-x 1 pab  pab     3751752 Dec 23 10:49  start4db.elf
-rwxr-xr-x 1 pab  pab     2254944 Dec 23 10:49  start4.elf
-rwxr-xr-x 1 pab  pab     3002536 Dec 23 10:49  start4x.elf
-rwxr-xr-x 1 pab  pab      808060 Dec 23 10:49  start_cd.elf
-rwxr-xr-x 1 pab  pab     4823624 Dec 23 10:49  start_db.elf
-rwxr-xr-x 1 pab  pab     2979264 Dec 23 10:49  start.elf
-rwxr-xr-x 1 pab  pab     3726216 Dec 23 10:49  start_x.elf
d????????? ? ?    ?             ?            ?  T± s4≡G:.ä± 
-rwxr-xr-x 1 pab  pab  3221651719 Mar 16  2043 ''$'\002''.'$'\a''ü'$'\006'
d????????? ? ?    ?             ?            ? '▓"'$'\003''∩'$'\002''>'$'\002''.üá'$'\003'
-rwxr-xr-x 1 pab  pab         164 Mar 17  2019  wpa_supplicant.conf_Salty
d????????? ? ?    ?             ?            ? ''$'\001''αy░▄Φ'$'\035''≡.|± '
-rwxr-xr-x 1 pab  pab         172 Jan  1  2067 'σ▒≥'$'\016''╚.'$'\004'
-rwxr-xr-x 1 pab  pab  3892428806 Feb  1  2043 ''$'\003''Φ8.'$'\a''ü'$'\006'
-rwxr-xr-x 1 pab  pab   520388128 Jan  4  2096 ''$'\004''Φ'$'\b''É ~'$'\004\037''.'$'\004''φ'$'\b'
-rwxr-xr-x 1 pab  pab  3221586184 Mar 16  2043 ''$'\004\037\003''Φ   '$'\177''.'$'\b''ü'$'\006'
pab@pab:~ $ 

@seamusdemora
Copy link

@framps

OK - I'm confused. I was under the impression that this repo (the original rpi-clone) had been (or would be) archived as it was not being maintained. Geerling advertised his fork as a "friendly fork", and I assumed that was accurate.

So, could I ask, "What is the plan?"... will this (original) repo continue on, or are we all supposed to be on board with the geerling repo?

@framps
Copy link

framps commented Mar 10, 2024

Jeff fortunately volunteered to take over maintenance of this abandoned repository. Would be great if @billw2 updates this repo and points to Jeffs fork. Not sure whether he still follows his repo.

are we all supposed to be on board with the geerling repo?

If you want to get any updates/fixes on rpi-clone - yes 😉

I was inspired by rpi-clone and added clone support in my prototype of raspiBackup. It's a different backup tool and it's primary purpose is to create backups. I think the clone feature is a very useful additional feature which is missing in raspiBackup and that's why I created the prototype 😉

@geerlingguy
Copy link

Yeah, basically @framps has a great backup tool, with some added cloning functionality. And it has more active development. I'm maintaining a copy of rpi-clone minimally, just to make sure basic cloning functionality continues working on newer Pi OS releases. It is meant only for cloning.

@seamusdemora
Copy link

OK - thanks for the input!

BTW, have either of you taken a look at/evaluated the usb-boot tool? Like rpi-clone it's able to copy a "live" image from an RPi to an NVME card - or other media. Just curious if you were aware - or compared - the two.

@framps
Copy link

framps commented Mar 17, 2024

Given there is no feedback on the clone feature in raspiBackup I added in a prototype this feature will not make it into next release. It was a nice experience to add this feature but it's unfortunately orthogonal to the design of raspiBackup and therefore the prototype is just a hack and will not make it :-(

@scargill
Copy link

scargill commented Apr 1, 2024

Can someone clarify for the slower amongst us - I've been on hols for 3 weeks and so only now noticed the issue with the latest 64 bit OS on rPI 5 (it was working maybe 5 weeks ago). Can create ssd (on usb adaptors) clones but they will not boot. Should I be using the @framps version and it so which link?

@geerlingguy
Copy link

@scargill use https://rpi-clone.jeffgeerling.com

@scargill
Copy link

scargill commented Apr 7, 2024

@scargill use https://rpi-clone.jeffgeerling.com

Right I went to your page as you suggested - and as user pi I got rid of any traces of other rpi-clones and used the link
curl https://raw.githubusercontent.com/geerlingguy/rpi-clone/master/install | sudo bash

and the GOOD news is - it was a daft power message - didn't see it until I connected a monitor - in config.txt - the message tells you what one-line change to make in config.txt

Rebooted - SSD works - used that to create a new SD.

Here for anyone interested I've always used this in /etc/bash.bashrc to make life easwy - still works with your version of RPI-CLONE - WHEEE.

``
BLACK='\033[0;30m'
RED='\033[0;31m'
GREEN='\033[0;32m'
BROWN='\033[0;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
LIGHTGRAY='\033[0;37m'
DARKGRAY='\033[1;30m'
LIGHTRED='\033[1;31m'
LIGHTGREEN='\033[1;32m'
YELLOW='\033[1;33m'
LIGHTBLUE='\033[1;34m'
LIGHTPURPLE='\033[1;35m'
LIGHTCYAN='\033[1;36m'
WHITE='\033[1;37m'
NC='\033[0m'

alias stop='sudo shutdown now'
alias boot='sudo reboot'

#optional hostnames in 4 functions below
clone () {
printf "${LIGHTBLUE}Creating a quick clone on SDA${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -U sda)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}

cclone () {
printf "${LIGHTRED}Creating a full clone on SDA${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -f -U sda)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}

cloneb () {
printf "${LIGHTBLUE}Creating a quick clone on SDB${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -U sdb)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}

clonem () {
printf "${LIGHTBLUE}Creating a quick clone on MMCBLK0${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -U mmcblk0)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}

ccloneb () {
printf "${LIGHTRED}Creating a full clone on SDB${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -f -U sdb)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}

cclonem () {
printf "${LIGHTRED}Creating a full clone on MMCBLK0${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -f -U mmcblk0)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}

cclonec () {
printf "${LIGHTRED}Creating a full clone on SDC${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -f -U sdc)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}

clonec () {
printf "${LIGHTBLUE}Creating a quick clone on SDC${NC}\n"
touch /home/pi/clone-date
bashCmd=(sudo rpi-clone -U sdc)
if [ -n "$1" ]; then
bashCmd+=(-s "$1")
fi
"${bashCmd[@]}"
}
``

@jdrch
Copy link

jdrch commented Apr 28, 2024

Has anyone tried this: https://github.com/seamusdemora/RonR-RPi-image-utils?

@framps
Copy link

framps commented Apr 29, 2024

Yes. It's a nice tool to create a clone also. But in contrast to rpi-clone the clone is stored in a dd image and you have to restore the dd image first before you can use it. With rpi-clone you have a cold standy because the clone is already stored on an SD card or USB disk and can be used immediately.

In addition don't use the code from this repo ! The code is outdated and it's not the repo of Ron, the author of the code. He doesn't maintain his code on github. If you want to use his code grab the latest code directly from his thread in https://forums.raspberrypi.com/

@seamusdemora
Copy link

@framps

Yes. It's a nice tool to create a clone also. But in contrast to rpi-clone the clone is stored in a dd image and you have to restore the dd image first before you can use it. With rpi-clone you have a cold standy because the clone is already stored on an SD card or USB disk and can be used immediately.

Huh!?!? That is poppycock... every word of it is BS.

In addition don't use the code from this repo ! The code is outdated and it's not the repo of Ron, the author of the code. He doesn't maintain his code on github. If you want to use his code grab the latest code directly from his thread in https://forums.raspberrypi.com/

This must be Slag Seamus Day in your world!

Everything you've said in this post is provably and objectively UNTRUE. No idea what you've got a hard-on about, but please find someone else to invent stories about!

@framps
Copy link

framps commented Apr 30, 2024

Proof that every word is BS 😉

@jdrch
Copy link

jdrch commented Apr 30, 2024

Hey folks I didn't mean to start an argument. I came across the script I asked about in an XDA post and was curious since I'd never heard of it before. Currently only @framps' tool is actively developed by the original developer, so there's that.

@seamusdemora
Copy link

seamusdemora commented Apr 30, 2024

@framps

Proof that every word is BS 😉

How do you figure that? What has possessed you to start this mud-slinging? Do I know you... have I wronged you somehow that I'm unaware of? What makes people just go running off at the mouth (keyboard), and just make stuff up?

@framps
Copy link

framps commented Apr 30, 2024

Either proove my statements in #168 (comment) are wrong or shut up.

@seamusdemora
Copy link

seamusdemora commented Apr 30, 2024

@framps

  1. OK... first: "you have to restore the dd image first before you can use it."

No - that's utter nonsense... you can do a loop mount on the .img file to copy or edit any file you want. There's even a utility in image-utils that will do this for you: image-mount. And of course you can keep an image-backup-produced image file on a USB, SD, NAS, local drive - whatever. Finally - it is not a "dd image"... image-backup uses rsync to copy files from the "live" system to the *.img file. Only a nincompoop would try to use dd on a live, mounted filesystem! You have shown more ignorance in this one statement than I would have imagined humanly possible... where do you get these nonsense ideas??

  1. Second: "In addition don't use the code from this repo ! The code is outdated..."

Wrong again... If you'll actually bother to "look", you will see that the files from the GitHub repo are exactly the same as the latest posted version from RonR on the RPi forum page. You don't need to take my word for this... you can download the zip file from the forum & clone the GitHub repo - and then do a diff on the two. But you've not done that have you?... No - I didn't think so.

So - are you now going to "shut up", and retract your ignorance? ... I suspect not, but we shall see.

@seamusdemora
Copy link

@jdrch

Hey folks I didn't mean to start an argument. I came across the script I asked about in an XDA post and was curious since I'd never heard of it before. Currently only @framps' tool is actively developed by the original developer, so there's that.

Which tool is that?... framps' tool I mean.

@jdrch
Copy link

jdrch commented Apr 30, 2024

Which tool is that?... framps' tool I mean.

@seamusdemora scroll up, it's linked to in the thread.

@seamusdemora
Copy link

@jdrch : Do you mean a fork he created of this repo (rpi-clone)??

@jdrch
Copy link

jdrch commented May 1, 2024

@framps
Copy link

framps commented May 1, 2024

@seamusdemora

Great you now started to explain in detail what's wrong for you in my statements above instead of just grumbling 👍

Please note: I'm not saying image-backup is a bad tool. It's used by a lot of folks. It's a nice tool similar to rpi-clone which is also used by a lot of folks. image-backup has another design and because of this has other users.

(a) you can do a loop mount on the .img file to copy or edit any file you want.

Sure. You don't have to restore the whole backup if you just need some files to restore. losetup is the tool which helps to access any individual files in the backup.

(b) And of course you can keep an image-backup-produced image file on a USB, SD, NAS, local drive - whatever.

Sure. That's a difference to rpi-clone where you can only have a device as a target instead of a directory. There is a PR out there for rpi-clone to support loop devices. Then rpi-clone also will be able to store a clone in any directory.

(c) Finally - it is not a "dd image"... image-backup uses rsync to copy files from the "live" system to the *.img file.

Sure. rsync is used to populate an image mounted with losetup - not dd.

Please read my statement from above again carefully 😉

But in contrast to rpi-clone the clone is stored in a dd image and you have to restore the dd image first before you can use it. With rpi-clone you have a cold standy because the clone is already stored on an SD card or USB disk and can be used immediately.

(a) I didn't talk about partial restore of some data. I talked about a full restore of the whole clone. If you want to do this with image-backup you have to restore the backup on Linux with dd first (I didn't write anything about creation of the backup with dd). In contrast rpi-clone has the backup already available and no restore is required. That's one of the major difference for me between rpi-clone and image-backup.

(b) I didn't write this cannot be done with image-backup. I wrote rpi-clone creates the clone on a device like a SD card or SSD which then can be used immediately to boot the system. That's something image-backup cannot do.

(c) I didn't write dd is used to create the backup. I wrote you have to use dd to restore the backup. And keep in mind: The result of image-backup is an dd image which can be accessed with losetup and be restored with dd on Linux and other tools like Etcher, Rufus or win32diskimager on Windows. That's something I learned a lot of folks like because they can restore the backup on Windows instead on Linux. Mostly because they don't have another Linux system available - even the Raspberry runs with Linux and can be used to restore a backup or they feel much more comfortable on Windows than on Linux.

Please read my statement from above again carefully 😉

In addition don't use the code from this repo ! The code is outdated and it's not the repo of Ron, the author of the code. He doesn't maintain his code on github. If you want to use his code grab the latest code directly from his thread in https://forums.raspberrypi.com/

Your repo was updated 3 months ago. In the mean time Ron added multiple new versions of his code in the forum. So your repo is outdated. And I've seen multiple times folks grabbed Rons code from some github repos (not sure whether it was yours or others) and reported an issue in the forum thread and Ron just answered it's already fixed: Just grab my latest code from my first post in this thread.

@scargill
Copy link

scargill commented May 1, 2024

The updated RPI-clone vis backing up directories..... RPI-clone is so fast, who cares about all the detail about which directories need backing up – it does the lot – just changes – typically. Using my aliases - a typical clone to SD involves the word CLONE and that;'s it - can do a clone blind drunk - often in a minute - no thought - no effort.... when I refer to rpi-clone, today on RPI and Bookworm of course, I'm referring to this. curl https://raw.githubusercontent.com/geerlingguy/rpi-clone/master/install | sudo bash

@framps
Copy link

framps commented May 1, 2024

The updated RPI-clone vis backing up directories..... RPI-clone is so fast, who cares about all the detail about which directories need backing up – it does the lot – just changes – typically.

image-backup is also very fast because it uses rsync to backup only changes. I don't want to have a flame war rpi-clone against image-backup here 😳 . Both are nice and heavily used tools. I just want to make sure everybody understands the major differences between them and then can decide which tool is the best one for his Raspberries.

@jdrch
Copy link

jdrch commented May 1, 2024

Both are nice and heavily used tools. I just want to make sure everybody understands the major differences between them and then can decide which tool is the best one for his Raspberries

Agreed. The more options we have, the better.

@seamusdemora
Copy link

@framps

The updated RPI-clone vis backing up directories..... RPI-clone is so fast, who cares about all the detail about which directories need backing up – it does the lot – just changes – typically.

image-backup is also very fast because it uses rsync to backup only changes. I don't want to have a flame war rpi-clone against image-backup here 😳 . Both are nice and heavily used tools. I just want to make sure everybody understands the major differences between them and then can decide which tool is the best one for his Raspberries.

Is this what you call a "graceful retreat"? LOL

@framps
Copy link

framps commented May 4, 2024

No. It's just a statement to make sure we're on the same page 😉

@seamusdemora
Copy link

Ah - so is that an admission that you were mistaken?

But after your BS rant - NO... We are not now, nor will we ever be "on the same page". You have issues, my friend - you should get some help.

@framps
Copy link

framps commented May 4, 2024

<((((*>

@seamusdemora
Copy link

Oh-h-h!... look everyone - he's so clever. :)

@fmarzocca
Copy link

fmarzocca commented Jun 14, 2024

Is there anyone who can help me on this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests