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:documentation [2019/07/18 11:26]
mkeuter [Linux Build System]
devdoc:documentation [2020/04/18 07:39] (current)
mkeuter [Prerequisites]
Line 3: Line 3:
 The AstLinux Development Environment (ADE) is maintained in a repository on GitHub using subversion (SVN) or GIT. The AstLinux Development Environment (ADE) is maintained in a repository on GitHub using subversion (SVN) or GIT.
  
-AstLinux is cross-compiled,​ generating target images for both i586 and x86_64 CPU architectures,​ using a custom maintained version of [[https://​buildroot.org|Buildroot]].+AstLinux is cross-compiled,​ generating target images for x86_64 CPU architectures,​ using a custom maintained version of [[https://​buildroot.org|Buildroot]].
 ===== Linux Build System ===== ===== Linux Build System =====
  
-Building AstLinux requires using some version of Debian/​Ubuntu or RHEL/CentOS Linux. It is recommended using a version of these distros in a Virtual Machine (VM). Either a 32-bit or 64-bit ​build system will workthough in this day and age a 64-bit ​build system is suggested.+Building AstLinux requires using some version of Debian/​Ubuntu or RHEL/CentOS Linux. It is recommended using a version of these distros in a Virtual Machine (VM). 64-bit, ​x86_64 ​build system is required.
  
-Using a Virtual Machine is common practice, typical recommended configuration:​+Using a Virtual Machine is suggested, typical recommended configuration:​
  
-  * 40 GB Storage +  * 64 GB Storage 
-  * GB RAM+  * GB RAM
   * 1-2 CPU Cores   * 1-2 CPU Cores
  
-Linux Build Systems known to work:+Linux Build Systems known to work **(must be x86_64)**:
  
-  ​* CentOS 6 - 32-bit / 64-bit +  * CentOS 7 - //(used for official releases)//​ 
-  ​* CentOS 7 - 64-bit ​- //(used for official releases)//​ +  * Debian ​9 
-  * Debian ​7 - 32-bit +  * Debian ​10 //​(recommended)//​ 
-  * Debian ​64-bit +  * Ubuntu 14.04 
-  * Debian 9 - 64-bit +  * Ubuntu 16.04
-  * Ubuntu 14.04 - 64-bit +
-  * Ubuntu 16.04 - 64-bit+
  
 !!Tip ->!! Use a somewhat older LTS (Long Term Support) Linux distro in a VM, that will be the most compatible with our version of Buildroot. !!Tip ->!! Use a somewhat older LTS (Long Term Support) Linux distro in a VM, that will be the most compatible with our version of Buildroot.
  
 !!Tip ->!! Use a "​Minimal Install"​ of your Linux distro, dedicated to building AstLinux. !!Tip ->!! Use a "​Minimal Install"​ of your Linux distro, dedicated to building AstLinux.
 +
 +!!Tip ->!! To run Debian 10 in a LXC container on Proxmox 6, you need to enable "​Nesting"​ under "​Options/​Features",​ otherwise you'll end up getting "​Permission denied"​ errors when starting several services (e.g. apache2, ntp). Creating a Flash Image does **not** work in a LXC container!
 ===== Prerequisites ===== ===== Prerequisites =====
  
-To build Astlinux you first need to install some packages, depending on your Linux distribution:​+To build Astlinux you first need to install some additional ​packages, depending on your Linux distribution:​
  
 **[[.packages|Package lists]]** **[[.packages|Package lists]]**
Line 75: Line 75:
 Copy the default AstLinux config file (example with Asterisk 13): Copy the default AstLinux config file (example with Asterisk 13):
  
-  cp astlinux-ast13.config .config +  cp x86_64-configs/​astlinux-ast13.config .config
- +
-!!Note ->!! If you wish to build 64-bit x86_64 images, copy your ''​.config''​ file from the ''​x86_64-configs/''​ directory.+
  
 Check for new configure options: Check for new configure options:
Line 89: Line 87:
 If this is your first time building AstLinux we suggest that you don't make any changes to the default AstLinux configuration. This will make it easier to troubleshoot any problems you might have. Now it's time to start the build: If this is your first time building AstLinux we suggest that you don't make any changes to the default AstLinux configuration. This will make it easier to troubleshoot any problems you might have. Now it's time to start the build:
  
-  ./​scripts/​build ​geni586 +  ./​scripts/​build genx86_64
- +
-!!Note ->!! If you wish to build 64-bit x86_64 images, use genx86_64 ​or genx86_64-serial board type.+
  
 The script ''​./​scripts/​build''​ is a wrapper that checks for certain tools and sets up the environment prior to issuing ''​make''​. If you run ''​make''​ manually, you will not generate a complete build. The script ''​./​scripts/​build''​ is a wrapper that checks for certain tools and sets up the environment prior to issuing ''​make''​. If you run ''​make''​ manually, you will not generate a complete build.
  
-The option "geni586" is the board type, other board types are: geni586-serial, net5501, alix, (many more).  If this option is omitted, the previous board type built will be used.  The "geni586" board uses a VGA/video console, while the "geni586-serial"​ board uses a 19200 baud serial console.+The option "genx86_64" is the board type, other board types are: genx86_64-serial ​and genx86_64-vm.  If this option is omitted, the previous board type built will be used.  The "genx86_64" board uses a VGA/video console, while the "genx86_64-serial"​ board uses a 115200 ​baud serial console.
  
 !!Info ->!! [[devdoc:​boardtypes|List of board types]] !!Info ->!! [[devdoc:​boardtypes|List of board types]]
Line 110: Line 106:
   ./​scripts/​build   ./​scripts/​build
   ​   ​
-Many board types use the same i586 toolchain, so after ''​./​scripts/​build ​geni586''​ completes you can issue ''​./​scripts/​build ​geni586-serial'' ​(or any other i586 board type) and it will take less than a minute to create the new build for that board type.  This is also true for board types use the same x86_64 toolchain.+All board types use the same x86_64 ​toolchain, so after ''​./​scripts/​build ​genx86_64''​ completes you can issue ''​./​scripts/​build ​genx86_64-serial''​ and it will take less than a minute to create the new build for that board type.
  
-Of special note, there are three kernel configurations supported.+Of special note, there are two kernel configurations supported.
  
-For 32-bit SMP kernel builds: (boards with i586 multi-core or single-core processors) 
- 
-  project/​astlinux/​geni586/​linux-smp.config 
-  ​ 
 For 64-bit SMP kernel builds: (boards with x86_64 multi-core processors) For 64-bit SMP kernel builds: (boards with x86_64 multi-core processors)