Cross Linux From Scratch (CLFS) is a project that provides you with step-by-step instructions for building your own customized Linux system entirely from source.
Default root password: clfs
Fedora 26 or Ubuntu 16.04 is recommended.
$ sudo dnf -y install gcc-c++ perl-Thread-Queue qemu-system-arm
$ sudo apt install gcc g++ wget git qemu-system
git clone --depth 1 https://github.com/LeeKyuHyuk/clfs-arm.git
Use make list-defconfigs
to display the list of boards, and load with make <name>_defconfig
command.
make <name>_defconfig
Download the source code by doing make download
.
make download
make all
make toolchain
$ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (CLFS ARM 2017.10) 7.2.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
make system
make kernel
make image
make run
make settings
>> Build Settings:
SHELL: bash
CONFIG_HOST: x86_64-cross-linux-gnu
CONFIG_TARGET: arm-linux-gnueabihf
CONFIG_HOSTNAME: clfs-arm
CONFIG_ROOT_PASSWD: clfs
CONFIG_LOCAL_TIMEZONE: Asia/Seoul
CONFIG_PKG_VERSION: CLFS ARM 2017.10
CONFIG_BUG_URL: https://github.com/LeeKyuHyuk/clfs-arm/issues
CONFIG_PARALLEL_JOBS: 4
WORKSPACE_DIR: /home/leekyuhyuk/clfs-arm
CONFIG_DIR: /home/leekyuhyuk/clfs-arm/config
DEVICE_DIR: /home/leekyuhyuk/clfs-arm/device
PACKAGES_DIR: /home/leekyuhyuk/clfs-arm/packages
SOURCES_DIR: /home/leekyuhyuk/clfs-arm/sources
SCRIPTS_DIR: /home/leekyuhyuk/clfs-arm/scripts
OUTPUT_DIR: /home/leekyuhyuk/clfs-arm/out
BUILD_DIR: /home/leekyuhyuk/clfs-arm/out/build
TOOLS_DIR: /home/leekyuhyuk/clfs-arm/out/tools
KERNEL_DIR: /home/leekyuhyuk/clfs-arm/out/kernel
ROOTFS_DIR: /home/leekyuhyuk/clfs-arm/out/rootfs
IMAGES_DIR: /home/leekyuhyuk/clfs-arm/out/images
SYSROOT_DIR: /home/leekyuhyuk/clfs-arm/out/tools/arm-linux-gnueabihf/sysroot
PATH: "/home/leekyuhyuk/clfs-arm/out/tools/bin:/home/leekyuhyuk/clfs-arm/out/tools/sbin:/home/leekyuhyuk/clfs-arm/out/tools/usr/bin:/home/leekyuhyuk/clfs-arm/out/tools/usr/sbin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/leekyuhyuk/.local/bin:/home/leekyuhyuk/bin"
>> Device Settings:
CONFIG_NAME: qemu_vexpress
CONFIG_ABI: aapcs-linux
CONFIG_CPU: cortex-a9
CONFIG_FPU: vfpv3-d16
CONFIG_FLOAT: hard
CONFIG_MODE: arm
CONFIG_LINUX_KERNEL_SOURCE: linux-4.11.7.tar.gz
CONFIG_LINUX_KERNEL_SOURCE_URL: https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.11.7.tar.gz
CONFIG_LINUX_KERNEL_SOURCE_MD5: 9cc718062918845dcc009a276c598a6a
CONFIG_LINUX_KERNEL_DEFCONFIG: vexpress
CONFIG_LINUX_KERNEL_INTREE_DTS_NAME: vexpress-v2p-ca9
CONFIG_IMAGE_SCRIPT: /home/leekyuhyuk/clfs-arm/device/qemu/vexpress/create_image.sh
- autoconf 2.69
- automake 1.15
- bash 4.4
- bc 1.06.95
- binutils 2.28
- bison 3.0.4
- bzip2 1.0.6
- coreutils 8.27
- diffutils 3.5
- e2fsprogs 1.43.4
- eudev 3.2.1
- file 5.30
- findutils 4.6.0
- flex 2.6.4
- gawk 4.1.4
- gcc 6.3.0
- gdbm 1.13
- gettext 0.19.8.1
- glib 2.52.0
- glibc 2.25
- gmp 6.1.2
- gperf 3.0.4
- grep 3.0
- gzip 1.8
- iana-etc 2.30
- inetutils 1.9.4
- iproute2 4.10.0
- kbd 2.0.4
- kmod 24
- less 487
- libcap 2.25
- libffi 3.2.1
- libpipeline 1.4.1
- libtool 2.4.6
- linux 4.11.7
- m4 1.4.18
- make 4.2.1
- man-pages 4.10
- mpc 1.0.3
- mpfr 3.1.5
- ncurses 6.0
- ntp 4.2.8p9
- openssh 7.4p1
- openssl 1.0.2k
- patch 2.7.5
- pcre 8.40
- pkg-config 0.29.2
- procps-ng 3.3.12
- psmisc 22.21
- readline 7.0
- sed 4.4
- shadow 4.4
- sysklogd 1.5.1
- sysvinit 2.88dsf
- tar 1.29
- texinfo 6.3
- tzdata2017b
- util-linux 2.29.2
- vim 8.0.069
- xz 5.2.3
- zlib 1.2.11