From d956c803890acd0c5023a5940e398775fb5d46ca Mon Sep 17 00:00:00 2001
From: guowenxue <guowenxue@gmail.com>
Date: Fri, 07 Jun 2024 00:51:26 +0800
Subject: [PATCH] update image build shell script to modify profile and sshd service
---
images/build.sh | 38 ++++++++++++------
images/patches/profile | 20 ++++++++++
images/patches/S50sshd | 50 +++++++++++++++++++++++++
3 files changed, 95 insertions(+), 13 deletions(-)
diff --git a/images/build.sh b/images/build.sh
index 66ac829..7d9714e 100755
--- a/images/build.sh
+++ b/images/build.sh
@@ -93,8 +93,8 @@
export JOBS=`cat /proc/cpuinfo | grep processor | wc -l`
export ARCH=arm
- ROOTFS_SRC=rootfs
- ROOTFS_IMG=rootfs-${BOARD}.ubi
+ ROOTFS_SRC=rootfs
+ ROOTFS_IMG=rootfs-${BOARD}.ubi
export SRCS="rootfs"
}
@@ -110,16 +110,16 @@
continue
fi
- pr_info "start fetch $src source code"
- mkdir -p $TARBALL_PATH
+ pr_info "start fetch $src source code"
+ mkdir -p $TARBALL_PATH
- # Download source code packet
- if [ ! -s $TARBALL_PATH/$src.tar.xz ] ; then
- wget $BSP_URL/at91/bsp/$BSP_VER/$src.tar.xz -P $TARBALL_PATH
- fi
+ # Download source code packet
+ if [ ! -s $TARBALL_PATH/$src.tar.xz ] ; then
+ wget $BSP_URL/at91/bsp/$BSP_VER/$src.tar.xz -P $TARBALL_PATH
+ fi
- # decompress source code packet
- do_unpack $TARBALL_PATH/$src.tar.xz $ROOTFS_SRC
+ # decompress source code packet
+ do_unpack $TARBALL_PATH/$src.tar.xz $ROOTFS_SRC
done
}
@@ -174,6 +174,16 @@
}
+function do_modify()
+{
+ cd $PRJ_PATH
+
+ pr_info "start modify rootfs ..."
+
+ cp patches/profile $ROOTFS_SRC/etc/profile
+ cp patches/S50sshd $ROOTFS_SRC/etc/init.d/S50sshd
+}
+
function do_build()
{
cd $PRJ_PATH
@@ -182,7 +192,7 @@
pr_info "start build rootfs image..."
build_ubifs
- mv $ROOTFS_IMG $PRFX_PATH
+ mv $ROOTFS_IMG $PRFX_PATH
}
function do_install()
@@ -191,8 +201,8 @@
echo ""
pr_info "install all images to '$PRFX_PATH'"
- cp $TOP_PATH/bootloader/install/* $PRFX_PATH
- cp $TOP_PATH/kernel/install/* $PRFX_PATH
+ cp $TOP_PATH/bootloader/install/* $PRFX_PATH
+ cp $TOP_PATH/kernel/install/* $PRFX_PATH
ls $PRFX_PATH && echo ""
@@ -231,6 +241,8 @@
do_fetch
+do_modify
+
do_build
do_install
diff --git a/images/patches/S50sshd b/images/patches/S50sshd
new file mode 100755
index 0000000..f7223b1
--- /dev/null
+++ b/images/patches/S50sshd
@@ -0,0 +1,50 @@
+#!/bin/sh
+#
+# sshd Starts sshd.
+#
+
+# Make sure the ssh-keygen progam exists
+[ -f /usr/bin/ssh-keygen ] || exit 0
+
+umask 077
+
+start() {
+ # Create any missing keys
+ /usr/bin/ssh-keygen -A
+
+ # This folder must own by root
+ chown root.root /var/empty/
+
+ printf "Starting sshd: "
+ /usr/sbin/sshd
+ touch /var/lock/sshd
+ echo "OK"
+}
+stop() {
+ printf "Stopping sshd: "
+ killall sshd
+ rm -f /var/lock/sshd
+ echo "OK"
+}
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
+
+exit $?
+
diff --git a/images/patches/profile b/images/patches/profile
new file mode 100644
index 0000000..95a284b
--- /dev/null
+++ b/images/patches/profile
@@ -0,0 +1,20 @@
+export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/apps/bin:/apps/tools"
+
+if [ "$PS1" ]; then
+ if [ "`id -u`" -eq 0 ]; then
+ export PS1='[\u@\h \w]# '
+ else
+ export PS1='[\u@\h \w]$ '
+ fi
+fi
+
+export PAGER='/bin/more'
+export EDITOR='/bin/vi'
+
+# Source configuration files from /etc/profile.d
+for i in /etc/profile.d/*.sh ; do
+ if [ -r "$i" ]; then
+ . $i
+ fi
+done
+unset i
--
Gitblit v1.9.1