clfs-bootstrap

clfs-bootstrap.git
git clone git://git.lenczewski.org/clfs-bootstrap.git
Log | Files | Refs | README | LICENSE

commit 5c023d3c2858cd64d7035136824f81026198dd8d
parent 3427f812294bf21d04e05f6e48fbbea7b988735e
Author: w79958ml <mikolaj.lenczewski308@gmail.com>
Date:   Wed, 21 Oct 2020 09:38:56 +0100

Split core into base and core, updated packages

Diffstat:
Mbuild-clfs | 18+++++++++---------
Mconfigs/linux-kernel-config | 67++++++++++++++++++++++++++++++++++++++++---------------------------
Mconfigs/uboot-config | 83++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
Mmd5sums.src | 8+++++---
Ascripts/build-base-packages.sh | 270+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mscripts/build-core-packages.sh | 367+++++++++----------------------------------------------------------------------
Mscripts/build-cross-toolchain.sh | 1+
Mscripts/build-extra-packages.sh | 1+
Mscripts/host-check.sh | 69++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
Mscripts/skeleton.sh | 1+
Mwget-list.src | 6+++---
11 files changed, 501 insertions(+), 390 deletions(-)

diff --git a/build-clfs b/build-clfs @@ -170,8 +170,8 @@ cat >> /home/clfs/.bashrc <<'EOF' export CLFS_HOST="$(echo ${MACHTYPE} | sed "s/-[^-]*/-cross/")" if [ "${CLFS_GCC_ARCH_HAS_FLOAT_AND_FPU}" = true ]; then -export CLFS_GCC_FLOAT_OPT="--with-float=${CLFS_GCC_FLOAT}" -export CLFS_GCC_FPU_OPT="--with-fpu=${CLFS_GCC_FPU}" + export CLFS_GCC_FLOAT_OPT="--with-float=${CLFS_GCC_FLOAT}" + export CLFS_GCC_FPU_OPT="--with-fpu=${CLFS_GCC_FPU}" fi export CLFS_CROSS_SYSROOT=${CLFS_CROSS_ROOT}/${CLFS_TARGET} @@ -225,13 +225,13 @@ DEFINE "BUSYBOX" "1.32.0" "bz2" "busybox-" "busybox-" DEFINE "DROPBEAR" "2020.80" "bz2" "dropbear-" "dropbear-" DEFINE "GCC" "10.2.0" "xz" "gcc-" "gcc-" DEFINE "GMP" "6.2.0" "xz" "gmp-" "gmp-" -DEFINE "IANA_ETC" "20200910" "gz" "iana-etc-" "iana-etc-" -DEFINE "LINUX" "5.8.9" "xz" "linux-" "linux-" +DEFINE "IANA_ETC" "20201016" "gz" "iana-etc-" "iana-etc-" +DEFINE "LINUX" "5.9.1" "xz" "linux-" "linux-" DEFINE "MPC" "1.2.0" "gz" "mpc-" "mpc-" DEFINE "MPFR" "4.1.0" "xz" "mpfr-" "mpfr-" DEFINE "MUSL" "1.2.1" "gz" "musl-" "musl-" DEFINE "NETPLUG" "1.2.9.2" "bz2" "netplug-" "netplug-" -DEFINE "UBOOT" "2020.07" "bz2" "u-boot-" "u-boot-" +DEFINE "UBOOT" "2020.10" "bz2" "u-boot-" "u-boot-" DEFINE "WIRELESS_TOOLS" "29" "gz" "wireless_tools." "wireless_tools." DEFINE "ZLIB" "1.2.11" "xz" "zlib-" "zlib-" @@ -262,6 +262,9 @@ mkdir -pv ${CLFS_ROOT} ${CLFS_BOOT_ROOT} ${CLFS_CROSS_SYSROOT} #### this allows us to treat ${CLFS_CROSS_SYSROOT} and ${CLFS_CROSS_SYSROOT}/usr identically ln -fsv . ${CLFS_CROSS_SYSROOT}/usr +cat > ${CLFS_ROOT}/etc/passwd << "EOF" +root::0:0:root:/root:/bin/ash +EOF ## Creating the group,passwd, and lastlog files cat > ${CLFS_ROOT}/etc/group << "EOF" @@ -283,10 +286,6 @@ usb:x:14: cdrom:x:15: EOF -cat > ${CLFS_ROOT}/etc/passwd << "EOF" -root::0:0:root:/root:/bin/ash -EOF - touch ${CLFS_ROOT}/var/log/lastlog chmod -v 664 ${CLFS_ROOT}/var/log/lastlog @@ -305,6 +304,7 @@ source ~/.bashrc ################################################################################ ### V) Building and installing basic system packages ########################### ################################################################################ +${CLFS_SCRIPTS}/build-base-packages.sh ${CLFS_SCRIPTS}/build-core-packages.sh source ~/.bashrc diff --git a/configs/linux-kernel-config b/configs/linux-kernel-config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.8.9 Kernel Configuration +# Linux/arm 5.9.1 Kernel Configuration # CONFIG_CC_VERSION_TEXT="arm-linux-musleabihf-gcc (GCC) 10.2.0" CONFIG_CC_IS_GCC=y @@ -146,9 +146,10 @@ CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y +CONFIG_RD_ZSTD=y # CONFIG_BOOT_CONFIG is not set -# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set -CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_BPF=y @@ -300,6 +301,7 @@ CONFIG_ARCH_BCM2835=y # CONFIG_ARCH_MESON is not set # CONFIG_ARCH_MILBEAUT is not set # CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_MSTARV7 is not set # CONFIG_ARCH_MVEBU is not set # CONFIG_ARCH_NPCM is not set @@ -564,6 +566,7 @@ CONFIG_ARM_CRYPTO=y # CONFIG_CRYPTO_AES_ARM is not set # CONFIG_CRYPTO_CHACHA20_NEON is not set # CONFIG_CRYPTO_POLY1305_ARM is not set +CONFIG_AS_VFP_VMRS_FPINST=y # # General architecture-dependent options @@ -601,7 +604,6 @@ CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_STACKPROTECTOR=y -CONFIG_CC_HAS_STACKPROTECTOR_NONE=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y CONFIG_HAVE_CONTEXT_TRACKING=y @@ -614,7 +616,6 @@ CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_HAVE_EXIT_THREAD=y CONFIG_ARCH_MMAP_RND_BITS=8 CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y -CONFIG_HAVE_COPY_THREAD_TLS=y CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_OLD_SIGACTION=y @@ -1274,6 +1275,7 @@ CONFIG_NET_VENDOR_XILINX=y # CONFIG_XILINX_LL_TEMAC is not set CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y +CONFIG_MDIO_DEVRES=y CONFIG_MDIO_BCM_UNIMAC=y # CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BUS_MUX_GPIO is not set @@ -1418,6 +1420,10 @@ CONFIG_WLAN_VENDOR_MEDIATEK=y # CONFIG_MT76x0U is not set # CONFIG_MT76x2U is not set # CONFIG_MT7663U is not set +# CONFIG_MT7663S is not set +CONFIG_WLAN_VENDOR_MICROCHIP=y +# CONFIG_WILC1000_SDIO is not set +# CONFIG_WILC1000_SPI is not set CONFIG_WLAN_VENDOR_RALINK=y # CONFIG_RT2X00 is not set CONFIG_WLAN_VENDOR_REALTEK=y @@ -1631,6 +1637,7 @@ CONFIG_TTY_PRINTK_LEVEL=6 # CONFIG_IPMI_HANDLER is not set CONFIG_HW_RANDOM=m # CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_HW_RANDOM_BA431 is not set CONFIG_HW_RANDOM_BCM2835=m CONFIG_HW_RANDOM_IPROC_RNG200=m # CONFIG_HW_RANDOM_CCTRNG is not set @@ -1710,6 +1717,7 @@ CONFIG_SPI_BCM2835AUX=y # CONFIG_SPI_BCM_QSPI is not set # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_CADENCE_QUADSPI is not set # CONFIG_SPI_DESIGNWARE is not set # CONFIG_SPI_NXP_FLEXSPI is not set # CONFIG_SPI_GPIO is not set @@ -1803,6 +1811,7 @@ CONFIG_GPIO_RASPBERRYPI_EXP=y # CONFIG_GPIO_MAX7300 is not set # CONFIG_GPIO_MAX732X is not set # CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCA9570 is not set # CONFIG_GPIO_PCF857X is not set # CONFIG_GPIO_TPIC2810 is not set # end of I2C GPIO expanders @@ -1862,6 +1871,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_AXI_FAN_CONTROL is not set # CONFIG_SENSORS_ASPEED is not set # CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_CORSAIR_CPRO is not set # CONFIG_SENSORS_DS620 is not set # CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_F71805F is not set @@ -1975,6 +1985,7 @@ CONFIG_SENSORS_RASPBERRYPI_HWMON=m # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set CONFIG_THERMAL=y +# CONFIG_THERMAL_NETLINK is not set # CONFIG_THERMAL_STATISTICS is not set CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_HWMON=y @@ -1988,7 +1999,6 @@ CONFIG_THERMAL_GOV_STEP_WISE=y # CONFIG_THERMAL_GOV_BANG_BANG is not set # CONFIG_THERMAL_GOV_USER_SPACE is not set # CONFIG_CPU_THERMAL is not set -# CONFIG_CLOCK_THERMAL is not set # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_MMIO is not set @@ -2099,7 +2109,6 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set -# CONFIG_MFD_SMSC is not set # CONFIG_ABX500_CORE is not set # CONFIG_MFD_STMPE is not set CONFIG_MFD_SYSCON=y @@ -2157,6 +2166,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set # CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_FAN53880 is not set CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_ISL9305 is not set # CONFIG_REGULATOR_ISL6271A is not set @@ -2178,6 +2188,7 @@ CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_MP886X is not set # CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PCA9450 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set # CONFIG_REGULATOR_PV88080 is not set @@ -2186,6 +2197,7 @@ CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set # CONFIG_REGULATOR_SY8824X is not set +# CONFIG_REGULATOR_SY8827N is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -2195,6 +2207,7 @@ CONFIG_REGULATOR_GPIO=y # CONFIG_REGULATOR_VCTRL is not set # CONFIG_RC_CORE is not set CONFIG_MEDIA_CEC_SUPPORT=y +# CONFIG_CEC_CH7322 is not set # CONFIG_USB_PULSE8_CEC is not set # CONFIG_USB_RAINSHADOW_CEC is not set CONFIG_MEDIA_SUPPORT=y @@ -2404,7 +2417,6 @@ CONFIG_MEDIA_ATTACH=y # CONFIG_VIDEO_OV2659 is not set # CONFIG_VIDEO_OV2680 is not set # CONFIG_VIDEO_OV2685 is not set -# CONFIG_VIDEO_OV2740 is not set # CONFIG_VIDEO_OV5640 is not set # CONFIG_VIDEO_OV5645 is not set # CONFIG_VIDEO_OV5647 is not set @@ -2434,6 +2446,7 @@ CONFIG_MEDIA_ATTACH=y # CONFIG_VIDEO_SR030PC30 is not set # CONFIG_VIDEO_NOON010PC30 is not set # CONFIG_VIDEO_M5MOLS is not set +# CONFIG_VIDEO_RDACM20 is not set # CONFIG_VIDEO_RJ54N1 is not set # CONFIG_VIDEO_S5K6AA is not set # CONFIG_VIDEO_S5K6A3 is not set @@ -2450,6 +2463,7 @@ CONFIG_MEDIA_ATTACH=y # CONFIG_VIDEO_AD5820 is not set # CONFIG_VIDEO_AK7375 is not set # CONFIG_VIDEO_DW9714 is not set +# CONFIG_VIDEO_DW9768 is not set # CONFIG_VIDEO_DW9807_VCM is not set # end of Lens drivers @@ -3002,7 +3016,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9867 is not set # CONFIG_SND_SOC_MAX98927 is not set -# CONFIG_SND_SOC_MAX98373 is not set +# CONFIG_SND_SOC_MAX98373_I2C is not set # CONFIG_SND_SOC_MAX98390 is not set # CONFIG_SND_SOC_MAX9860 is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set @@ -3223,8 +3237,8 @@ CONFIG_USB=y CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_OTG=y -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_PRODUCTLIST is not set +# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_LEDS_TRIGGER_USBPORT is not set CONFIG_USB_AUTOSUSPEND_DELAY=2 @@ -3449,6 +3463,7 @@ CONFIG_MMC_BCM2835=y CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y # CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_CLASS_MULTICOLOR is not set # CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set # @@ -3468,10 +3483,7 @@ CONFIG_LEDS_CLASS=y CONFIG_LEDS_GPIO=y # CONFIG_LEDS_LP3944 is not set # CONFIG_LEDS_LP3952 is not set -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP55XX_COMMON is not set # CONFIG_LEDS_LP8860 is not set # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_PCA963X is not set @@ -3542,6 +3554,7 @@ CONFIG_DMA_BCM2835=y # CONFIG_INTEL_IDMA64 is not set # CONFIG_NBPFAXI_DMA is not set # CONFIG_PL330_DMA is not set +# CONFIG_XILINX_ZYNQMP_DPDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_DW_DMAC is not set @@ -3588,13 +3601,6 @@ CONFIG_STAGING=y # CONFIG_R8712U is not set # CONFIG_R8188EU is not set # CONFIG_VT6656 is not set - -# -# Speakup console speech -# -# CONFIG_SPEAKUP is not set -# end of Speakup console speech - # CONFIG_STAGING_MEDIA is not set # @@ -3606,15 +3612,13 @@ CONFIG_STAGING=y # CONFIG_LTE_GDM724X is not set # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_FB_TFT is not set -# CONFIG_WILC1000_SDIO is not set -# CONFIG_WILC1000_SPI is not set # CONFIG_KS7010 is not set CONFIG_BCM_VIDEOCORE=y CONFIG_BCM2835_VCHIQ=m CONFIG_SND_BCM2835=m CONFIG_VIDEO_BCM2835=m +CONFIG_BCM2835_VCHIQ_MMAL=m # CONFIG_PI433 is not set # @@ -3647,6 +3651,7 @@ CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_PWM is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set +CONFIG_CLK_BCM2711_DVP=y CONFIG_CLK_BCM2835=y CONFIG_CLK_RASPBERRYPI=y # CONFIG_HWSPINLOCK is not set @@ -3770,6 +3775,7 @@ CONFIG_ARM_GIC_MAX_NR=1 CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_BRCMSTB_RESCAL is not set # CONFIG_RESET_INTEL_GW is not set +CONFIG_RESET_SIMPLE=y # CONFIG_RESET_TI_SYSCON is not set # @@ -4083,7 +4089,7 @@ CONFIG_CRYPTO_CURVE25519=y CONFIG_CRYPTO_CCM=y CONFIG_CRYPTO_GCM=y CONFIG_CRYPTO_CHACHA20POLY1305=y -# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_AEGIS128=y # CONFIG_CRYPTO_SEQIV is not set # CONFIG_CRYPTO_ECHAINIV is not set @@ -4261,6 +4267,7 @@ CONFIG_XXHASH=y CONFIG_ZLIB_INFLATE=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC_POWERPC=y @@ -4276,12 +4283,14 @@ CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_XZ=y CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_LZ4=y +CONFIG_DECOMPRESS_ZSTD=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_BTREE=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAS_DMA=y +CONFIG_DMA_OPS=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_DMA_DECLARE_COHERENT=y CONFIG_ARCH_HAS_SETUP_DMA_OPS=y @@ -4359,6 +4368,7 @@ CONFIG_FRAME_WARN=1024 # CONFIG_HEADERS_INSTALL is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set @@ -4372,6 +4382,9 @@ CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" CONFIG_DEBUG_FS=y +CONFIG_DEBUG_FS_ALLOW_ALL=y +# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set +# CONFIG_DEBUG_FS_ALLOW_NONE is not set CONFIG_HAVE_ARCH_KGDB=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y @@ -4409,7 +4422,6 @@ CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y -CONFIG_KASAN_STACK=1 # end of Memory Debugging # CONFIG_DEBUG_SHIRQ is not set @@ -4474,6 +4486,7 @@ CONFIG_STACKTRACE=y # # CONFIG_RCU_PERF_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_REF_SCALE_TEST is not set # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging diff --git a/configs/uboot-config b/configs/uboot-config @@ -1,6 +1,10 @@ # # Automatically generated file; DO NOT EDIT. -# U-Boot 2020.07 Configuration +# U-Boot 2020.10 Configuration +# + +# +# Compiler: arm-linux-musleabihf-gcc (GCC) 10.2.0 # CONFIG_CREATE_ARCH_SYMLINK=y # CONFIG_ARC is not set @@ -51,7 +55,6 @@ CONFIG_ARCH_CPU_INIT=y # CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set CONFIG_USE_ARCH_MEMCPY=y CONFIG_USE_ARCH_MEMSET=y -# CONFIG_SET_STACK_SIZE is not set # CONFIG_ARCH_AT91 is not set # CONFIG_TARGET_EDB93XX is not set # CONFIG_TARGET_ASPENITE is not set @@ -82,10 +85,12 @@ CONFIG_ARCH_BCM283X=y # CONFIG_TARGET_BCMCYGNUS is not set # CONFIG_TARGET_BCMNSP is not set # CONFIG_TARGET_BCMNS2 is not set +# CONFIG_TARGET_BCMNS3 is not set # CONFIG_ARCH_EXYNOS is not set # CONFIG_ARCH_S5PC1XX is not set # CONFIG_ARCH_HIGHBANK is not set # CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IPQ40XX is not set # CONFIG_ARCH_KEYSTONE is not set # CONFIG_ARCH_K3 is not set # CONFIG_ARCH_OMAP2PLUS is not set @@ -103,6 +108,7 @@ CONFIG_ARCH_BCM283X=y # CONFIG_ARCH_MX7 is not set # CONFIG_ARCH_MX6 is not set # CONFIG_ARCH_MX5 is not set +# CONFIG_ARCH_NEXELL is not set # CONFIG_ARCH_OWL is not set # CONFIG_ARCH_QEMU is not set # CONFIG_ARCH_RMOBILE is not set @@ -120,6 +126,7 @@ CONFIG_ARCH_BCM283X=y # CONFIG_TARGET_VEXPRESS64_AEMV8A is not set # CONFIG_TARGET_VEXPRESS64_BASE_FVP is not set # CONFIG_TARGET_VEXPRESS64_JUNO is not set +# CONFIG_TARGET_TOTAL_COMPUTE is not set # CONFIG_TARGET_LS2080A_EMU is not set # CONFIG_TARGET_LS2080A_SIMU is not set # CONFIG_TARGET_LS1088AQDS is not set @@ -154,10 +161,13 @@ CONFIG_ARCH_BCM283X=y # CONFIG_ARCH_STI is not set # CONFIG_ARCH_STM32MP is not set # CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_OCTEONTX is not set +# CONFIG_ARCH_OCTEONTX2 is not set # CONFIG_TARGET_THUNDERX_88XX is not set # CONFIG_ARCH_ASPEED is not set # CONFIG_TARGET_DURIAN is not set # CONFIG_TARGET_PRESIDIO_ASIC is not set +# CONFIG_TARGET_XENGUEST_ARM64 is not set CONFIG_SYS_TEXT_BASE=0x00008000 # CONFIG_BCM2835 is not set # CONFIG_BCM2836 is not set @@ -181,14 +191,13 @@ CONFIG_TARGET_RPI_3_32B=y # CONFIG_TARGET_RPI_ARM64 is not set CONFIG_RPI_EFI_NR_SPIN_PAGES=1 CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_NR_DRAM_BANKS=1 CONFIG_ENV_SIZE=0x4000 CONFIG_DM_GPIO=y CONFIG_ERR_PTR_OFFSET=0x0 -CONFIG_NR_DRAM_BANKS=1 CONFIG_BOOTSTAGE_STASH_ADDR=0 CONFIG_IDENT_STRING="" CONFIG_ARMV7_LPAE=y -CONFIG_CSF_SIZE=0x2060 # CONFIG_CMD_DEKBLOB is not set # CONFIG_CMD_HDMIDETECT is not set CONFIG_IMX_DCD_ADDR=0x00910000 @@ -198,6 +207,7 @@ CONFIG_IMX_DCD_ADDR=0x00910000 # # CONFIG_DEBUG_LL is not set CONFIG_BUILD_TARGET="" +CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b" CONFIG_SMBIOS_PRODUCT_NAME="rpi" # CONFIG_DEBUG_UART is not set # CONFIG_AHCI is not set @@ -209,6 +219,9 @@ CONFIG_SMBIOS_PRODUCT_NAME="rpi" CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_CC_HAS_ASM_INLINE=y +# CONFIG_XEN is not set CONFIG_DISTRO_DEFAULTS=y CONFIG_ENV_VARS_UBOOT_CONFIG=y # CONFIG_SYS_BOOT_GET_CMDLINE is not set @@ -221,6 +234,9 @@ CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y # CONFIG_PHYS_64BIT is not set # CONFIG_SYS_CUSTOM_LDSCRIPT is not set CONFIG_PLATFORM_ELFENTRY="_start" +CONFIG_STACK_SIZE=0x1000000 +CONFIG_SYS_SRAM_BASE=0x0 +CONFIG_SYS_SRAM_SIZE=0x0 # # Boot images @@ -283,20 +299,21 @@ CONFIG_SYS_CONSOLE_IS_IN_ENV=y # CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set # CONFIG_SYS_CONSOLE_INFO_QUIET is not set CONFIG_SYS_STDIO_DEREGISTER=y +# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set +CONFIG_SYS_DEVICE_NULLDEV=y # # Logging # # CONFIG_LOG is not set -CONFIG_LOG_DEFAULT_LEVEL=6 CONFIG_SUPPORT_RAW_INITRD=y CONFIG_DEFAULT_FDT_FILE="" CONFIG_MISC_INIT_R=y # CONFIG_VERSION_VARIABLE is not set # CONFIG_BOARD_LATE_INIT is not set # CONFIG_DISPLAY_CPUINFO is not set -# CONFIG_DISPLAY_BOARDINFO is not set -# CONFIG_DISPLAY_BOARDINFO_LATE is not set +CONFIG_DISPLAY_BOARDINFO=y +CONFIG_DISPLAY_BOARDINFO_LATE=y # CONFIG_BOUNCE_BUFFER is not set # CONFIG_BOARD_TYPES is not set @@ -411,6 +428,8 @@ CONFIG_CMD_ENV_EXISTS=y # CONFIG_CMD_ENV_FLAGS is not set # CONFIG_CMD_NVEDIT_EFI is not set # CONFIG_CMD_NVEDIT_INFO is not set +# CONFIG_CMD_NVEDIT_LOAD is not set +# CONFIG_CMD_NVEDIT_SELECT is not set # # Memory commands @@ -423,6 +442,7 @@ CONFIG_CMD_CRC32=y # CONFIG_CMD_MD5SUM is not set # CONFIG_CMD_MEMINFO is not set CONFIG_CMD_MEMORY=y +# CONFIG_CMD_MEM_SEARCH is not set # CONFIG_CMD_MX_CYCLIC is not set # CONFIG_CMD_MEMTEST is not set # CONFIG_CMD_SHA1SUM is not set @@ -440,7 +460,6 @@ CONFIG_CMD_MEMORY=y # Device access commands # # CONFIG_CMD_ARMFLASH is not set -# CONFIG_CMD_ADC is not set # CONFIG_CMD_BCB is not set # CONFIG_CMD_BIND is not set # CONFIG_CMD_CLK is not set @@ -458,9 +477,11 @@ CONFIG_CMD_GPIO=y # CONFIG_CMD_I2C is not set CONFIG_CMD_LOADB=y CONFIG_CMD_LOADS=y +# CONFIG_CMD_LSBLK is not set CONFIG_CMD_MMC=y # CONFIG_CMD_BKOPS_ENABLE is not set # CONFIG_CMD_MMC_SWRITE is not set +# CONFIG_CMD_CLONE is not set # CONFIG_CMD_OSD is not set CONFIG_CMD_PART=y # CONFIG_CMD_PCI is not set @@ -570,6 +591,7 @@ CONFIG_CMD_EXT2=y CONFIG_CMD_EXT4=y # CONFIG_CMD_EXT4_WRITE is not set CONFIG_CMD_FAT=y +# CONFIG_CMD_SQUASHFS is not set CONFIG_CMD_FS_GENERIC=y CONFIG_CMD_FS_UUID=y # CONFIG_CMD_JFFS2 is not set @@ -610,7 +632,6 @@ CONFIG_OF_CONTROL=y CONFIG_OF_EMBED=y # CONFIG_OF_BOARD is not set # CONFIG_OF_PRIOR_STAGE is not set -CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b" # CONFIG_MULTI_DTB_FIT is not set # CONFIG_OF_DTB_PROPS_REMOVE is not set CONFIG_MKIMAGE_DTC_PATH="dtc" @@ -620,6 +641,7 @@ CONFIG_MKIMAGE_DTC_PATH="dtc" # CONFIG_ENV_SUPPORT=y CONFIG_SAVEENV=y +# CONFIG_ENV_OVERWRITE is not set # CONFIG_ENV_IS_NOWHERE is not set # CONFIG_ENV_IS_IN_EEPROM is not set CONFIG_ENV_IS_IN_FAT=y @@ -634,14 +656,20 @@ CONFIG_ENV_FAT_INTERFACE="mmc" CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" CONFIG_ENV_FAT_FILE="uboot.env" CONFIG_SYS_RELOC_GD_ENV_ADDR=y +CONFIG_SYS_MMC_ENV_DEV=0 +CONFIG_SYS_MMC_ENV_PART=0 # CONFIG_USE_DEFAULT_ENV_FILE is not set CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +# CONFIG_ENV_APPEND is not set +# CONFIG_ENV_WRITEABLE_LIST is not set # CONFIG_ENV_ACCESS_IGNORE_FORCE is not set CONFIG_NET=y +# CONFIG_BOOTP_SEND_HOSTNAME is not set # CONFIG_NET_RANDOM_ETHADDR is not set # CONFIG_NETCONSOLE is not set # CONFIG_IP_DEFRAG is not set CONFIG_TFTP_BLOCKSIZE=1468 +CONFIG_TFTP_WINDOWSIZE=1 # # Device Drivers @@ -681,6 +709,10 @@ CONFIG_DM_DEV_READ_INLINE=y # CONFIG_SATA_SIL is not set # CONFIG_SATA_SIL3114 is not set # CONFIG_AXI is not set + +# +# Bus devices +# CONFIG_BLK=y CONFIG_HAVE_BLOCK_DEVICE=y CONFIG_BLOCK_CACHE=y @@ -688,6 +720,11 @@ CONFIG_BLOCK_CACHE=y # CONFIG_BOOTCOUNT_LIMIT is not set # +# Button Support +# +# CONFIG_BUTTON is not set + +# # Cache Controller drivers # # CONFIG_CACHE is not set @@ -742,6 +779,7 @@ CONFIG_BLOCK_CACHE=y # GPIO Support # # CONFIG_GPIO_HOG is not set +# CONFIG_DM_GPIO_LOOKUP_LABEL is not set # CONFIG_ALTERA_PIO is not set # CONFIG_DWAPB_GPIO is not set # CONFIG_AT91_GPIO is not set @@ -751,6 +789,7 @@ CONFIG_BLOCK_CACHE=y # CONFIG_INTEL_GPIO is not set # CONFIG_INTEL_ICH6_GPIO is not set # CONFIG_IMX_RGPIO2P is not set +# CONFIG_IPROC_GPIO is not set # CONFIG_HSDK_CREG_GPIO is not set # CONFIG_LPC32XX_GPIO is not set # CONFIG_MSM_GPIO is not set @@ -764,10 +803,12 @@ CONFIG_BLOCK_CACHE=y # CONFIG_TEGRA186_GPIO is not set # CONFIG_VYBRID_GPIO is not set # CONFIG_SIFIVE_GPIO is not set +# CONFIG_ZYNQ_GPIO is not set # CONFIG_DM_74X164 is not set # CONFIG_DM_PCA953X is not set # CONFIG_SPL_DM_PCA953X is not set # CONFIG_MPC8XXX_GPIO is not set +# CONFIG_NX_GPIO is not set # # Hardware Spinlock Support @@ -842,6 +883,7 @@ CONFIG_MMC_VERBOSE=y # CONFIG_MMC_DW is not set # CONFIG_MMC_MXC is not set # CONFIG_MMC_PCI is not set +# CONFIG_PXA_MMC_GENERIC is not set # CONFIG_MMC_OMAP_HS is not set CONFIG_MMC_BCM2835=y CONFIG_MMC_SDHCI=y @@ -860,6 +902,7 @@ CONFIG_MMC_SDHCI_BCM2835=y # CONFIG_MMC_SDHCI_STI is not set # CONFIG_MMC_SDHCI_XENON is not set # CONFIG_MMC_SDHCI_TANGIER is not set +# CONFIG_MMC_SDHCI_ZYNQ is not set # CONFIG_STM32_SDMMC2 is not set # CONFIG_FTSDC010 is not set # CONFIG_FSL_ESDHC is not set @@ -907,6 +950,8 @@ CONFIG_PHYLIB=y # CONFIG_PHY_SMSC is not set # CONFIG_PHY_TERANETICS is not set # CONFIG_PHY_TI is not set +# CONFIG_PHY_TI_DP83867 is not set +# CONFIG_PHY_TI_GENERIC is not set # CONFIG_PHY_VITESSE is not set # CONFIG_PHY_XILINX is not set # CONFIG_PHY_XILINX_GMII2RGMII is not set @@ -922,6 +967,7 @@ CONFIG_NETDEVICES=y # CONFIG_BCM_SF2_ETH is not set # CONFIG_BCMGENET is not set # CONFIG_DWC_ETH_QOS is not set +# CONFIG_EEPRO100 is not set # CONFIG_ETH_DESIGNWARE is not set # CONFIG_ETHOC is not set # CONFIG_FMAN_ENET is not set @@ -933,6 +979,7 @@ CONFIG_NETDEVICES=y # CONFIG_MACB is not set # CONFIG_RGMII is not set # CONFIG_MII is not set +# CONFIG_PCNET is not set # CONFIG_RTL8139 is not set # CONFIG_RTL8169 is not set # CONFIG_SMC911X is not set @@ -943,6 +990,9 @@ CONFIG_NETDEVICES=y # CONFIG_DRIVER_TI_CPSW is not set # CONFIG_DRIVER_TI_EMAC is not set # CONFIG_DRIVER_TI_KEYSTONE_NET is not set +# CONFIG_XILINX_AXIEMAC is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_ZYNQ_GEM is not set # CONFIG_SYS_DPAA_QBMAN is not set # CONFIG_TSEC_ENET is not set # CONFIG_MEDIATEK_ETH is not set @@ -1070,6 +1120,7 @@ CONFIG_PL01X_SERIAL=y # # SOC (System On Chip) specific Drivers # +# CONFIG_SOC_DEVICE is not set # CONFIG_SOC_TI is not set # CONFIG_SPI is not set @@ -1173,7 +1224,11 @@ CONFIG_USB_ETHER_SMSC95XX=y # Graphics support # CONFIG_DM_VIDEO=y +CONFIG_BACKLIGHT=y +CONFIG_VIDEO_PCI_DEFAULT_FB_SIZE=0 +# CONFIG_VIDEO_COPY is not set # CONFIG_BACKLIGHT_GPIO is not set +CONFIG_CMD_VIDCONSOLE=y # CONFIG_VIDEO_BPP8 is not set # CONFIG_VIDEO_BPP16 is not set CONFIG_VIDEO_BPP32=y @@ -1184,6 +1239,8 @@ CONFIG_CONSOLE_NORMAL=y # CONFIG_CONSOLE_TRUETYPE is not set CONFIG_SYS_WHITE_ON_BLACK=y # CONFIG_NO_FB_CLEAR is not set +CONFIG_PANEL=y +CONFIG_SIMPLE_PANEL=y # # TrueType Fonts @@ -1212,6 +1269,7 @@ CONFIG_CONSOLE_SCROLL_LINES=10 # CONFIG_VIDEO_SIMPLE is not set # CONFIG_VIDEO_DT_SIMPLEFB is not set # CONFIG_OSD is not set +# CONFIG_SPLASH_SCREEN is not set # # VirtIO Drivers @@ -1238,6 +1296,7 @@ CONFIG_WATCHDOG_TIMEOUT_MSECS=60000 # CONFIG_ULP_WATCHDOG is not set # CONFIG_DESIGNWARE_WATCHDOG is not set # CONFIG_WDT is not set +# CONFIG_PVBLOCK is not set CONFIG_PHYS_TO_BUS=y # @@ -1255,10 +1314,12 @@ CONFIG_FS_FAT_MAX_CLUSTSIZE=65536 # CONFIG_UBIFS_SILENCE_MSG is not set # CONFIG_FS_CRAMFS is not set # CONFIG_YAFFS2 is not set +# CONFIG_FS_SQUASHFS is not set # # Library routines # +# CONFIG_ADDR_MAP is not set # CONFIG_BCH is not set # CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set # CONFIG_DYNAMIC_CRC_TABLE is not set @@ -1294,6 +1355,7 @@ CONFIG_REGEX=y # # CONFIG_SHA1 is not set # CONFIG_SHA256 is not set +# CONFIG_SHA512_ALGO is not set # CONFIG_SHA_HW_ACCEL is not set # CONFIG_MD5 is not set # CONFIG_SPL_MD5 is not set @@ -1305,6 +1367,7 @@ CONFIG_REGEX=y # CONFIG_LZMA is not set # CONFIG_LZO is not set CONFIG_GZIP=y +# CONFIG_ZLIB_UNCOMPRESS is not set # CONFIG_BZIP2 is not set CONFIG_ZLIB=y # CONFIG_ZSTD is not set @@ -1327,6 +1390,8 @@ CONFIG_OF_LIBFDT_OVERLAY=y CONFIG_GENERATE_SMBIOS_TABLE=y CONFIG_SMBIOS_MANUFACTURER="raspberrypi" CONFIG_EFI_LOADER=y +CONFIG_EFI_VARIABLE_FILE_STORE=y +# CONFIG_EFI_VARIABLES_PRESEED is not set CONFIG_EFI_DEVICE_PATH_TO_TEXT=y CONFIG_EFI_LOADER_HII=y CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y diff --git a/md5sums.src b/md5sums.src @@ -3,12 +3,14 @@ fc8d55e2f6096de8ff8171173b6f5087 binutils-2.35.tar.xz 63527580ca47706b70046f87bb9d14fe dropbear-2020.80.tar.bz2 e9fd9b1789155ad09bcf3ae747596b50 gcc-10.2.0.tar.xz a325e3f09e6d91e62101e59f9bda3ec1 gmp-6.2.0.tar.xz -e7f09d1c59f429d259fe941d9de6b421 iana-etc-20200910.tar.gz -4d8b8af44c9d342624c036428da09ab6 linux-5.8.9.tar.xz +199266e1aade09e199363679b70dfe4a iana-etc-20201016.tar.gz +199f037b5adc4ca158dc281b60a226f6 linux-5.9.1.tar.xz +916eb26a5e52c3a45a1e467fc67c38d9 master.tar.gz 2f1ce56ac775f2be090863f364931a03 mpc-1.2.0.tar.gz bdd3d5efba9c17da8d83a35ec552baef mpfr-4.1.0.tar.xz 2720bdbed739e94c4d7acdc91c0cd9d6 musl-1.2.1.tar.gz +5c05a1071fe15a45b8b77557924aa73b netplug-1.2.9.2-fixes-1.patch 1d6db99536bdf875ce441f2c0e45ebf2 netplug-1.2.9.2.tar.bz2 -86e51eeccd15e658ad1df943a0edf622 u-boot-2020.07.tar.bz2 +14656f08aa73a8dbbde2424fe78bbe3b u-boot-2020.10.tar.bz2 e06c222e186f7cc013fd272d023710cb wireless_tools.29.tar.gz 85adef240c5f370b308da8c938951a68 zlib-1.2.11.tar.xz diff --git a/scripts/build-base-packages.sh b/scripts/build-base-packages.sh @@ -0,0 +1,270 @@ +#!/bin/sh +## NOTE: not strictly posix-shell compatible, as 'local' is used in some funcs + +################################################################################ +### Defined Variables: +### - CLFS : Root folder for entire CLFS build +### - CLFS_BUILD : Final tarball output directory +### - CLFS_CONFIGS : Additional configuration files for CLFS packages +### - CLFS_LOGS : Package build log root +### - CLFS_SCRIPTS : Build script root +### - CLFS_SOURCES : Package source root +### ---------------------------------------------------------------------------- +### - CLFS_ROOT : Root folder for cross-compiled system +### - CLFS_BOOT_ROOT : Root folder for boot-required binaries +### - CLFS_CROSS_NAME : Name of cross-toolchain root +### - CLFS_CROSS_ROOT : Root folder for cross-toolchain +### - CLFS_CROSS_SYSROOT : Sysroot for cross-toolchain +################################################################################ + +source ~/.bashrc + + +## Copying libgcc from the xgcc we built earlier. This is necessary as gcc can +## emit calls to this shared library whenever it sees fit. +cp -v ${CLFS_CROSS_SYSROOT}/lib/libgcc_s.so.1 ${CLFS_ROOT}/usr/lib/ +ln -fsv ../usr/lib/libgcc_s.so.1 ${CLFS_ROOT}/lib/libgcc_s.so.1 +${CLFS_TARGET}-strip ${CLFS_ROOT}/lib/libgcc_s.so.1 + + +LINUX () { + make mrproper + + make ARCH=${CLFS_ARCH} headers_check + make ARCH=${CLFS_ARCH} headers + + find usr/include -name '.*' -delete + rm usr/include/Makefile + cp -r usr/include ${CLFS_ROOT}/usr +} +EXTRACT "LINUX" LINUX "base-pkg-linux-headers" + + +MUSL () { + ./configure \ + CROSS_COMPILE=${CLFS_TARGET}- \ + --prefix=/usr \ + --build=${CLFS_HOST} \ + --host=${CLFS_TARGET} \ + --target=${CLFS_TARGET} \ + --enable-warnings \ + -disable-static + + make && make DESTDIR=${CLFS_ROOT} install + + ln -fsv ../usr/lib/libc.so ${CLFS_ROOT}/lib/ld-musl-*.so.1 +} +EXTRACT "MUSL" MUSL "base-pkg-musl-libc" + + +LIBSTDCXX () { + ln -s gthr-posix.h libgcc/gthr-default.h + + mkdir -v libstdcxx-build + cd libstdcxx-build + + ../libstdc++-v3/configure \ + CXXFLAGS="-g -O2 -pipe -D_GNU_SOURCE" \ + --prefix=/usr \ + --build=${CLFS_HOST} \ + --host=${CLFS_TARGET} \ + --target=${CLFS_TARGET} \ + --disable-multilib \ + --disable-nls \ + --disable-static + + make && make DESTDIR=${CLFS_ROOT} install +} +EXTRACT "GCC" LIBSTDCXX "base-pkg-libstdc++" + + +ZLIB () { + ./configure \ + --prefix=/usr \ + --const \ + --shared + + make && make DESTDIR=${CLFS_ROOT} install + + rm -v ${CLFS_ROOT}/usr/lib/libz.a + mv -v ${CLFS_ROOT}/usr/lib/libz.so.* ${CLFS_ROOT}/lib + ln -sfv ../../lib/$(readlink ${CLFS_ROOT}/usr/lib/libz.so) ${CLFS_ROOT}/usr/lib/libz.so +} +EXTRACT "ZLIB" ZLIB "base-pkg-zlib" + + +### Making the system bootable +## /etc/fstab file +cat > ${CLFS_ROOT}/etc/fstab <<'EOF' +# file-system mount-point type options dump fsck +EOF + + +LINUX () { + make mrproper + + cp ${CLFS_CONFIGS}/linux-kernel-config .config + + make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- && \ + make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- INSTALL_MOD_PATH=${CLFS_ROOT} modules_install + + cp arch/${CLFS_ARCH}/boot/zImage ${CLFS_BOOT_ROOT} + for DTS in ${CLFS_ARCH_DTS_LIST[@]}; do + cp arch/${CLFS_ARCH}/boot/dts/$DTS ${CLFS_BOOT_ROOT} + done +} +EXTRACT "LINUX" LINUX "base-pkg-linux" + + +UBOOT () { + make distclean + + cp ${CLFS_CONFIGS}/uboot-config .config + + make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- + + cp u-boot.bin ${CLFS_BOOT_ROOT} +} +EXTRACT "UBOOT" UBOOT "base-pkg-uboot" + + +BOOTSCRIPTS () { + make DESTDIR=${CLFS_ROOT} install-bootscripts + make DESTDIR=${CLFS_ROOT} install-dropbear + make DESTDIR=${CLFS_ROOT} install-netplug +} +EXTRACT "BOOTSCRIPTS" BOOTSCRIPTS "base-pkg-bootscripts" + + +## Creating /etc/inittab +cat > ${CLFS_ROOT}/etc/inittab <<'EOF' +# /etc/inittab + +::sysinit:/etc/rc.d/startup + +tty1::respawn:/sbin/getty 38400 tty1 +tty2::respawn:/sbin/getty 38400 tty2 +tty3::respawn:/sbin/getty 38400 tty3 +tty4::respawn:/sbin/getty 38400 tty4 +tty5::respawn:/sbin/getty 38400 tty5 +tty6::respawn:/sbin/getty 38400 tty6 + +# Put a getty on the serial line (for a terminal). Uncomment this line if +# you're using a serial console on ttyS0, or uncomment and adjust it if using a +# serial console on a different serial port. +#::respawn:/sbin/getty -L ttyS0 115200 vt100 + +::shutdown:/etc/rc.d/shutdown +::ctrlaltdel:/sbin/reboot +EOF + + +## Configuring mdev +cat > ${CLFS_ROOT}/etc/mdev.conf<<'EOF' +# /etc/mdev/conf + +# Devices: +# Syntax: %s %d:%d %s +# devices user:group mode + +# null does already exist; therefore ownership has to be changed with command +null root:root 0666 @chmod 666 $MDEV +zero root:root 0666 +grsec root:root 0660 +full root:root 0666 + +random root:root 0666 +urandom root:root 0444 +hwrandom root:root 0660 + +# console does already exist; therefore ownership has to be changed with command +#console root:tty 0600 @chmod 600 $MDEV && mkdir -p vc && ln -sf ../$MDEV vc/0 +console root:tty 0600 @mkdir -pm 755 fd && cd fd && for x in 0 1 2 3 ; do ln -sf /proc/self/fd/$x $x; done + +fd0 root:floppy 0660 +kmem root:root 0640 +mem root:root 0640 +port root:root 0640 +ptmx root:tty 0666 + +# ram.* +ram([0-9]*) root:disk 0660 >rd/%1 +loop([0-9]+) root:disk 0660 >loop/%1 +sd[a-z].* root:disk 0660 */lib/mdev/usbdisk_link +hd[a-z][0-9]* root:disk 0660 */lib/mdev/ide_links +md[0-9] root:disk 0660 + +tty root:tty 0666 +tty[0-9] root:root 0600 +tty[0-9][0-9] root:tty 0660 +ttyS[0-9]* root:tty 0660 +pty.* root:tty 0660 +vcs[0-9]* root:tty 0660 +vcsa[0-9]* root:tty 0660 + +ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem +ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem +slamr root:dialout 0660 @ln -sf $MDEV slamr0 +slusb root:dialout 0660 @ln -sf $MDEV slusb0 +fuse root:root 0666 + +# dri device +card[0-9] root:video 0660 =dri/ + +# alsa sound devices and audio stuff +pcm.* root:audio 0660 =snd/ +control.* root:audio 0660 =snd/ +midi.* root:audio 0660 =snd/ +seq root:audio 0660 =snd/ +timer root:audio 0660 =snd/ + +adsp root:audio 0660 >sound/ +audio root:audio 0660 >sound/ +dsp root:audio 0660 >sound/ +mixer root:audio 0660 >sound/ +sequencer.* root:audio 0660 >sound/ + +# misc stuff +agpgart root:root 0660 >misc/ +psaux root:root 0660 >misc/ +rtc root:root 0664 >misc/ + +# input stuff +event[0-9]+ root:root 0640 =input/ +mice root:root 0640 =input/ +mouse[0-9] root:root 0640 =input/ +ts[0-9] root:root 0600 =input/ + +# v4l stuff +vbi[0-9] root:video 0660 >v4l/ +video[0-9] root:video 0660 >v4l/ + +# dvb stuff +dvb.* root:video 0660 */lib/mdev/dvbdev + +# load drivers for usb devices +usbdev[0-9].[0-9] root:root 0660 */lib/mdev/usbdev +usbdev[0-9].[0-9]_.* root:root 0660 + +# net devices +tun[0-9]* root:root 0600 =net/ +tap[0-9]* root:root 0600 =net/ + +# zaptel devices +zap(.*) root:dialout 0660 =zap/%1 +dahdi!(.*) root:dialout 0660 =dahdi/%1 + +# raid controllers +cciss!(.*) root:disk 0660 =cciss/%1 +ida!(.*) root:disk 0660 =ida/%1 +rd!(.*) root:disk 0660 =rd/%1 + +sr[0-9] root:cdrom 0660 @ln -sf $MDEV cdrom + +# hpilo +hpilo!(.*) root:root 0660 =hpilo/%1 + +# xen stuff +xvd[a-z] root:root 0660 */lib/mdev/xvd_links +EOF + diff --git a/scripts/build-core-packages.sh b/scripts/build-core-packages.sh @@ -1,4 +1,5 @@ #!/bin/sh +## NOTE: not strictly posix-shell compatible, as 'local' is used in some funcs ################################################################################ ### Defined Variables: @@ -11,303 +12,29 @@ ### ---------------------------------------------------------------------------- ### - CLFS_ROOT : Root folder for cross-compiled system ### - CLFS_BOOT_ROOT : Root folder for boot-required binaries -### - CLFS_CROSS_NAME : Name of cross-toolchain root +### - CLFS_CROSS_NAME : Name of the cross-toolchain root ### - CLFS_CROSS_ROOT : Root folder for cross-toolchain ### - CLFS_CROSS_SYSROOT : Sysroot for cross-toolchain ################################################################################ source ~/.bashrc -## Creating passwd, group, and lastlog files -ln -fsv ../proc/mounts ${CLFS_ROOT}/etc/mtab - - -cat > ${CLFS_ROOT}/etc/passwd <<'EOF' -root::0:0:root:/root:/bin/ash -EOF - - -cat > ${CLFS_ROOT}/etc/group <<'EOF' -root:x:0: -bin:x:1: -sys:x:2: -kmem:x:3: -tty:x:4: -tape:x:5: -daemon:x:6: -floppy:x:7: -disk:x:8: -lp:x:9: -dialout:x:10: -audio:x:11: -video:x:12: -utmp:x:13: -usb:x:14: -cdrom:x:15: -EOF - - -touch ${CLFS_ROOT}/var/log/lastlog -chmod -v 664 ${CLFS_ROOT}/var/log/lastlog - - -## Installing libgcc -cp -v ${CLFS_CROSS_SYSROOT}/lib/libgcc_s.so.1 ${CLFS_ROOT}/usr/lib/ -ln -fsv ../usr/lib/libgcc_s.so.1 ${CLFS_ROOT}/lib/libgcc_s.so.1 -${CLFS_TARGET}-strip ${CLFS_ROOT}/lib/libgcc_s.so.1 - - -LINUX () { - make mrproper - - make ARCH=${CLFS_ARCH} headers_check - make ARCH=${CLFS_ARCH} headers - - find usr/include -name '.*' -delete - rm usr/include/Makefile - cp -r usr/include ${CLFS_ROOT}/usr -} -EXTRACT "LINUX" LINUX "core-pkg-linux-headers" - - -MUSL () { - ./configure \ - CROSS_COMPILE=${CLFS_TARGET}- \ - --prefix=/usr \ - --build=${CLFS_HOST} \ - --host=${CLFS_TARGET} \ - --target=${CLFS_TARGET} \ - --enable-optimize \ - --enable-warnings \ - -disable-static - - make && make DESTDIR=${CLFS_ROOT} install - - ln -fsv ../usr/lib/libc.so ${CLFS_ROOT}/lib/ld-musl-*.so.1 -} -EXTRACT "MUSL" MUSL "core-pkg-musl-libc" - - -LIBSTDCXX () { - ln -s gthr-posix.h libgcc/gthr-default.h - - mkdir -v libstdcxx-build - cd libstdcxx-build - - ../libstdc++-v3/configure \ - CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ - --prefix=/usr \ - --build=${CLFS_HOST} \ - --host=${CLFS_TARGET} \ - --target=${CLFS_TARGET} \ - --disable-multilib \ - --disable-nls \ - --disable-static - - make && make DESTDIR=${CLFS_ROOT} install -} -EXTRACT "GCC" LIBSTDCXX "core-pkg-libstdc++" - - -ZLIB () { - ./configure \ - --prefix=/usr \ - --const \ - --shared - - make && make DESTDIR=${CLFS_ROOT} install - - rm -v ${CLFS_ROOT}/usr/lib/libz.a - mv -v ${CLFS_ROOT}/usr/lib/libz.so.* ${CLFS_ROOT}/lib - ln -sfv ../../lib/$(readlink ${CLFS_ROOT}/usr/lib/libz.so) ${CLFS_ROOT}/usr/lib/libz.so -} -EXTRACT "ZLIB" ZLIB "core-pkg-zlib" - BUSYBOX () { - make distclean - - make ARCH="${CLFS_ARCH}" defconfig + make distclean - sed -i 's/\(CONFIG_\)\(.*\)\(INETD\)\(.*\)=y/# \1\2\3\4 is not set/g' .config - sed -i 's/\(CONFIG_IFPLUGD\)=y/# \1 is not set/' .config + make ARCH="${CLFS_ARCH}" defconfig - sed -i 's/\(CONFIG_FEATURE_WTMP\)=y/# \1 is not set/' .config - sed -i 's/\(CONFIG_FEATURE_UTMP\)=y/# \1 is not set/' .config + make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-" && \ + make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-" CONFIG_PREFIX="${CLFS_ROOT}" install - sed -i 's/\(CONFIG_UDPSVD\)=y/# \1 is not set/' .config - sed -i 's/\(CONFIG_TCPSVD\)=y/# \1 is not set/' .config - - make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-" && \ - make ARCH="${CLFS_ARCH}" CROSS_COMPILE="${CLFS_TARGET}-" CONFIG_PREFIX="${CLFS_ROOT}" install - - #### For building the linux kernel with modules - cp -v examples/depmod.pl ${CLFS_ROOT}/bin - chmod -v 755 ${CLFS_ROOT}/bin/depmod.pl + #### For building the linux kernel with modules + cp -v examples/depmod.pl ${CLFS_ROOT}/bin + chmod -v 755 ${CLFS_ROOT}/bin/depmod.pl } EXTRACT "BUSYBOX" BUSYBOX "core-pkg-busybox" -IANA_ETC () { - cp protocols services ${CLFS_ROOT}/etc -} -EXTRACT "IANA_ETC" IANA_ETC "core-pkg-iana-etc" - - -### Making the system bootable - -## /etc/fstab file -cat > ${CLFS_ROOT}/etc/fstab <<'EOF' -# file-system mount-point type options dump fsck -EOF - - -LINUX () { - make mrproper - - cp ${CLFS_CONFIGS}/linux-kernel-config .config - - make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- && \ - make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- INSTALL_MOD_PATH=${CLFS_ROOT} modules_install - - cp arch/${CLFS_ARCH}/boot/zImage ${CLFS_BOOT_ROOT} - for DTS in ${CLFS_ARCH_DTS_LIST[@]}; do - cp arch/${CLFS_ARCH}/boot/dts/$DTS ${CLFS_BOOT_ROOT} - done -} -EXTRACT "LINUX" LINUX "linux-kernel" - - -UBOOT () { - make distclean - - cp ${CLFS_CONFIGS}/uboot-config .config - - make ARCH=${CLFS_ARCH} CROSS_COMPILE=${CLFS_TARGET}- - - cp u-boot.bin ${CLFS_BOOT_ROOT} -} -EXTRACT "UBOOT" UBOOT "uboot-bootloader" - - -BOOTSCRIPTS () { - make DESTDIR=${CLFS_ROOT} install-bootscripts - make DESTDIR=${CLFS_ROOT} install-dropbear - make DESTDIR=${CLFS_ROOT} install-netplug -} -EXTRACT "BOOTSCRIPTS" BOOTSCRIPTS "core-pkg-bootscripts" - - -## Configuring mdev -cat > ${CLFS_ROOT}/etc/mdev.conf<<'EOF' -# /etc/mdev/conf - -# Devices: -# Syntax: %s %d:%d %s -# devices user:group mode - -# null does already exist; therefore ownership has to be changed with command -null root:root 0666 @chmod 666 $MDEV -zero root:root 0666 -grsec root:root 0660 -full root:root 0666 - -random root:root 0666 -urandom root:root 0444 -hwrandom root:root 0660 - -# console does already exist; therefore ownership has to be changed with command -#console root:tty 0600 @chmod 600 $MDEV && mkdir -p vc && ln -sf ../$MDEV vc/0 -console root:tty 0600 @mkdir -pm 755 fd && cd fd && for x in 0 1 2 3 ; do ln -sf /proc/self/fd/$x $x; done - -fd0 root:floppy 0660 -kmem root:root 0640 -mem root:root 0640 -port root:root 0640 -ptmx root:tty 0666 - -# ram.* -ram([0-9]*) root:disk 0660 >rd/%1 -loop([0-9]+) root:disk 0660 >loop/%1 -sd[a-z].* root:disk 0660 */lib/mdev/usbdisk_link -hd[a-z][0-9]* root:disk 0660 */lib/mdev/ide_links -md[0-9] root:disk 0660 - -tty root:tty 0666 -tty[0-9] root:root 0600 -tty[0-9][0-9] root:tty 0660 -ttyS[0-9]* root:tty 0660 -pty.* root:tty 0660 -vcs[0-9]* root:tty 0660 -vcsa[0-9]* root:tty 0660 - -ttyLTM[0-9] root:dialout 0660 @ln -sf $MDEV modem -ttySHSF[0-9] root:dialout 0660 @ln -sf $MDEV modem -slamr root:dialout 0660 @ln -sf $MDEV slamr0 -slusb root:dialout 0660 @ln -sf $MDEV slusb0 -fuse root:root 0666 - -# dri device -card[0-9] root:video 0660 =dri/ - -# alsa sound devices and audio stuff -pcm.* root:audio 0660 =snd/ -control.* root:audio 0660 =snd/ -midi.* root:audio 0660 =snd/ -seq root:audio 0660 =snd/ -timer root:audio 0660 =snd/ - -adsp root:audio 0660 >sound/ -audio root:audio 0660 >sound/ -dsp root:audio 0660 >sound/ -mixer root:audio 0660 >sound/ -sequencer.* root:audio 0660 >sound/ - -# misc stuff -agpgart root:root 0660 >misc/ -psaux root:root 0660 >misc/ -rtc root:root 0664 >misc/ - -# input stuff -event[0-9]+ root:root 0640 =input/ -mice root:root 0640 =input/ -mouse[0-9] root:root 0640 =input/ -ts[0-9] root:root 0600 =input/ - -# v4l stuff -vbi[0-9] root:video 0660 >v4l/ -video[0-9] root:video 0660 >v4l/ - -# dvb stuff -dvb.* root:video 0660 */lib/mdev/dvbdev - -# load drivers for usb devices -usbdev[0-9].[0-9] root:root 0660 */lib/mdev/usbdev -usbdev[0-9].[0-9]_.* root:root 0660 - -# net devices -tun[0-9]* root:root 0600 =net/ -tap[0-9]* root:root 0600 =net/ - -# zaptel devices -zap(.*) root:dialout 0660 =zap/%1 -dahdi!(.*) root:dialout 0660 =dahdi/%1 - -# raid controllers -cciss!(.*) root:disk 0660 =cciss/%1 -ida!(.*) root:disk 0660 =ida/%1 -rd!(.*) root:disk 0660 =rd/%1 - -sr[0-9] root:cdrom 0660 @ln -sf $MDEV cdrom - -# hpilo -hpilo!(.*) root:root 0660 =hpilo/%1 - -# xen stuff -xvd[a-z] root:root 0660 */lib/mdev/xvd_links -EOF - - ## Creating /etc/profile cat > ${CLFS_ROOT}/etc/profile <<'EOF' # /etc/profile @@ -316,8 +43,8 @@ cat > ${CLFS_ROOT}/etc/profile <<'EOF' export PATH=/bin:/usr/bin if [ `id -u` -eq 0 ] ; then -PATH=/bin:/sbin:/usr/bin:/usr/sbin -unset HISTFILE + PATH=/bin:/sbin:/usr/bin:/usr/sbin + unset HISTFILE fi # Setup some environment variables. @@ -333,27 +60,10 @@ export EDITOR='/bin/vi' EOF -## Creating /etc/inittab -cat > ${CLFS_ROOT}/etc/inittab <<'EOF' -# /etc/inittab - -::sysinit:/etc/rc.d/startup - -tty1::respawn:/sbin/getty 38400 tty1 -tty2::respawn:/sbin/getty 38400 tty2 -tty3::respawn:/sbin/getty 38400 tty3 -tty4::respawn:/sbin/getty 38400 tty4 -tty5::respawn:/sbin/getty 38400 tty5 -tty6::respawn:/sbin/getty 38400 tty6 - -# Put a getty on the serial line (for a terminal). Uncomment this line if -# you're using a serial console on ttyS0, or uncomment and adjust it if using a -# serial console on a different serial port. -#::respawn:/sbin/getty -L ttyS0 115200 vt100 - -::shutdown:/etc/rc.d/shutdown -::ctrlaltdel:/sbin/reboot -EOF +IANA_ETC () { + cp protocols services ${CLFS_ROOT}/etc +} +EXTRACT "IANA_ETC" IANA_ETC "core-pkg-iana-etc" ## Setting hostname @@ -377,6 +87,7 @@ mkdir -pv ${CLFS_ROOT}/usr/share/udhcpc cat > ${CLFS_ROOT}/etc/network/interfaces <<'EOF' auto eth0 iface eth0 inet dhcp +iface eth0 inet6 dhcp EOF cat > ${CLFS_ROOT}/usr/share/udhcpc/default.script <<'EOF' @@ -392,29 +103,29 @@ RESOLV_CONF="/etc/resolv.conf" [ -n "$subnet" ] && NETMASK="netmask $subnet" case "$1" in -deconfig) -/sbin/ifconfig $interface 0.0.0.0 -;; - -renew|bound) -/sbin/ifconfig $interface $ip $BROADCAST $NETMASK - -if [ -n "$router" ] ; then -while route del default gw 0.0.0.0 dev $interface ; do -true -done - -for i in $router ; do -route add default gw $i dev $interface -done -fi - -echo -n > $RESOLV_CONF -[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF -for i in $dns ; do -echo nameserver $i >> $RESOLV_CONF -done -;; + deconfig) + /sbin/ifconfig $interface 0.0.0.0 + ;; + + renew|bound) + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + + if [ -n "$router" ] ; then + while route del default gw 0.0.0.0 dev $interface ; do + true + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + echo -n > $RESOLV_CONF + [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF + for i in $dns ; do + echo nameserver $i >> $RESOLV_CONF + done + ;; esac exit 0 diff --git a/scripts/build-cross-toolchain.sh b/scripts/build-cross-toolchain.sh @@ -1,4 +1,5 @@ #!/bin/sh +## NOTE: not strictly posix-shell compatible, as 'local' is used in some funcs ################################################################################ ### Defined Variables: diff --git a/scripts/build-extra-packages.sh b/scripts/build-extra-packages.sh @@ -1,4 +1,5 @@ #!/bin/sh +## NOTE: not strictly posix-shell compatible, as 'local' is used in some funcs ################################################################################ ### Defined Variables: diff --git a/scripts/host-check.sh b/scripts/host-check.sh @@ -2,26 +2,73 @@ # Simple script to list version numbers of critical development tools set -e +export LC_ALL=C + + bash --version | head -n1 | cut -d" " -f2-4 echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3- -bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- + + echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2 -diff --version | head -n1 +## compression / decomression +tar --version | head -n1 +bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- +gzip --version | head -n1 +xz --version | head -n1 + + +sudo -V | head -n1 find --version | head -n1 + + +## stream processing +sed --version | head -n1 gawk --version | head -n1 +if [ -h /usr/bin/awk ]; then + echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; +elif [ -x /usr/bin/awk ]; then + echo awk is `/usr/bin/awk --version | head -n1` +else + echo "awk not found" +fi + + +## gcc and friends gcc --version | head -n1 -ldd $(which ${SHELL}) | grep libc.so | cut -d ' ' -f 3 | ${SHELL} | head -n 1 \ -| cut -d ' ' -f 1-10 -grep --version | head -n1 -gzip --version | head -n1 +g++ --version | head -n1 +ldd --version | head -n1 | cut -d" " -f2- # glibc version +echo "#include <ncurses.h>" | gcc -E - > /dev/null + + +## additional building dependencies m4 --version | head -n1 make --version | head -n1 -echo "#include <ncurses.h>" | gcc -E - > /dev/null patch --version | head -n1 -sed --version | head -n1 -sudo -V | head -n1 -tar --version | head -n1 -makeinfo --version | head -n1 +diff --version | head -n1 +makeinfo --version | head -n1 # texinfo version +bison --version | head -n1 +if [ -h /usr/bin/yacc ]; then + echo "/usr/bin/yacc -> `readlink -f /usr/bin/yacc`"; +elif [ -x /usr/bin/yacc ]; then + echo yacc is `/usr/bin/yacc --version | head -n1` +else + echo "yacc not found" +fi + + +## gcc test (can it build the minimal program) +echo 'int main(){}' > dummy.c && g++ -o dummy dummy.c +if [ -x dummy ]; then + echo "g++ compilation OK"; +else + echo "g++ compilation failed"; +fi +rm -f dummy.c dummy + + +## linux system version +cat /proc/version + echo "Finished checking host system capabilities!" diff --git a/scripts/skeleton.sh b/scripts/skeleton.sh @@ -1,4 +1,5 @@ #!/bin/sh +## NOTE: not strictly posix-shell compatible, as 'local' is used in some funcs ################################################################################ ### Defined Variables: diff --git a/wget-list.src b/wget-list.src @@ -3,14 +3,14 @@ https://www.busybox.net/downloads/busybox-1.32.0.tar.bz2 https://matt.ucc.asn.au/dropbear/releases/dropbear-2020.80.tar.bz2 http://gcc.gnu.org/pub/gcc/releases/gcc-10.2.0/gcc-10.2.0.tar.xz http://ftp.gnu.org/gnu/gmp/gmp-6.2.0.tar.xz -https://github.com/Mic92/iana-etc/releases/download/20200910/iana-etc-20200910.tar.gz -http://www.kernel.org/pub/linux/kernel/v5.x/linux-5.8.9.tar.xz +https://github.com/Mic92/iana-etc/releases/download/20201016/iana-etc-20201016.tar.gz +http://www.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.xz https://github.com/cross-lfs/bootscripts-embedded/archive/master.tar.gz http://ftp.gnu.org/gnu/mpc/mpc-1.2.0.tar.gz http://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.xz http://www.musl-libc.org/releases/musl-1.2.1.tar.gz http://www.red-bean.com/~bos/netplug/netplug-1.2.9.2.tar.bz2 http://patches.clfs.org/embedded-dev/netplug-1.2.9.2-fixes-1.patch -https://ftp.denx.de/pub/u-boot/u-boot-2020.07.tar.bz2 +https://ftp.denx.de/pub/u-boot/u-boot-2020.10.tar.bz2 https://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz http://downloads.sourceforge.net/libpng/zlib-1.2.11.tar.xz