version 1.5.2.3, 2016/11/28 11:22:27
|
version 1.7, 2021/03/11 13:59:50
|
Line 15 sources like that "cd <where you put freebsd sources>;
|
Line 15 sources like that "cd <where you put freebsd sources>;
|
and GPLv2 "gpl/*" projects |
and GPLv2 "gpl/*" projects |
- Optional download of 3th party software for ELWIX firmware. Project name is embedaddon from ELWIX CVS |
- Optional download of 3th party software for ELWIX firmware. Project name is embedaddon from ELWIX CVS |
|
|
II. Build system process | II. Fresh FreeBSD source tree |
| 1. When you get new FreeBSD source tree. You should apply patches |
| ./apply_patches.sh |
| |
| III. Build system process |
1. Init build structures with clean directory tree |
1. Init build structures with clean directory tree |
./build_init.sh <filename of project config> |
./build_init.sh <filename of project config> |
|
Result after its work is cleaned previous storage and created new structure for build process |
2. Cross compile entire userland software |
2. Cross compile entire userland software |
./build_world.sh |
./build_world.sh |
|
Result from build_world.sh. Cross built whole FreeBSD project and |
|
prepared cross build scripts for ELWIX further build processes. |
3. Cross compile ELWIX kernel |
3. Cross compile ELWIX kernel |
./build_kernel.sh |
./build_kernel.sh |
|
Result from ./build_kernel.sh. Cross built two kernels. One for ELWIX Base image without |
|
embedded RootFS and another with RootFS for ELWIX RootFS images. |
4. Cross compile ELWIX tools |
4. Cross compile ELWIX tools |
./build_tools.sh |
./build_tools.sh |
|
Result from ./build_tools.sh. Cross built ELWIX core tools, libraries and services. |
|
Produced ELWIX system package file elwix-pkg.frm |
5. Cross compile optional 3th party software |
5. Cross compile optional 3th party software |
./build_3thparty.sh |
./build_3thparty.sh |
|
Result from build_3thparty.sh. Cross built optional 3th party software for project. |
|
Produced ELWIX system image file elwix-firmware2.sys |
--------------------------------------------------------------------------------- |
--------------------------------------------------------------------------------- |
6. Now is moment for build BaseFS ELWIX system |
6. Now is moment for build BaseFS ELWIX system |
./build_base.sh |
./build_base.sh |
|
Result from build_base.sh. Built ELWIX Base OS version. |
|
All software will be installed directly on flash/disk storage. |
|
Script leave ready to install archive and compressed kernel.gz |
|
Example for ready for install archive: ELWIX-2.6_x86_base_128mb_i386_2017-10-10.tar.gz |
--------------------------------------------------------------------------------- |
--------------------------------------------------------------------------------- |
7. Moment comes for build big system binary and inject rootfs image into kernel |
7. Moment comes for build big system binary and inject rootfs image into kernel |
./build_rootfs.sh |
./build_rootfs.sh |
|
Result from build_rootfs.sh. |
|
Cross built and leave image rootfs.img which was been injected into kernel. |
|
Script prepared compressed kernel with embedded zero stage image of ELWIX into kernel_rootfs.gz |
8. Make romfs image and build big fat second stage firmware image |
8. Make romfs image and build big fat second stage firmware image |
./build_romfs.sh |
./build_romfs.sh |
|
Result from build_romfs.sh. Script collected files and prepare first stage ELWIX image. |
|
Produced ELWIX system image file elwix-firmware.sys |
9. Now is moment for build RootFS ELWIX system |
9. Now is moment for build RootFS ELWIX system |
./build_fs.sh |
./build_fs.sh |
|
Result from build_fs.sh. Built ELWIX RootFS OS versions. |
|
All software will be installed as images on flash/disk storage. |
|
Script produced two version of ELWIX OS: |
|
- RootFS small image which consume more RAM because all software is into memory drives. |
|
Example for ready for install archive: ELWIX-2.6_x86_rootfs_64mb_i386_2017-10-10.tar.gz |
|
- RootFS image which partially installed base tools directly onto flash. |
|
Example for ready for install archive: ELWIX-2.6_x86_rootfsext_128mb_i386_2017-10-10.tar.gz |
--------------------------------------------------------------------------------- |
--------------------------------------------------------------------------------- |
|
|
Ok, now we did ELWIX version and placed to build/release directory like tar.gz file |
Ok, now we did ELWIX version and placed to build/release directory like tar.gz file |