Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Installing Gentoo
  • Search

best way to move gentoo . hdd -> ssd (solved)

Having problems with the Gentoo Handbook? If you're still working your way through it, or just need some info before you start your install, this is the place. All other questions go elsewhere.
Post Reply
Advanced search
25 posts • Page 1 of 1
Author
Message
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

best way to move gentoo . hdd -> ssd (solved)

  • Quote

Post by hedmo » Sun Feb 07, 2021 2:06 pm

hi

i have read a lot about cloning , coping and making a stage X but what is the fastest and best way to switch my gentoo
installlation from hdd to ssd.

regards
Last edited by hedmo on Mon Feb 08, 2021 4:48 pm, edited 1 time in total.
Top
Buffoon
Veteran
Veteran
User avatar
Posts: 1369
Joined: Wed Jun 17, 2015 2:22 pm
Location: EU or US

  • Quote

Post by Buffoon » Sun Feb 07, 2021 3:26 pm

Boot from external media, mount both HDD and SDD in temporary directories, use 'cp -a', chroot into your SDD and reinstall bootloader, fix everything where PARTUUID or filesystem UUID was used.
Life is a tragedy for those who feel and a comedy for those who think.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Sun Feb 07, 2021 3:40 pm

I had a thread on this recently. My problem was that I could not boot any rescue medium and I was also changing drive position. I solved it by putting both drives in an empty PC (the target actually) that could boot CD's.
For your case, if you have a rescue medium (like the Gentoo liveusb) on CD, DVD, or USBstick that you can boot, put both drives in that box (easiest if it is the target box), boot the rescue medium and mount both drives as say /mnt/src and /mnt/target. Any names will do. Create you partitions and filesystems as you would for a new install on the target drive if you haven't done so already. Then use "cp -ar" as root to copy the real filesystems (i.e. not /proc or /sys or /dev ...) but not symlinks! I found out that if you copy symlinks like /lib recursively as well as copying the target, then you will do a double copy.
If doing it as a remote, boot both systems to rescue media, start an rsync daemon on both, and use rsync. It's quicker and easier to monitor.

I wrote a shell script for the latter scenario but wound up doing the steps by hand. I'm bad at writing shell. Maybe you could fix it.
/usr/local/bin/cloneme

When switching to an SSD add a line to the root crontab:

Code: Select all

15 2 * * tue /sbin/fstrim -va |logger
Tuesday morning is convenient for me. Use whatever time is convenient for you.
fstrim is supplied by util-linux which is a dependency of portage (and many other packages) so you should have it.

EDIT:
cloning windows is easier because typically it's all on one drive partition and Microsoft provides a tool. Of course, you have no idea what kind of data mining the tol is doing nor what Windows itself is doing. I have a Win10 VM for TurboTax only. It uses a totally different LAN address so Turbotax can talk to the internet but nothing in the VM can see the other machines. When i need a file, I burn a CD and let the VM see the CDROM burner and also the USB printer (not the wireless printer).

I did an fstrim right away on the new SSD. Don't know if that is required or even advisable but I figured one extra trim can't hurt.

You might have to adjust /etc/fstab if you are booting by UUID or label and possibly by devname. Doesn't hurt to review it.
Since I was cloning to a machine with the same architecture, I also had to edit /etc/conf.d/hostname (OpenRC). I use fixed ipaddresses but I let the dhcp server assign them by MAC address so they are effectively fixed, but I do all my machines at one spot.

I was cloning to a machine with the same CPU family and you are cloning to the same machine. If one wanted to clone to a machine that wasn't binary compatible. It would be better to do a stage3 install, then copy /root, /home /etc/portage and the portage world file over and emerge -e @world
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Sun Feb 07, 2021 4:09 pm

Tony0945 and Buffoon

thank you for replying . i am going to start my box with gentoo livedvd 2008 and mount my hdd and sdd at mnt . gentoo-old and gentoo-new . what i have read is the problems with symlink and stuff about --excluding . this has got me confused and like to know the exact
command to not deal with problems .
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Sun Feb 07, 2021 4:30 pm

In my script I excluded /home and /root because I was using it for two purposes - making a quick and dirty copy for a new machine, and for moving to a new drive like you. Also the symlinks are for profile 17.0
Not sure what needs to be changed for 17.1
Top
halcon
l33t
l33t
User avatar
Posts: 736
Joined: Sun Dec 15, 2019 8:54 pm

  • Quote

Post by halcon » Sun Feb 07, 2021 4:35 pm

Hi Tony0945,
Tony0945 wrote:I wrote a shell script for the latter scenario but wound up doing the steps by hand. I'm bad at writing shell. Maybe you could fix it.
/usr/local/bin/cloneme
I am not an expert in shell, but I have some comments.

Code: Select all

TARGET="999.999.999"

if [ "$#" -ne 1 ] ;
then
 echo "ERROR: use target ip address as a parameter"  && exit 1;
fi
TARGET=$1;
I would rewrite it as

Code: Select all

IP_ADDRESS="${1}"

if [[ -z "${IP_ADDRESS}" ]]; then
	echo "${0}: IP_ADDRESS argument not passed. Exiting 1." >&2
	exit 1
fi

Code: Select all

       scp -p -B -r /"$d" root@"$TARGET":/mnt/gentoo/
#        rsync -av    "$d" root@:"$TARGET":/mnt/gentoo/
1. Why do you prefer rsync to scp? The latter is vulnerable, are you aware about it?
2. I would never recommend to login remotely as root. A user login + rsync in sudoers would be much more safe.
A wife asks her husband, a programmer:
- Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6?
He comes back with 6 cartons of milk.
- Why did you buy 6 cartons of milk?
- They had eggs.
Top
Hu
Administrator
Administrator
Posts: 24403
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sun Feb 07, 2021 5:39 pm

Code: Select all

     2	
I suggest always starting with set -eu unless you have a good reason not to do so. These make the shell more strict by enabling the shell options errexit and nounset.

Code: Select all

     3	TARGET="999.999.999"
This is a dead assignment. If the user invoked the script properly, then TARGET is changed without being read. If the user invoked the script improperly, then the script exits and never reads TARGET. I would delete this line.

Code: Select all

     7	 echo "ERROR: use target ip address as a parameter"  && exit 1;
I agree with halcon. Redirect the error message to stderr (echo text >&2) and use ;, not && to chain to the exit. In the admittedly very unlikely case that the echo fails, your script as currently written would not exit. Consider:

Code: Select all

$ /bin/sh -c 'echo && exit 5'; echo $?

5
$ /bin/sh -c 'echo && exit 5' >/dev/full; echo $?
/bin/sh: line 0: echo: write error: No space left on device
1
$ /bin/sh -c 'echo && exit 5; exit 0' >/dev/full; echo $?
/bin/sh: line 0: echo: write error: No space left on device
0

Code: Select all

    10	       	set +x
set +x is the default if not set differently by prior statements (and this script has no such statements), or by the user invoking the shell (who, if he set -x, probably wants that, and turning it off is undesirable). I would delete this line.

Code: Select all

    15		echo "Copying $TRAGET"
This variable is misspelled, and so will expand to nothing. Under set -u, that failed expansion will become a fatal error.

As a style point, echoing the destination and not the directory name seems less useful to me than it could be. Did you mean to also echo $d in that line?

Code: Select all

    16	       scp -p -B -r /"$d" root@"$TARGET":/mnt/gentoo/
    17	#        rsync -av    "$d" root@:"$TARGET":/mnt/gentoo/
I would generally prefer rsync over scp. If I were using rsync, I would use more options than you have shown here, since -a does not enable all the options you likely want when the goal is a perfect copy.

Code: Select all

    20	ln -s @"$TARGET":/mnt/gentoo/lib64 @"$TARGET":/mnt/gentoo/lib
This looks very strange. What are you trying to do here?

Code: Select all

    23	for P in $(  dev proc sys tmp mnt root media )
This is wrong. dev is not a command. You probably want to remove the $( and ) here.

Code: Select all

    25	  	mkdir -p root@"$TARGET":/mnt/gentoo/"$P"
    27	chmod 0755 root@"$TARGET"/mnt/gentoo/home
As with the ln above, this does not make any sense. Is it just a reminder to the user to go run commands elsewhere?
halcon wrote:I would rewrite it as

Code: Select all

IP_ADDRESS="${1}"
For completeness, I will note that while what you propose would work, it has two failure modes:
  • It will not warn the user for attempting to pass too many arguments.
  • It is not compatible with the set -u I recommend earlier in my post. Attempting to read $1 fails under set -u when there are no arguments:

    Code: Select all

    $ /bin/sh -c 'echo $#;echo 1=$1'
    0
    1=
    $ /bin/sh -u -c 'echo $#;echo 1=$1'
    0
    /bin/sh: $1: unbound variable
halcon wrote:1. Why do you prefer rsync to scp? The latter is vulnerable, are you aware about it?
Are you referring to the scp glob vulnerability? If so, I think that is not applicable here since he is copying to the peer, not from it. Additionally, that vulnerability requires a server with unusual filesystem contents. For the case in question here, where the operator fully controls both systems, I think it is reasonable to assume the server will not try to trigger the glob expansion vulnerability.
halcon wrote:2. I would never recommend to login remotely as root. A user login + rsync in sudoers would be much more safe.
I generally discourage remote root login, but for the case described here, it is much simpler to configure. If the login is restricted to key files (not passwords), and only well trusted systems have the private key, I think remote root is acceptable.
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Sun Feb 07, 2021 5:41 pm

i am following the handbook with :
Designing a partition scheme
i am going for this:

Code: Select all

mount /dev/sda1 /mnt/old
mount /dev/sdc1 /mnt/new
mkdir /mnt/new/boot
mount /dev/sdc2 /mnt/new/boot
cp -a /mnt/old/. /mnt/new
after that the handbook with :
Chrooting and Selecting a boot loader
Top
halcon
l33t
l33t
User avatar
Posts: 736
Joined: Sun Dec 15, 2019 8:54 pm

  • Quote

Post by halcon » Sun Feb 07, 2021 6:43 pm

Hu wrote:I suggest always starting with set -eu unless you have a good reason not to do so. These make the shell more strict by enabling the shell options errexit and nounset.
Hu wrote:For completeness, I will note that while what you propose would work, it has two failure modes:
  • It will not warn the user for attempting to pass too many arguments.
  • It is not compatible with the set -u I recommend earlier in my post. Attempting to read $1 fails under set -u when there are no arguments:

    Code: Select all

    $ /bin/sh -c 'echo $#;echo 1=$1'
    0
    1=
    $ /bin/sh -u -c 'echo $#;echo 1=$1'
    0
    /bin/sh: $1: unbound variable
Thanks for the reminder! I've been thinking about set -eu for a long time but never used it because worried many things would be broken. May be, indeed, it's time to just try - what will be broken and what won't :)
Also, maybe, set -e will help me to understand better how shell exiting works... (where to put || exit $?, and where not)
Hu wrote:Are you referring to the scp glob vulnerability? If so, I think that is not applicable here since he is copying to the peer, not from it. Additionally, that vulnerability requires a server with unusual filesystem contents. For the case in question here, where the operator fully controls both systems, I think it is reasonable to assume the server will not try to trigger the glob expansion vulnerability.
Yes, I was referring to that. Okay then...
Hu wrote:I generally discourage remote root login, but for the case described here, it is much simpler to configure. If the login is restricted to key files (not passwords), and only well trusted systems have the private key, I think remote root is acceptable.
Well... That's right :)
A wife asks her husband, a programmer:
- Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6?
He comes back with 6 cartons of milk.
- Why did you buy 6 cartons of milk?
- They had eggs.
Top
figueroa
Advocate
Advocate
User avatar
Posts: 3032
Joined: Sun Aug 14, 2005 8:15 pm
Location: Edge of marsh USA
Contact:
Contact figueroa
Website

  • Quote

Post by figueroa » Mon Feb 08, 2021 4:54 am

Should always have a current backup. In a perfect world, restore from backup like backup created with the following script:

Code: Select all

#!/bin/sh
#stage4.scr
# Also note: https://wiki.archlinux.org/index.php/rsync#Full_system_backup
mount /mnt/backup0
cd /
date > /mnt/backup0/stage4date.txt
tar cpf /mnt/backup0/stage4.tar.zst -I "zstd -19 -T0" --acls --xattrs --numeric-owner --no-wildcards-match-slash -X /home/USERNAME/bin/exclude.master /
date >> /mnt/backup0/stage4date.txt
cd
The date lines are optional. ~/bin is my personal scripts directory.

Here is my exclude file:

Code: Select all

$ cat bin/exclude.master
dev/*
home/USERNAME/*
lost+found
media/*
mnt/*/*
proc/*
root/.cache/*
run/*
sys/*
tmp/*
var/tmp/*
var/cache/distfiles/*
When restoring the archive with tar, use the following switches: --acls --xattrs-include='*.*' --numeric-owner

My zstd stage 4 archive is 3.7 G.

This is tested and found to work, even with mounted partitions.

It does not backup or restore any personal files. It doesn't install a boot mechanism handle the EFI partition or MBR. Install your own boot stuff.

Adjust to match your USERNAME and layout. Disclaimers etc.
Last edited by figueroa on Mon Feb 08, 2021 5:54 pm, edited 1 time in total.
Andy Figueroa
hp pavilion hpe h8-1260t/2AB5; spinning rust x3
i7-2600 @ 3.40GHz; 16 gb; Radeon HD 7570
amd64/23.0/split-usr/desktop (stable), OpenRC, -systemd -pulseaudio -uefi -wayland
Top
Logicien
Veteran
Veteran
User avatar
Posts: 1555
Joined: Fri Sep 16, 2005 8:04 am
Location: Montréal

  • Quote

Post by Logicien » Mon Feb 08, 2021 1:26 pm

Code: Select all

rsync -av --delete-after --progress --stats /source/directory/ /destination/directory/
Paul
Top
Goverp
Advocate
Advocate
User avatar
Posts: 2404
Joined: Wed Mar 07, 2007 6:41 pm

  • Quote

Post by Goverp » Mon Feb 08, 2021 1:32 pm

Having done this recently by taking a tar backup and restoring it to the new device, I found one issue - the dbus helper /usr/libexec/dbus-daemon-launch-helper program had lost its "suid" bit, which may be a result of me getting the tar command wrong. That meant a plethora of error messages on booting.
Last edited by Goverp on Mon Feb 08, 2021 4:30 pm, edited 1 time in total.
Greybeard
Top
tholin
Apprentice
Apprentice
Posts: 213
Joined: Sat Oct 04, 2008 11:44 am

  • Quote

Post by tholin » Mon Feb 08, 2021 3:44 pm

I just want to point out that there are some metadata that 'cp -a' won't preserve.

It won't keep shared extents of reflinked files. That means if files share extents those will be unshared and the copy will take more space. That can be a problem If you have reflinked copies of large disk images to save space.

Cp will not preserve file attributes (which should not be confused with extended attributes (xattr) which are preserved). File attributes are anything that can be set with 'chattr' including btrfs nocow, immutable flag, etc.

Some metadata can't be preserved by any tool because it can't be set. That include inode number and the ctime & crtime timestamps. That shouldn't matter but some backup programs might use that metadata to detect unmodified files and will therefore re-read all data after the migration.
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Mon Feb 08, 2021 4:47 pm

thank you all for the help.
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Mon Feb 08, 2021 4:53 pm

Post how it all worked, And ask for help if there is a glitch.

Hu,
Thanks for that detailed critique.!I'm going to start another topic on that, quoting your response in full. It deserves comment and exploration of questions. You obviously spent considerable time and it should be explored fully. Perhaps in "tips and tricks"? It's Monday, my daughter's internet is out and there is lots of non-gentoo stuff to do. But I do earnestly want to get back to this.
Top
hedmo
Veteran
Veteran
User avatar
Posts: 1338
Joined: Sat Aug 29, 2009 1:15 pm
Location: sweden

  • Quote

Post by hedmo » Mon Feb 08, 2021 5:03 pm

Tony0945 wrote:Post how it all worked, And ask for help if there is a glitch.
at the moment all works super and swished to ssd made it super fast . i will reopen it if i found something.

regards
Top
halcon
l33t
l33t
User avatar
Posts: 736
Joined: Sun Dec 15, 2019 8:54 pm

  • Quote

Post by halcon » Mon Feb 08, 2021 6:47 pm

halcon wrote:I've been thinking about set -eu for a long time but never used it because worried many things would be broken. May be, indeed, it's time to just try - what will be broken and what won't :)
I've tried. set -u is great, I like it!
But I haven't yet understood what set -e does... It does not exit the program if the error was checked? Evidently, I don't know how to handle exits correctly with set -x, and paid attention to that only now.
Two examples:

Code: Select all

LC_ALL=C /bin/bash -c 'set -e; source /usr/local/bin/mclass_utilities.sh; var=$(get_newest_file_or_dir "file") || exit $?; echo "var = ${var}"'
Wrong number of arguments: 1 instead of 5.

Exiting 1.

Code: Select all

LC_ALL=C /bin/bash -c 'set -e; set -x; source /usr/local/bin/mclass_utilities.sh; var=$(get_newest_file_or_dir "file") || exit $?; echo "var = ${var}"'
+ source /usr/local/bin/mclass_utilities.sh
++ get_newest_file_or_dir file
++ [[ 1 -ne 5 ]]
++ exit_err_1 'Wrong number of arguments: 1 instead of 5'
++ local '__arg_error=Wrong number of arguments: 1 instead of 5'
++ echo 'Wrong number of arguments: 1 instead of 5.

Exiting 1.'
Wrong number of arguments: 1 instead of 5.

Exiting 1.
++ exit 1
+ var=
+ exit 1
As it can be seen, without set -x, the script exits correctly, before echoing. But with set -x, echoing works.

The function get_newest_file_or_dir is in the file mclass_utilities.sh and it contains that code:

Code: Select all

	if [[ $# -ne 5 ]]; then
		exit_err_1 'Wrong number of arguments: '"$#"' instead of 5'
	fi
And exit_err_1 is:

Code: Select all

function exit_err_1 {
	local __arg_error="${1}"
	echo "${__arg_error}"'.

Exiting 1.' >&2
	exit 1
}
How to exit in case of errors with set -x?
A wife asks her husband, a programmer:
- Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6?
He comes back with 6 cartons of milk.
- Why did you buy 6 cartons of milk?
- They had eggs.
Top
Hu
Administrator
Administrator
Posts: 24403
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Mon Feb 08, 2021 7:36 pm

You are misreading the output. set -x shows you that the variable was assigned an empty value, then your explicit exit happens. Your echo is not hit. You can see this more clearly if you rewrite your echo to look less like the output of set -x.

Generally, set -e is roughly equivalent to appending || exit $? in many places. There are select places where it is inactive, though. For example, it is not active while evaluating a statement to determine the truth of an if:

Code: Select all

set -e
if false; then
  echo Nothing
fi
echo but we made it here
Top
halcon
l33t
l33t
User avatar
Posts: 736
Joined: Sun Dec 15, 2019 8:54 pm

  • Quote

Post by halcon » Mon Feb 08, 2021 8:12 pm

Hu wrote:You are misreading the output. set -x shows you that the variable was assigned an empty value, then your explicit exit happens. Your echo is not hit. You can see this more clearly if you rewrite your echo to look less like the output of set -x.
Indeed. I see now that set -x has nothing to do with this...
Here are another examples that I do not understand:

CODE 1

Code: Select all

#!/bin/bash

set -eu

function step_clean_boot {
	local __newest=$(get_newest_file_or_dir 'file' 'file') || exit $?
	echo
	ls -a /boot/ || exit $?
}

step_clean_boot

exit 0
OUTPUT 1

Code: Select all

LC_ALL=C kerneler_test.sh
/usr/local/bin/kerneler_test.sh: line 6: get_newest_file_or_dir: command not found

.  ..  .keep  grub
CODE 2

Code: Select all

#!/bin/bash

set -eu

source /usr/local/bin/mclass_utilities.sh

function step_clean_boot {
	local __newest=$(get_newest_file_or_dir 'file' 'file') || exit $?
	echo
	ls -a /boot/ || exit $?
}

step_clean_boot

exit 0
OUTPUT 2

Code: Select all

LC_ALL=C kerneler_test.sh
Wrong number of arguments: 2 instead of 5.

Exiting 1.

.  ..  .keep  grub
Why is ls being executed?
A wife asks her husband, a programmer:
- Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6?
He comes back with 6 cartons of milk.
- Why did you buy 6 cartons of milk?
- They had eggs.
Top
Hu
Administrator
Administrator
Posts: 24403
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Mon Feb 08, 2021 8:56 pm

local succeeds, so there is no error to trigger the exit. Per info bash:

Code: Select all

The return status
is zero unless 'local' is used outside a function, an invalid NAME
is supplied, or NAME is a readonly variable.
Split the use of local and the assignment into separate statements:

Code: Select all

f() {
  local a
  a=$(expression_that_may_fail)
}
Top
halcon
l33t
l33t
User avatar
Posts: 736
Joined: Sun Dec 15, 2019 8:54 pm

  • Quote

Post by halcon » Mon Feb 08, 2021 9:00 pm

Hu wrote:local succeeds, so there is no error to trigger the exit.
Ah! I fell for it again... (knew but forgot) :evil:
Thanks a lot!
A wife asks her husband, a programmer:
- Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6?
He comes back with 6 cartons of milk.
- Why did you buy 6 cartons of milk?
- They had eggs.
Top
halcon
l33t
l33t
User avatar
Posts: 736
Joined: Sun Dec 15, 2019 8:54 pm

  • Quote

Post by halcon » Thu Mar 11, 2021 10:18 pm

Hu wrote:I suggest always starting with set -eu unless you have a good reason not to do so.
Found one of the good reasons for not using set -u:

if the script reads ENVIRONMENT VARIABLES.

...BTW, I've added not only set -eu to most my shell scripts, but set -euo pipefail (the latter required adding || true to some calls, it was interesting, made me think which calls to prefer etc)
A wife asks her husband, a programmer:
- Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6?
He comes back with 6 cartons of milk.
- Why did you buy 6 cartons of milk?
- They had eggs.
Top
Hu
Administrator
Administrator
Posts: 24403
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Fri Mar 12, 2021 2:40 am

A script can read environment variables under set -u, but you must be prepared for them to be absent and have a default value arranged. This is probably safer than running without set -u, although it may cause some frustration until you have adjusted all the variable references. If you want to have a one-shot default value, use :- or -, depending on exactly when you want the default. If you want to set a value for an unset variable, so that you can later reference it without a default, use :=.

Code: Select all

echo "${NO_SUCH:-default}"
: "${USUALLY_UNDEFINED:=abc}"
echo "$USUALLY_UNDEFINED"
Top
halcon
l33t
l33t
User avatar
Posts: 736
Joined: Sun Dec 15, 2019 8:54 pm

  • Quote

Post by halcon » Fri Mar 12, 2021 3:32 am

Interesting! I have to play with this...
A wife asks her husband, a programmer:
- Could you please go shopping for me and buy one carton of milk, and if they have eggs, get 6?
He comes back with 6 cartons of milk.
- Why did you buy 6 cartons of milk?
- They had eggs.
Top
ALF__
Apprentice
Apprentice
Posts: 252
Joined: Sun Nov 30, 2003 12:48 am

  • Quote

Post by ALF__ » Sun Jul 17, 2022 8:39 pm

hedmo wrote:i am following the handbook with :
Designing a partition scheme
i am going for this:

Code: Select all

mount /dev/sda1 /mnt/old
mount /dev/sdc1 /mnt/new
mkdir /mnt/new/boot
mount /dev/sdc2 /mnt/new/boot
cp -a /mnt/old/. /mnt/new
after that the handbook with :
Chrooting and Selecting a boot loader

Thank you so much for this.
This made the move to a new HDD very easy and straight forward!

Br,
Top
Post Reply

25 posts • Page 1 of 1

Return to “Installing Gentoo”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic