#******************************************************************************#
#* build/Makefile *#
-#* 2017/07/11 *#
+#* 2017/07/16 *#
#* Copyright (C) 2016-2017 Mochi *#
#******************************************************************************#
#******************************************************************************#
#* マクロ設定 *#
#******************************************************************************#
# ディスクイメージファイル
-IMG_NAME = mochi.img
-
-# ループデバイス
-LOOP_DEV = /dev/loop0
-LOOP_DEV_P1 = /dev/loop0p1
-LOOP_DEV_P2 = /dev/loop0p2
+DISK_IMG = mochi.img
# booter
-BOOTER_IPL = objs/booter/booter-ipl
-BOOTER_MAIN = objs/booter/booter-main
+BOOTER_IPL = objs/booter/booter-ipl.bin
+BOOTER_MAIN = objs/booter/booter-main.bin
# kernel
-KERNEL = objs/kernel/kernel
+KERNEL = objs/kernel/kernel.bin
+KERNEL_IMG = kernel.img
#******************************************************************************#
.PHONY: clean
clean:
make -C ../src/ clean
- -rm -f $(IMG_NAME)
+ -rm -f $(DISK_IMG)
+ -rm -f $(KERNEL_IMG)
-rm -rf objs
# ディスクイメージの作成
.PHONY: image
-image: $(IMG_NAME)
+image: $(DISK_IMG)
#******************************************************************************#
#* イメージファイル作成 *#
#******************************************************************************#
-$(IMG_NAME): all
- sync
- tools/makedisk -o $@ -i $(BOOTER_IPL) -b $(BOOTER_MAIN) -k $(KERNEL)
+$(DISK_IMG): all
+ tools/makeimg -o $(KERNEL_IMG) -K $(KERNEL)
+ tools/makedisk -o $@ -i $(BOOTER_IPL) -b $(BOOTER_MAIN) -k $(KERNEL_IMG)
sync
#******************************************************************************#
/******************************************************************************/
/* src/booter/LoadMng/LoadMngKernel.c */
-/* 2017/07/11 */
+/* 2017/07/16 */
/* Copyright (C) 2017 Mochi. */
/******************************************************************************/
/******************************************************************************/
/* 共通ヘッダ */
#include <stdarg.h>
#include <kernel/MochiKernel.h>
+#include <MLib/Basic/MLibBasic.h>
/* 外部モジュールヘッダ */
#include <Cmn.h>
/******************************************************************************/
void LoadMngKernelLoad( void )
{
+ uint32_t size; /* LBAサイズ */
+ MochiKernelImgHdr_t header; /* カーネルイメージヘッダ */
+
/* トレースログ出力 */
DEBUG_LOG( "%s() start.", __func__ );
+ /* 初期化 */
+ size = sizeof ( MochiKernelImgHdr_t ) / 512;
+
+ /* カーネルイメージヘッダ読込み */
+ DriverAtaRead( &header,
+ gLoadMngInitPt[ 1 ].lbaFirstAddr,
+ size );
+
/* カーネル読込み */
DriverAtaRead( ( void * ) MOCHIKERNEL_ADDR_ENTRY,
- gLoadMngInitPt[ 1 ].lbaFirstAddr,
- gLoadMngInitPt[ 1 ].lbaSize );
+ gLoadMngInitPt[ 1 ].lbaFirstAddr + size,
+ MLIB_BASIC_ALIGN( header.fileSize, 512 ) / 512);
/* トレースログ出力 */
DEBUG_LOG( "%s() end.", __func__ );
#******************************************************************************#
#* src/booter/Makefile *#
-#* 2017/07/06 *#
+#* 2017/07/16 *#
#* Copyright (C) 2016-2017 Mochi. *#
#******************************************************************************#
#******************************************************************************#
CUR_DIR = booter
# IPL部バイナリ名
-IPL_NAME = booter-ipl
+IPL_NAME = booter-ipl.bin
# メイン部バイナリ名
-MAIN_NAME = booter-main
+MAIN_NAME = booter-main.bin
# IPL部ソースコード
IPL_SRCS = Ipl/IplMain.s
#******************************************************************************#
#* src/kernel/Makefile *#
-#* 2017/07/06 *#
+#* 2017/07/16 *#
#* Copyright (C) 2016-2017 Mochi. *#
#******************************************************************************#
#******************************************************************************#
CUR_DIR = kernel
# バイナリ名
-KERNEL_NAME = kernel
+KERNEL_NAME = kernel.bin
# ソースコード
SRCS = InitCtrl/InitCtrlInit.c \