devdoc:devdoc_switch_i586_x86_64

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
devdoc:devdoc_switch_i586_x86_64 [2015/11/26 14:51]
abelbeck [Switching Images between i586 and x86_64]
devdoc:devdoc_switch_i586_x86_64 [2020/04/15 06:35] (current)
mkeuter [Incompatibilities between i586 and x86_64]
Line 1: Line 1:
 ====== Switching Images between i586 and x86_64 ====== ====== Switching Images between i586 and x86_64 ======
  
-Beginning with SVN r7353 and officially with AstLinux 1.2.5, two new board types were added: genx86_64 and genx86_64-serial.  These boards are x86_64 builds using a 64-bit toolchain, initrd and Linux kernel.+Beginning with AstLinux 1.2.5, two new board types were added: genx86_64 and genx86_64-serial.  These boards are x86_64 builds using a 64-bit toolchain, initrd and Linux kernel.
  
 In general, users will be advised to choose either a geni586[-serial] or genx86_64[-serial] install image and stick with that board type, but developers may want to take a shortcut and switch between i586 and x86_64. In general, users will be advised to choose either a geni586[-serial] or genx86_64[-serial] install image and stick with that board type, but developers may want to take a shortcut and switch between i586 and x86_64.
  
-It should be noted that the RUNNIX bootloader will support either i586 or x86_64 architectures. Additionally RUNNIX continues to be a 32-bit x86 image, so at first boot the system will be seen as 32-bit.+It should be noted that the RUNNIX bootloader will support either i586 or x86_64 run image architectures. Additionally RUNNIX continues to be a 32-bit x86 image, so at first boot the system will be seen as 32-bit.
  
 !!Note ->!!  With custom builds, the ''.config'' Buildroot config file determines what architecture is used.  The build-system command ''./scripts/build board_type'' allows you to qualify that ''.config'' options to a specific board type.  In other words, building with ''./scripts/build genx86_64-serial'' will not by itself generate a x86_64 image, you must first ''cp x86_64-configs/astlinux-ast11.config .config'' to make it happen. !!Note ->!!  With custom builds, the ''.config'' Buildroot config file determines what architecture is used.  The build-system command ''./scripts/build board_type'' allows you to qualify that ''.config'' options to a specific board type.  In other words, building with ''./scripts/build genx86_64-serial'' will not by itself generate a x86_64 image, you must first ''cp x86_64-configs/astlinux-ast11.config .config'' to make it happen.
 +
 +!!Info ->!! [[devdoc:boardtypes|List of board types]]
 +
 +===== Testing for x86_64 support =====
 +
 +If this CLI command generates output, then your board should support x86_64: ("Long Mode" CPUID flag)
 +
 +  grep '^flags.* lm ' /proc/cpuinfo
 +
 +If no output is generated then your board will not support x86_64.
 +
 ===== Incompatibilities between i586 and x86_64 ===== ===== Incompatibilities between i586 and x86_64 =====
  
Line 14: Line 25:
   * LDAP-AB using slapd, the ''/mnt/kd/ldap/data/data.mdb'' database is specific to 32 or 64 bits and needs to be rebuilt.   * LDAP-AB using slapd, the ''/mnt/kd/ldap/data/data.mdb'' database is specific to 32 or 64 bits and needs to be rebuilt.
   * Asterisk FOP2 uses a binary blob for either 32 or 64 bit systems, so a new version must be installed.  Your configuration should continue to work.   * Asterisk FOP2 uses a binary blob for either 32 or 64 bit systems, so a new version must be installed.  Your configuration should continue to work.
-  * The ''initrd.img'' file that accompanies the run image is specific to 32 or 64 bits, usually not a problem. **Do not** ''revert'' to a different architecture and reboot.+  * The ''initrd.img'' file that accompanies the run image is specific to 32 or 64 bits, usually not a problem. \\ **Do not** ''revert'' to a different architecture and reboot!
  
 ===== Upgrade switch to x86_64 (64-bit) or i586 (32-bit) ===== ===== Upgrade switch to x86_64 (64-bit) or i586 (32-bit) =====
Line 23: Line 34:
   Usage: upgrade-run-image check|upgrade|show|revert firmware_repository_url [32|64]   Usage: upgrade-run-image check|upgrade|show|revert firmware_repository_url [32|64]
  
-Example 1 - currently using geni586 or geni586-serial image, switch to 64-bit:+Example 1 - Currently using geni586 or geni586-serial image, switch to 64-bit:
  
   upgrade-run-image check http://bla-bla.tld/beta-firmware-1.x 64   upgrade-run-image check http://bla-bla.tld/beta-firmware-1.x 64
Line 30: Line 41:
  
  
-Example 2 - currently using genx86_64 or genx86_64-serial image, switch to 32-bit:+Example 2 - Currently using genx86_64 or genx86_64-serial image, switch to 32-bit:
  
   upgrade-run-image check http://bla-bla.tld/beta-firmware-1.x 32   upgrade-run-image check http://bla-bla.tld/beta-firmware-1.x 32
Line 36: Line 47:
   upgrade-run-image upgrade http://bla-bla.tld/beta-firmware-1.x 32   upgrade-run-image upgrade http://bla-bla.tld/beta-firmware-1.x 32
  
-!!Tip ->!! You may need to first do an ''upgrade-run-image revert'' (no reboot) to be able to upgrade.+!!Tip ->!! You may need to first do an ''upgrade-run-image revert'' (no reboot) to be able to upgrade if the repo versions match.
  
 ===== Rebuilding LDAP-AB (slapd) between i586 and x86_64 ===== ===== Rebuilding LDAP-AB (slapd) between i586 and x86_64 =====
Line 56: Line 67:
  
 You could just use the LDAP-AB tab for the backup/restore, but using cat/add also restores the passwords. You could just use the LDAP-AB tab for the backup/restore, but using cat/add also restores the passwords.
- 
  • devdoc/devdoc_switch_i586_x86_64.1448571107.txt.gz
  • Last modified: 2015/11/26 14:51
  • by abelbeck