@@ -13,7 +13,7 @@ DOCGEN_OUT ?= ${CACHE_PATH}/docs
1313-include config.inc
1414
1515DEVICE_CACHE_PATH ?= ${CACHE_PATH}/${DEVICE}/${GOARCH}
16-
16+ DEVICE_PATH := ${PROJECT_PATH}/devices/${DEVICE}/${GOARCH}
1717SYSTEM_PATH ?= ${DEVICE_CACHE_PATH}/system
1818SYSTEM_IMAGE ?= ${SYSTEM_PATH}.img
1919
4343ifeq (${GOARCH},arm64)
4444KARGS ?= console=ttyAMA0,115200
4545else
46- KARGS ?= console=ttyS0 console=tty0
46+ KARGS ?= console=tty0 console=ttyS0
4747endif
4848
4949
@@ -89,7 +89,7 @@ DATA_TARGETS = $(shell find data/ -type f)
8989EXTERNAL_TARGETS =
9090SYSTEM_TARGETS = $(GO_TARGETS ) ${EXTERNAL_TARGETS} ${CONFIG_TARGETS} ${DATA_TARGETS} $(addsuffix /manifest.json,$(addprefix apps/,${APPS}) ) $(addsuffix /icon.svg,$(addprefix apps/,${APPS}) )
9191
92- INITRAMFS_TARGETS = init
92+ INITRAMFS_TARGETS = init cmd/driver
9393
9494ifeq (${RELEASE},1)
9595GOFLAGS += -buildvcs=false -trimpath -ldflags="-s -w -buildid="
@@ -142,7 +142,8 @@ update-kernel: ${DEVICE_CACHE_PATH}/kernel/Makefile
142142 cd ${DEVICE_CACHE_PATH}/kernel && \
143143 cp $$(${MAKE} ${KERNEL_MAKE_ARGS} -s image_name) ${PROJECT_PATH}/devices/${DEVICE}/${GOARCH}/kernel.img
144144
145- cd ${DEVICE_CACHE_PATH} && \
145+ rm -rf ${KERNEL_DRIVERS_PATH}
146+ cd ${DEVICE_CACHE_PATH}/kernel && \
146147 ${MAKE} ${KERNEL_MAKE_ARGS} INSTALL_MOD_PATH=${KERNEL_DRIVERS_PATH}/ INSTALL_MOD_STRIP=1 modules_install
147148
148149${DEVICE_CACHE_PATH}/variables : ${CURDIR}/devices/${DEVICE}/${GOARCH}/variables
@@ -188,7 +189,10 @@ ${SYSTEM_PATH}/cmd/dlv:
188189
189190${SYSTEM_IMAGE} : $(addprefix ${SYSTEM_PATH}/,${SYSTEM_TARGETS})
190191 @rm -rf ${SYSTEM_PATH} /drivers
191- [ -d ${KERNEL_DRIVERS_PATH} ] && cp ${KERNEL_DRIVERS_PATH} ${SYSTEM_PATH} /drivers || true
192+ [ -d ${KERNEL_DRIVERS_PATH} ] && \
193+ mkdir -p ${SYSTEM_PATH} /drivers && \
194+ find ${KERNEL_DRIVERS_PATH} -type f -name " *.ko*" -exec cp -a {} ${SYSTEM_PATH} /drivers \; && \
195+ go run rlxos.org/cmd/driver -driver-path ${SYSTEM_PATH} /drivers -cache ${SYSTEM_PATH} /drivers/cache.json cache || true
192196 mksquashfs ${SYSTEM_PATH} ${SYSTEM_IMAGE} -noappend -all-root -quiet
193197
194198${INITRAMFS_PATH}/% : ${SYSTEM_PATH}/%
@@ -199,7 +203,12 @@ ${INITRAMFS_PATH}/init: ${SYSTEM_PATH}/cmd/init
199203 @mkdir -p $(dir $@ )
200204 cp -a $< $@
201205
202- ${INITRAMFS_IMAGE} : $(addprefix ${INITRAMFS_PATH}/,${INITRAMFS_TARGETS})
206+ ${INITRAMFS_IMAGE} : $(addprefix ${INITRAMFS_PATH}/,${INITRAMFS_TARGETS}) ${SYSTEM_IMAGE}
207+ [ -d ${SYSTEM_PATH} /drivers ] && \
208+ rm -rf ${INITRAMFS_PATH} /drivers && \
209+ mkdir -p ${INITRAMFS_PATH} /drivers && \
210+ xargs -I {} cp -a ${SYSTEM_PATH} /drivers/{} ${INITRAMFS_PATH} /drivers < ${DEVICE_PATH} /initrd.list
211+
203212 (cd ${INITRAMFS_PATH}; find . -print0 | cpio --null --create --verbose --format=newc) > $@
204213
205214-include depends.${GOARCH}.inc
0 commit comments