devdoc:documentation

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 [2020/04/12 06:13]
mkeuter [Linux Build System]
devdoc:documentation [2024/02/26 06:43] (current)
abelbeck [Linux Build System]
Line 1: Line 1:
 ====== Development Environment ====== ====== Development Environment ======
  
-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.
  
 AstLinux is cross-compiled, generating target images for 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). A 64-bit, x86_64 build system is required.+Building AstLinux requires using some version of Debian Linux. A 64-bit, x86_64 build system is required.
  
-Using a Virtual Machine is suggested, typical recommended configuration:+Using a Virtual Machine is suggested, minimal recommended configuration:
  
   * 64 GB Storage   * 64 GB Storage
Line 14: Line 14:
   * 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 7 - x86_64 - //(used for official releases)// +  * Debian 11 
-  * Debian 9 - x86_64 +  * Debian 12 - //(recommended)//
-  * Debian 10 - x86_64 +
-  * Ubuntu 14.04 - x86_64 +
-  * Ubuntu 16.04 - x86_64+
  
 !!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.
Line 26: Line 23:
 !!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, 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).+===== Promox notes ===== 
 + 
 +!!Tip ->!! To run Debian 10/11 in a LXC container on Proxmox 6/7/8, 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 (you need a "full" VM for this)! 
 + 
 +!!Tip ->!! There seems to be a problem when running the "Linux Build System" in Proxmox as __LXC container__ **AND** __on a ZFS filesystem__. If you get errors like this: 
 +  genext2fs: couldn't allocate a block (no free space) 
 +although there is plenty of free space. It doesn't happen when running the filesystem on LVM or LVM-thin. 
 ===== 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:
  
 **[[.packages|Package lists]]** **[[.packages|Package lists]]**
Line 47: Line 51:
 !!Important ->!! You should **not be root**, login as a non-admin user. !!Important ->!! You should **not be root**, login as a non-admin user.
 ===== Checking out the Source ===== ===== Checking out the Source =====
-Now we will grab AstLinux via SVN:  +Now we will grab AstLinux via ''git'': 
- +
-  svn co https://github.com/astlinux-project/astlinux.git/trunk astlinux/trunk +
- +
- //("trunk" is the latest development branch)// +
- +
-**Explanation:** +
- +
- ''svn'' - name of subversion binary should not be root. +
- +
- ''co'' - short for "checkout", grab source from url: +
- +
- ''svn:...'' - URL of AstLinux SVN repository, an argument to co to specify the location of checkout+
  
- ''astlinux/trunk'' store the previous URL in a local directory on this machine in the "astlinux" directory+  git clone https://github.com/astlinux-project/astlinux.git astlinux/trunk
  
-You should see a bunch of files scroll down your machine. Depending on the speed of your connection, this could take a few minutes or a few hours (hopefully just a few minutes - we want to start building)!+You should see a bunch of files scroll down your machine. Depending on the speed of your connection, this could take a few seconds or a minute.
  
-Once the checkout process has completed, cd into astlinux/trunk to look around:+Once the clone process has completed, cd into astlinux/trunk to look around:
  
   cd astlinux/trunk   cd astlinux/trunk
Line 73: Line 65:
 Next we will copy the default AstLinux config file and look for any new configure options. Next we will copy the default AstLinux config file and look for any new configure options.
  
-Copy the default AstLinux config file (example with Asterisk 13):+Copy the default AstLinux config file (example with Asterisk 18):
  
-  cp x86_64-configs/astlinux-ast13.config .config+  cp x86_64-configs/astlinux-ast18.config .config
  
 Check for new configure options: Check for new configure options:
  • devdoc/documentation.1586690005.txt.gz
  • Last modified: 2020/04/12 06:13
  • by mkeuter