Skip to content

Commit 5affa87

Browse files
committed
Add simplefs as new artifact
To enhance the guest OS functionality, this commit integrates the simplefs kernel module to support an additional filesystem. It appends simplefs as a new Linux image artifact and automatically builds the latest simplefs.ko when make build-linux-image is executed. simplefs: https://github.com/sysprog21/simplefs
1 parent c9f1882 commit 5affa87

File tree

5 files changed

+20
-2
lines changed

5 files changed

+20
-2
lines changed

.github/workflows/build-linux-artifacts.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
mkdir -p /tmp/rv32emu-linux-image-prebuilt/linux-image
5959
mv build/linux-image/Image /tmp/rv32emu-linux-image-prebuilt/linux-image
6060
mv build/linux-image/rootfs.cpio /tmp/rv32emu-linux-image-prebuilt/linux-image
61+
mv build/linux-image/simplefs.ko /tmp/rv32emu-linux-image-prebuilt/simplefs.ko
6162
mv build/sha1sum-linux-image /tmp
6263
- name: Create tarball
6364
run: |

mk/artifact.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ else
137137
ifeq ($(call has, SYSTEM), 1)
138138
$(Q)(cd $(BIN_DIR) && $(SHA1SUM) linux-image/Image >> sha1sum-linux-image)
139139
$(Q)(cd $(BIN_DIR) && $(SHA1SUM) linux-image/rootfs.cpio >> sha1sum-linux-image)
140+
$(Q)(cd $(BIN_DIR) && $(SHA1SUM) linux-image/simplefs.ko >> sha1sum-linux-image)
140141
else
141142
git submodule update --init $(addprefix ./tests/,$(foreach tb,$(TEST_SUITES),$(tb)))
142143
$(Q)for tb in $(TEST_SUITES); do \

mk/external.mk

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,13 @@ LINUX_DATA_SHA = $(shell wget -q -O- $(LINUX_CDN_VERSION_URL)/sha256sums.asc | \
137137
grep $(LINUX_DATA) | awk '{print $$1}')
138138
LINUX_DATA_SHA_CMD = $(SHA256SUM)
139139

140+
# simplefs
141+
SIMPLEFS_VERSION = rel2025.0
142+
SIMPLEFS_DATA = /tmp/simplefs
143+
SIMPLEFS_DATA_URL = git clone https://github.com/sysprog21/simplefs $(SIMPLEFS_DATA) -b $(SIMPLEFS_VERSION) --depth=1
144+
SIMPLEFS_DATA_SHA = 863936f72e0781b240c5ec4574510c57f0394b99
145+
SIMPLEFS_DATA_SHA_CMD = $(SHA1SUM)
146+
140147
define download-extract-verify
141148
$($(T)_DATA):
142149
$(Q)$$(call prologue,$$@)
@@ -146,5 +153,5 @@ $($(T)_DATA):
146153
$(Q)$$(call epilogue,$(notdir $($(T)_DATA_URL)),$(SHA_FILE1),$(SHA_FILE2))
147154
endef
148155

149-
EXTERNAL_DATA = DOOM QUAKE TIMIDITY BUILDROOT LINUX
156+
EXTERNAL_DATA = DOOM QUAKE TIMIDITY BUILDROOT LINUX SIMPLEFS
150157
$(foreach T,$(EXTERNAL_DATA),$(eval $(download-extract-verify)))

mk/tools.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ $(HIST_BIN): $(HIST_OBJS)
3535
TOOLS_BIN += $(HIST_BIN)
3636

3737
# Build Linux image
38-
LINUX_IMAGE_SRC = $(BUILDROOT_DATA) $(LINUX_DATA)
38+
LINUX_IMAGE_SRC = $(BUILDROOT_DATA) $(LINUX_DATA) $(SIMPLEFS_DATA)
3939
build-linux-image: $(LINUX_IMAGE_SRC)
4040
$(Q)./tools/build-linux-image.sh
4141
$(Q)$(PRINTF) "Build done.\n"

tools/build-linux-image.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,14 @@ function do_linux
5151
cp -f $SRC_DIR/linux/arch/riscv/boot/Image $OUTPUT_DIR
5252
}
5353

54+
function do_simplefs
55+
{
56+
pushd $SRC_DIR/simplefs
57+
ASSERT make KDIR=$SRC_DIR/linux $PARALLEL
58+
popd
59+
cp -f $SRC_DIR/simplefs/simplefs.ko $OUTPUT_DIR
60+
}
61+
5462
do_buildroot && OK
5563
do_linux && OK
64+
do_simplefs && OK

0 commit comments

Comments
 (0)