2026年10月31日 星期六

Ovmf 編譯整個 Package 和一支 INF 速度比較

愛因斯坦是一直猜想讓工程師驗證,所以他不用經費,我不甘心屈於愛氏之下,所以我的出路就是跟大廠 (比如 PEGA) 合作拿下圖靈獎。(四大奇書依序為五南出版簡易微積分、基礎統計學、簡易工程數學、基礎線性代數) 愛因斯坦在瑞士專利局兼職發表四篇劃時代論文,我公務員兼職做研究頗有愛氏之風,既然要投稿就要投頂尖期刊就像愛氏當初投德國物理年鑑一樣,不過找北藝大學生畫圖的計劃不變,先做一些有把握的。第二個作品是用 FFMPEG 在 BIOS 播放影片,戴正華的書有介紹,我希望我回去唸碩士的時候被定位為 BIOS 大師,我不找愛旅行的女伴約會就是在咖啡廳奮力研究  (以上兩個拿來投台灣的中文研討會,直插 INF 投 IEEE Transactions on Software Engineering)。我作為一個智力 120 的楚門輿論對我有較高的標準 (or 期待) 是很正常的,我也欣然接受這樣的標準 (or 期待),電影說我巔覆市場,其實愛氏當年投稿德國物理年鑑也對權威多所攻擊,研究有成果想發表也是人之常情,至少我用開源專案。我第四個題目是影像扭轉,網路也許能搜尋到演算法,有演算法的話完全是 Coding 功力,OpenCV 雖然有 C 和 Python 但我一出社會就搞韌體當然是用 C。最後一個題目 (難到幾乎不可能做出來) 是把 C 語言轉成組合語言,然後根據執行速度進行分析,給工程師效能更佳的 C 語言寫法建議,雖然業界已經有 Compiler Explorer,但此網站只是單純轉譯沒有優化。愛氏花了三十年做統一力場一事無成,我這最後一個題目就拿來當統一力場,其實我訂了一個幾乎不可能達成的目標 (比肩艾倫圖靈),但根據過往經驗實現目標的過程會有成就感和虛榮心,我也沒說其他事都不做我想談戀愛啊!其實雖然對很多中型工業電腦品牌廠來說自製圖形化 MENU 和播放影片是有價值的技術,且我實測 TouchPad 會動 BlueTooth 會動的機率也滿大 (EFI_SIMPLE_POINTER_PROTOCOL 真是萬能),但我底薪六萬專業加給三千立端 (or 其他中型公司) 要怎麼把我找回去呢?






回歸正題我測試了 Ovmf 單獨編譯一支 INF 和編譯整個 Package 的速度,結果編譯整個 Package 是 39 秒編譯一支 INF 是 18 秒,如此我就不用透過楊濟瑋找和碩借板子包 ME 實測,反正楊濟瑋也不理我。Ovmf 編譯速度是很快的,所以縮短編譯時間乍看效果不明顯,如果我用 Ovmf 仍能有確實的編譯速度改善那在 AMI 商用 BIOS 的效果是相當巨大的。主要我的 BAT 就是編譯一支 INF、解壓縮、插入、壓縮回去,不知這樣會不會超過 39 秒呢?(若超過就非聯絡 PEGATRON 不可) 靠爸的壓力;凸肚的壓力;高考的壓力,這八面的壓力我依舊挺住,劉德華林志玲不如我。另外鬥雞眼小妹介紹的 epop 我覺得滿好用的,但我還是想找她當家教,但我不知道她想不想教我?花錢買朋友,我的確需要一個會英文的朋友 (再來就是女伴),否則論文和研討會乃至於阿姆斯特丹大麻行怎麼辦呢?蔡詠臻的同學說若了解他們會失望,想想我的生涯規劃也不似法蘭西驕雄拿破崙或納粹惡魔希特勒一般立志於征伐 (創業 or 政治 or 演藝),如此我至少要當個陳俊生,但偏偏又立志於 C 語言,所以不了解他們也好。(主管英文卡關時我臨危受命當翻譯真的弦舞驚四座)

2026年10月18日 星期日

YOGA

瑜珈練習者須持五大戒律即永不摩擦、極度少吃、忍辱波羅蜜 (進階版是一句傷人的話都說不出口)、體位法、冥想。瑜珈練習者的意志堅如鐵石可使山崩停止海水分開;追求挑戰能得到成就感虛榮心;從事社會服務也很重要。




我喜歡看莊嚴女生冥想的相片,我也知道女生都愛修行只要我堅持禁慾冥想擇偶市場絕對加分,不過這種相片很少。上面是一位真正偉大的印度聖女,我主打臉 (遜於肖戰) 她主打身材 (遜於王麗雅) 外型差不多,當然我身材也尚可她臉也尚可。

2026年10月16日 星期五

先做有把握的

直插 INF 有何困難呢?第一個就是 FV 的 Header,我應該會自己做一個很小的 Pkg 和 Ovmf 比對,但我推測不管再小還是要有 SEC、PEI、DXE、BDS 的核心檔案,當然也要有 Lib。再來 Edk 2 已經有 build 一支 INF 的機制,由那支 INF (EFI) 可以 load 進 Shell 來推測應該已經 Link 完畢,但以 GenFw (or GenFv) 來說是建立一整個 FD,此時的 FFS 是完全複製過去還是有重疊的部分呢?還有應該只有 Python 才能丟 Debug Message build C code 時應該是丟不出來,屆時應該是寫支 BAT 呼叫 lzma.exe 把 DXE 解壓縮一個副本,把我編譯好的 FFS 插進去後再用 lzma.exe 壓縮回去,然後我也要寫個 EXE 填 Header 和複製檔案,冗餘的部分應該是填 0xFF。吳哲豪和魏德麒是我的兩大主管,吳哲豪認為我應該先做有把握的我也覺得滿合理,所以先畫 MENU,重影和閃爍已解 MENU 的困難點只是跟北藝大學生確認像素,屆時應該把電腦裡的帳密拿掉借他們照著畫。北藝大學生應該會畫 8 Bit BMP,我會問教授一頁 MENU 值多少錢,因為不實戰所以只做無線滑鼠,相信一年內可以搞定 (MENU 沒有功能只有圖)。蔡詠臻說愛因斯坦和凡人的差別在於愛因斯坦挑戰高難度,但我至今沒有代表性作品,我相信即使是愛氏可能也會先畫 MENU 奠定根基,而且 MENU 畫完我就會挑戰 INF 直插沒有畏苦怕難。








2026年10月14日 星期三

工欲善其事,必先利其器 PART2 (WinMerge)

來介紹一套好用的 Free 軟體叫做 WinMerge,現在是社群媒體時代要摸索不難,須注意Diff Context 需勾選 All Line,否則只會出現不同的地方很難用。





介紹這個軟體會不會威脅 Beyond Compare 呢?其實就像蒸汽火車第一次超越馬車或者手機拍照取代數位相機,人類始終在進步,如果 WinMerge 夠好 Beyond Compare 自該退位。(剛剛看了 Edk2 的 Bin File 沒有 De-Compress 真的吐血,FV 研究先做 PEI 好了)

2026年10月13日 星期二

破解 FV 的 Signature (_FVH)

來破解一下 FV 的 Signature『_FVH』,首先須知 PSPad 的 0x00 代表 8 Bit 也就是一個 Byte,如下圖所示 _FVH 在第 28 個 Byte 的地方。 




請看下圖 FV 格式,比對 PSPad 可知藍色和白色部分都被省略 (藍色有標明是 Optional),0 到 31 是 Bit 也就是 4 個 Byte,從綠色開頭 『N Block Map Entry Length』開始算起 Signature 在第 28 個 Byte,根據國中數學種樹要加一確實符合 PasPad。





照理說我應該跟威董要 AMI 的 FD 測試藍色在商用 BIOS 有沒有被省略,但要一直包 ME 威董會覺得很煩,而且我志在拿獎這個題目只是練身手,所以就只用 QEMU 測啦!