Files
SimpleLinux/scripts/busybox.sh
T
2026-03-05 17:18:16 +07:00

51 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
#--- import rolors ---
. ./scripts/colors.sh
#---------------------
#--- import funcs ----
. ./scripts/funcs.sh
#---------------------
. ./scripts/config.sh
#----------- Building busybox for rootfs ----------
busybox_rootfs() {
print_info "** Building busybox for rootfs"
[ -d $build/busybox ] && return 0
mkdir -p $build/busybox
cd $build/busybox
tar -xjf $root/downloads/busybox-${BUSYBOX_VERSION}.tar.bz2
cd busybox-${BUSYBOX_VERSION}
sed -i 's/|| ctx->process_block == sha1_process_block64_shaNI/|| ctx->process_block == sha1_process_block64/' libbb/hash_md5_sha.c
cp $root/board/${BOARD_NAME}/busybox-${BUSYBOX_VERSION}.config .config
print_info "** Configuring busybox"
make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- oldconfig
check $? "Configure busybox all logs in .log"
print_info "** Building busybox"
make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- $makeflags
check $? "Build busybox all logs in .log"
cp -v busybox $rootfspath/usr/bin
cd $rootfspath/usr/bin
for i in $(cat $BUSYBOX_LIST_FILE); do ln -sv busybox $i; done
}
#--------------------------------------------------
#------------------ Building busybox for initramfs ----------------
busybox_initramfs() {
print_info "** Building busybox for initramfs"
[ -f $build/initramfs.img ] && return 0
mkdir -p $build/busybox
cd $build/busybox
tar -xjf $root/downloads/busybox-${BUSYBOX_VERSION}.tar.bz2
check $? "Extract busybox"
cd busybox-${BUSYBOX_VERSION}
cp -v $root/board/${BOARD_NAME}/busybox-initrd-${BUSYBOX_VERSION}.config .config
print_info "** Configuring busybox"
make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- oldconfig
check $? "Configure busybox all logs in .log"
print_info "** Building busybox"
make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- $makeflags
check $? "Build busybox all logs in .log"
}
#------------------------------------------------------------------