2020-07-16 07:00:34 +09:00
|
|
|
# 必要そうなもの
|
|
|
|
|
2020-08-30 18:06:39 +09:00
|
|
|
## OS の基本機能 (優先度順?)
|
2020-07-16 07:00:34 +09:00
|
|
|
* メモリ管理
|
|
|
|
* タスク管理
|
|
|
|
* 入出力管理
|
2020-07-16 22:38:52 +09:00
|
|
|
* CUI
|
|
|
|
* ファイルシステム (ファイルシステムドライバとかをinitramfsみたいな形で持つ)
|
|
|
|
* アプリの実行 (ELF形式?)
|
2020-08-30 18:06:39 +09:00
|
|
|
* GUI (フレームバッファ)
|
2020-07-16 07:00:34 +09:00
|
|
|
|
2020-08-08 03:57:20 +09:00
|
|
|
## アプリケーション開発に必要になりそうなもの
|
2020-08-30 18:06:39 +09:00
|
|
|
* gcc / binutils / glibc移植
|
2020-08-08 03:57:20 +09:00
|
|
|
|
2020-08-30 18:06:39 +09:00
|
|
|
## 上記以外の機能
|
|
|
|
* シェル
|
2020-07-16 07:00:34 +09:00
|
|
|
* テキストエディター
|
|
|
|
* ターミナル (CUI 脱却後)
|
|
|
|
|
2020-08-30 18:06:39 +09:00
|
|
|
## あったらうれしいけど絶対実装が面倒な奴
|
2020-07-16 07:00:34 +09:00
|
|
|
* Windows/Linux 互換ドライバーレイヤー
|
2020-08-30 18:06:39 +09:00
|
|
|
* Windows/Linux 互換アプリケーションレイヤー (gcc移植には必須?)
|
2020-07-16 07:00:34 +09:00
|
|
|
|
2020-08-30 18:06:39 +09:00
|
|
|
# 参考になりそうな資料
|
|
|
|
* [フルスクラッチで作る!x86_64自作OS](http://yuma.ohgami.jp/x86_64-Jisaku-OS/)
|
|
|
|
* [UEFIによるELFバイナリの起動](https://www.slideshare.net/uchan_nos/uefielf)
|
|
|
|
* 最新情報処理概論 改訂版 P.96 ~ P.98
|
|
|
|
* キタミ式イラストIT塾 応用情報技術者 平成30年度 (情報処理技術者試験) P.268 ~ P.333
|
2020-08-29 17:13:36 +09:00
|
|
|
|
|
|
|
# ビルド方法
|
|
|
|
```git clone https://github.com/tianocore/edk2.git```
|
|
|
|
```cd edk2```
|
|
|
|
```git clone https://gitlab.pepepper.cf/ecri/sprinkleos.git```
|
|
|
|
```. edksetup.sh```
|
|
|
|
```make -C BaseTools/Source/C```
|
2020-08-29 17:17:41 +09:00
|
|
|
Conf/target.txtのACTIVE_PLATFORMをsprinkleos/sprinkleos.dscに TARGET_ARCHをX64に TOOL_CHAIN_TAGをGCC5に
|
2020-08-29 17:17:12 +09:00
|
|
|
```build```
|
2020-08-29 17:13:36 +09:00
|
|
|
出来上がったBuild/SprinkleOSX64/DEBUG_GCC5/X64/sprinkleos.efiを上手いこと起動
|