這篇是相關知識整理,也是個人的一點小記錄 基本知識UEFI 請參考 UEFIGPT 請參考 GPT MBR 請參考 MBR Diskpart 請參考 Diskp...
嗨我是k66,今天豬油博士要將複雜的UEFI七階段,簡單歸類成三階段並對應到我們要實作的boot loader。 正文開始! 豬油博士:在實作UEFI bo...
嗨我是k66,經過前一篇的UEFI_APPLICATION實作後,相信大家對UEFI程式碼有點概念(知道會用到c、inf、dsc等)。本篇我們將利用上一篇的開發...
嗨我是k66,前一篇講到UEFI開機流程(共有七階,我們將boot loader部分簡化成三階),就快可以進入程式碼了!接下來花兩篇介紹安裝環境,只要跟著做就能...
嗨我是k66,呈上篇繼續安裝edk2與QEMU環境。下一篇就會進入程式碼了,你們不繼續看我會哭喔! 只需要設定一次的edk2與QEMU! 設定edk2...
嗨我是k66,久等了終於可以進到UEFI程式碼階段~今天實作Day3的No Pig Killing,這次不用asm而用efi。如Day5提的UEFI開機流程,除...
嗨我是k66,今天要把我們寫好的開機畫面放到實體機器(電腦)上運行,之前都是在QEMU(虛擬機)上運行。先展示畫面~ 可以看到與虛擬機(QEMU)有些不同,虛擬...
快速導覽 Demo影片 各章節完整程式碼Github 拯救豬腳城的完整漫畫 引言 嗨我是k66,UEFI網路資源都是一堆文字,學UEFI過程很痛...
在安裝蘋果系統前,正確的BIOS選項設定必不可少 以下先列出幾項"必須"修改的選項,也許你的主機板預設值已符合,若無,請修改成下列狀態: 必...
嗨我是k66,承上篇講完INF與DSC,今天實作C。 開始前介紹一些以下程式碼會用到的概念: 6個名詞解釋:gBS、Blt、GOP、Protocol、Han...
嗨我是k66,上一篇由豬油博士帶我們用x86 組合語言(.asm, assembly)實作出的最簡單bootloader,並透過NASM轉成Oinkbootlo...
嗨我是k66,本篇是30天鐵人賽最後一天,但它不是最後一篇(先賣關子XD)。 致謝 感謝Pei與我的三位好戰友(Emily, Phoebe, Ashely),...
嗨我是k66,Day8提到UEFI_APPICATION分3類:UefiMain、main、ShellAppMain,Day8時因使用的UefiMain而不支援...
嗨我是k66,上一篇由豬油博士口述介紹了我們的Project30。究竟本系列文的標題UEFI與我們將要實作的Project30開機畫面有什麼關係呢?答案會在接下...
嗨我是k66,前五篇我們實作Logo。今天來實作顯示即時系統時間,先上畫面。[自我挑戰7]為保證大家都能照著實作出,本篇有附上所有程式碼。讀者看到太長請不要害怕...
嗨我是k66,前一篇我們實作顯示系統時間,在那之前前五篇我們實作Logo,本篇要來實作按鍵功能—按ESC退出(詳細欲實現功能請參考本系列文Day11)。 實作按...
嗨我是k66,接下來兩篇是實作,將自己的Logo顯示至terminal上。開始前先簡介在OinkBL.c會用到的3個名詞: BMP(Bitmap):EDK2使...
嗨我是k66,前一篇提到小豬Oink與豬油博士為了拯救豬腳城,需要寫出開機畫面,嚇唬邪惡城主。因此本篇以故事對話來揭開我們的project30的長相,及必備知識...
嗨我是k66,前一篇介紹想做的九項功能,今天介紹實作第一項—顯示OinkBT(OinkBootloader)的Logo的背後思路。 開發UEFI過程會是需先找到...
嗨我是k66,承上篇繼續實作OinkBL.c。今天的程式碼會顯示Logo.bmp。程式碼連結 OinkBL.c 接著寫UefiMain()中的DrawBmp(...
嗨我是k66,今天是系列文的第十一天,感謝讀者與隊友們一路相伴。快速複習前十篇內容: 日期 概述 第2、3天 寫一支最簡單loader.asm...
嗨我是k66,承上篇實作OinkBL.c,因最初前兩篇的寫法會遇到出現Bmp顏色、位置出現異常,故當時改成今日的做法—ConvertBmpToBlt()後終於能...
嗨我是k66,承上篇繼續實作OinkBL.c。目前我遇到問題是Logo的圖案出現花紋與多重影分身(如下圖XD),已於後兩篇克服之~程式碼連結 OinkBL....
嗨我是k66,延續前篇Day24續寫Entry.c,前篇卡讀使用者按鍵,我發現問題在於WaitForEvent(),其實在while(1)內可以不用Wait,僅...
嗨我是k66,今天是系列文Day22,截至目前為止我們已完成:Logo、時間顯示、按ESC關機、kernel。接下來我們來實作按B進入Boot Menu。我們把...
嗨我是k66,今天是系列文Day24,我們將之前的幾項功能整併,終於能呈現有模有樣的開機畫面了! 設計時按照Day11規劃,目前能顯示系統時間、系統版本、作者等...
嗨我是k66,前篇已將UEFI開機畫面完成,從bootloader到kernel,本篇我們在kernel內寫個猜拳遊戲! 放碼上來!程式碼連結 Entry...
嗨我是k66,上一篇介紹kernel概念,本篇要來實作,先用assembly寫Kernel.asm,NASM編譯成Kernel.bin,最後寫Kernel.c以...
嗨我是k66,本系列文到了尾聲,為了有始有終,本篇會先看漫畫主角們最後結局。接著再帶讀者回顧這28天實作內容,最後再介紹一些寫UEFI程式時常見錯誤及如何deb...