Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devdoc:documentation [2017/06/17 11:38] abelbeck [Custom Build] |
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 SourceForge using subversion (SVN). | + | The AstLinux Development Environment (ADE) is maintained in a repository on GitHub. |
- | AstLinux is cross-compiled, | + | AstLinux is cross-compiled, |
===== Linux Build System ===== | ===== Linux Build System ===== | ||
- | Building AstLinux requires using some version of Debian/Ubuntu or RHEL/ | + | Building AstLinux requires using some version of Debian Linux. |
- | Using a Virtual Machine is common practice, typical | + | Using a Virtual Machine is suggested, minimal |
- | * 40 GB Storage | + | * 64 GB Storage |
- | * 1 GB RAM | + | * 2 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 | + | * Debian 11 |
- | * CentOS 7 - 64-bit | + | * Debian 12 - //(recommended)// |
- | * Debian 7 - 32-bit | + | |
- | * Debian 8 - 64-bit | + | |
- | * 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 " | !!Tip ->!! Use a " | ||
+ | |||
+ | ===== Promox notes ===== | ||
+ | |||
+ | !!Tip ->!! To run Debian 10/11 in a LXC container on Proxmox 6/7/8, you need to enable " | ||
+ | |||
+ | !!Tip ->!! There seems to be a problem when running the "Linux Build System" | ||
+ | genext2fs: couldn' | ||
+ | although there is plenty of free space. It doesn' | ||
+ | |||
===== 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|Package lists]]** | **[[.packages|Package lists]]** | ||
Line 34: | Line 39: | ||
===== Getting Started ===== | ===== Getting Started ===== | ||
- | These instructions will show you how to build AstLinux from the 1.0 branch. | + | These instructions will show you how to build AstLinux from the " |
After you have installed the prerequisite packages (per above), switch to your $HOME directory on your machine **as a regular user (non-root): | After you have installed the prerequisite packages (per above), switch to your $HOME directory on your machine **as a regular user (non-root): | ||
Line 46: | 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 | + | Now we will grab AstLinux |
- | | + | |
- | //(1.0 is the latest stable branch)// | + | 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. |
- | **Explanation: | + | Once the clone process has completed, cd into astlinux/trunk to look around: |
- | + | ||
- | '' | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | '' | + | |
- | + | ||
- | 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)! | + | |
- | + | ||
- | Once the checkout | + | |
- | + | ||
- | cd astlinux/ | + | |
+ | cd astlinux/ | ||
===== First Build ===== | ===== First Build ===== | ||
The AstLinux Development Environment is based on the excellent [[http:// | The AstLinux Development Environment is based on the excellent [[http:// | ||
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 (with Asterisk | + | Copy the default AstLinux config file (example |
- | cp astlinux-ast11.config .config | + | cp x86_64-configs/ |
- | + | ||
- | !!Note ->!! If you wish to build 64-bit x86_64 images, copy your '' | + | |
Check for new configure options: | Check for new configure options: | ||
Line 85: | Line 75: | ||
If you get "make: command not found" or a similar error you will need to install some development tools before you can continue. See **[[.packages|Package lists]]** for more information. | If you get "make: command not found" or a similar error you will need to install some development tools before you can continue. See **[[.packages|Package lists]]** for more information. | ||
- | Next, create the cross-compile toolchain. Carefully follow these [[https://astlinux.svn.sourceforge.net/svnroot/astlinux/branches/ | + | Next, create the cross-compile toolchain. Carefully follow these [[https://raw.githubusercontent.com/astlinux-project/astlinux/master/ |
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: | ||
- | ./ | + | ./ |
- | + | ||
- | !!Note ->!! If you wish to build 64-bit x86_64 images, use genx86_64 | + | |
The script '' | The script '' | ||
- | 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" | + | The option "genx86_64" is the board type, other board types are: genx86_64-serial |
!!Info ->!! [[devdoc: | !!Info ->!! [[devdoc: | ||
Line 110: | Line 98: | ||
./ | ./ | ||
| | ||
- | Many board types use the same i586 toolchain, so after '' | + | All board types use the same x86_64 |
- | 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/ | ||
- | | ||
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) | ||