added tiny c compiler and cgroups for orangepi pc

This commit is contained in:
wt
2026-02-19 18:33:22 +07:00
parent 5ce3d98d83
commit fba6a776ac
8 changed files with 71 additions and 13 deletions
+28 -13
View File
@@ -11,15 +11,15 @@ CONFIG_AS_VERSION=24100
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=24100
CONFIG_LLD_VERSION=0
CONFIG_RUSTC_VERSION=108200
CONFIG_RUSTC_LLVM_VERSION=190101
CONFIG_RUSTC_VERSION=109300
CONFIG_RUSTC_LLVM_VERSION=210108
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=129
CONFIG_PAHOLE_VERSION=131
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
@@ -150,19 +150,29 @@ CONFIG_GCC10_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
CONFIG_SLAB_OBJ_EXT=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
# CONFIG_MEMCG is not set
# CONFIG_BLK_CGROUP is not set
# CONFIG_CGROUP_SCHED is not set
CONFIG_MEMCG=y
# CONFIG_MEMCG_V1 is not set
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_GROUP_SCHED_WEIGHT=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_SCHED_MM_CID=y
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_RDMA is not set
# CONFIG_CGROUP_FREEZER is not set
# CONFIG_CPUSETS is not set
# CONFIG_CGROUP_DEVICE is not set
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_CGROUP_PERF is not set
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CPUSETS=y
# CONFIG_CPUSETS_V1 is not set
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_MISC is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
@@ -675,7 +685,11 @@ CONFIG_BLK_DEV_BSG_COMMON=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLK_DEV_WRITE_MOUNTED=y
# CONFIG_BLK_DEV_ZONED is not set
# CONFIG_BLK_DEV_THROTTLING is not set
# CONFIG_BLK_WBT is not set
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
# CONFIG_BLK_CGROUP_IOPRIO is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_SED_OPAL is not set
# CONFIG_BLK_INLINE_ENCRYPTION is not set
@@ -5896,6 +5910,7 @@ CONFIG_SBITMAP=y
# end of Library routines
CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
CONFIG_UNION_FIND=y
#
# Kernel hacking
+1
View File
@@ -64,4 +64,5 @@ export FINIT_INIT_ENABLE=y
export LIBSQLITE3_ENABLE=n
export LM_SENSORS_ENABLE=n
export LRZSZ_ENABLE=n
export TCC_C_COMPILER_ENABLE=n
#--------------------------------------
+1
View File
@@ -64,4 +64,5 @@ export FINIT_INIT_ENABLE=y
export LIBSQLITE3_ENABLE=n
export LM_SENSORS_ENABLE=n
export LRZSZ_ENABLE=n
export TCC_C_COMPILER_ENABLE=n
#--------------------------------------
+1
View File
@@ -52,4 +52,5 @@ export FINIT_INIT_ENABLE=y
export LIBSQLITE3_ENABLE=n
export LM_SENSORS_ENABLE=n
export LRZSZ_ENABLE=n
export TCC_C_COMPILER_ENABLE=n
#--------------------------------------
+4
View File
@@ -21,6 +21,7 @@
. ./scripts/lm_sensors.sh
. ./scripts/wpa_supplicant.sh
. ./scripts/lrzsz.sh
. ./scripts/tcc.sh
case $1 in
build)
@@ -84,6 +85,9 @@ case $1 in
lrzsz)
lrzsz-build
;;
tcc)
tcc_build
;;
*)
printf "$UYELLOW** $0 script using: $0 {clean|build|download|rootfs}\n$RESET"
exit 1
+2
View File
@@ -25,6 +25,7 @@
. ./scripts/lm_sensors.sh
. ./scripts/wpa_supplicant.sh
. ./scripts/lrzsz.sh
. ./scripts/tcc.sh
#----------- Building rootfs ----------------------
rootfs() {
@@ -90,6 +91,7 @@ EOF
[ "$LIBSQLITE3_ENABLE" = "y"] && libsqlite3
[ "$LM_SENSORS_ENABLE" = "y" ] && lm_sensors
[ "$LRZSZ_ENABLE" = "y" ] && lrzsz-build
[ "$TCC_C_COMPILER_ENABLE" = "y" ] && tcc_build
if [ ! -z "$DEFAULT_HOSTNAME" ]; then
echo "$DEFAULT_HOSTNAME" > $rootfspath/etc/hostname
+33
View File
@@ -0,0 +1,33 @@
#!/bin/bash
. ./scripts/colors.sh
. ./scripts/funcs.sh
. ./scripts/config.sh
tcc_build() {
pkgname=tcc
pkgver=0.9.27
printf "$GREEN** Building and installing ${pkgname}\n$RESET"
mkdir $build/${pkgname}
cd $build/${pkgname}
tar -xvf $root/downloads/${pkgname}-${pkgver}.tar.bz2
check $? "Extract ${pkgname}"
cd ${pkgname}-${pkgver}
export QEMU_LD_PREFIX=${rootfspath}
./configure \
--prefix=/usr \
--cross-prefix=${CROSS_COMPILE}- \
--cpu=${ARCH} \
--disable-static \
--config-uClibc \
--with-sysroot=${rootfspath}
check $? "Configure ${pkgname}"
make $makeflags
check $? "Build ${pkgname}"
make DESTDIR=$rootfspath install
${CROSS_COMPILE}-strip --strip-unneeded $rootfspath/usr/bin/tcc $rootfspath/usr/lib/libtcc.so
check $? "Installing to rootfs ${pkgname}"
find $rootfspath -type f -name "*.a" -delete
find $rootfspath -type f -name "*.la" -delete
rm -rvf $rootfspath/usr/share/{info,man,doc}
}
+1
View File
@@ -26,3 +26,4 @@ https://dl.gitea.com/gitea/1.22.4/gitea-1.22.4-linux-arm-5
# https://github.com/troglobit/finit
# https://github.com/LuaDist/libsqlite3.git
# https://w1.fi/releases/wpa_supplicant-2.11.tar.gz
# https://download.savannah.gnu.org/releases/tinycc/tcc-0.9.27.tar.bz2