User Tools

Site Tools


64bit-migration

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
64bit-migration [2019/01/15 13:49] snarg64bit-migration [2019/01/15 14:29] snarg
Line 36: Line 36:
   mkdir /usr/lib32   mkdir /usr/lib32
   mkdir /usr/lib64   mkdir /usr/lib64
 +
 +  * If applicable, dont use distcc till its remerged:
 +
 +  rm -Rf /usr/lib/distcc    
  
   * possibly dont need to do this if using binary packages from donor VM   * possibly dont need to do this if using binary packages from donor VM
Line 53: Line 57:
   * change make.profile symlink to point to a multilib amd64 profile   * change make.profile symlink to point to a multilib amd64 profile
  
-  * use quickpkg on source VM to grab and then PATH="/migration-backup/bin:/migration-backup/usr/bin:/migration-backup/sbin:/migration-backup/usr/sbin:${PATH}" emerge -to deploy initial binary packages donated from prebuilt VM from /usr/portage/packages:+  * use quickpkg on source VM to grab and then PATH="/migration-backup/bin:/migration-backup/usr/bin:/migration-backup/sbin:/migration-backup/usr/sbin:${PATH}" emerge -1kav to deploy initial binary packages donated from prebuilt VM from /usr/portage/packages:
 Of these, glibc needs to come first, then everything else will come good. Of these, glibc needs to come first, then everything else will come good.
 in the process of deploying glibc, /lib needs to be a symlink to /lib64 which will break 32bit programs. ldconfig is your friend here with the above 99migration env file.  Theres a couple other gotchas as well that need working through. in the process of deploying glibc, /lib needs to be a symlink to /lib64 which will break 32bit programs. ldconfig is your friend here with the above 99migration env file.  Theres a couple other gotchas as well that need working through.
Line 61: Line 65:
   quickpkg glibc gcc zlib ncurses gmp mpfr util-linux acl attr sandbox coreutils procps binutils libcap mpc cracklib flex =db-5* pam pambase   quickpkg glibc gcc zlib ncurses gmp mpfr util-linux acl attr sandbox coreutils procps binutils libcap mpc cracklib flex =db-5* pam pambase
  
-  * mount or copy /usr/portage/packages and emerge -to install them +  * mount or copy /usr/portage/packages and emerge -1k to install them 
-   +
-  mv /lib/modules /lib64 +
-  mv /lib/gentoo /lib64+
   mv /usr/lib to /usr/oldlib and symlink lib to lib64   mv /usr/lib to /usr/oldlib and symlink lib to lib64
  
-  * /usr/lib symlink creation will break python - mv python-exec, portage and gcc dir to lib64this will not create orphans as the files are in exactly the same location from portage's point of view+  * /usr/lib symlink creation will break python. The following will not create orphans as the files are in exactly the same location from portage's point of view
 + 
 +  cd /usr/oldlib 
 +  mv python-exec python3.6 libpython* portage gcc ../lib64
  
   * remove crossdev packages (and crossdev) and check gcc sanity   * remove crossdev packages (and crossdev) and check gcc sanity
-  * remove /etc/env.d/99migration, env-update, ldconfig, sanity check. + 
-  * check for i686 compiler orphans with: qfile -o /usr/bin/i686-pc-linux-gnu-*+  emerge --unmerge cross-x86_64-pc-linux-gnu/* crossdev -av 
 +  ldconfig 
 + 
 +  fix 32bit gcc and python libs in wrong directory by running: 
 + 
 +  emerge -1kav sys-devel/gcc mpfr mpc =python-3.6* python-exec 
 + 
 +  mv /lib/modules /lib64 
 +  mv /lib/gentoo /lib64
  
  
 dns was broken at this point  (prob somethign to do with libnss_dns.so) dns was broken at this point  (prob somethign to do with libnss_dns.so)
  
-  *for the lib and /usr/lib dir<-> switcheroo +  *for the lib / lib64 link <-> switcheroo 
-  ** make sure busybox is functional+  ** make sure busybox is functional. run this from busybox
   ** have a few shells open, in case you break the one you're working from   ** have a few shells open, in case you break the one you're working from
  
-  rm -Rf /usr/lib/distcc    (dont use distcc till its remerged)+ 
 +  mv /lib/modules /lib64 
 +  mv /lib/gentoo /lib64 
 + 
 +  * remove /etc/env.d/99migration, env-update, ldconfig, sanity check. 
 +  * check for i686 compiler orphans with: qfile -o /usr/bin/i686-pc-linux-gnu-* 
  
   emerge gcc -1av   emerge gcc -1av
64bit-migration.txt · Last modified: 2023/06/21 12:02 by snarg