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
Last revision Both sides next revision
devdoc:devdoc_switch_i586_x86_64 [2015/11/26 10:35]
abelbeck [Switching Images between i586 and x86_64]
devdoc:devdoc_switch_i586_x86_64 [2020/04/15 06:35]
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.
  
-!!Note ->!!  The ''.config'' Buildroot config file determines what architecture is used.  The build-system command ''./scripts/build board_type'' allows you to qualify the ''.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.+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. 
 + 
 +!!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 ===== 
 + 
 +Somewhat surprisingly, almost everything works as expected when switching between i586 and x86_64, but there are a couple exceptions: 
 + 
 +  * 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. 
 +  * 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 13: 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 20: 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 26: 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.
- +
-===== Incompatibilities between i586 and x86_64 ===== +
- +
-Somewhat surprisingly, almost everything works as expected when switching between i586 and x86_64, but there are a couple exceptions: +
- +
-  * 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 will 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.+
  
 ===== Rebuilding LDAP-AB (slapd) between i586 and x86_64 ===== ===== Rebuilding LDAP-AB (slapd) between i586 and x86_64 =====
Line 54: 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.txt
  • Last modified: 2020/04/15 06:35
  • by mkeuter