元智大學資訊管理學系第二十八屆實習成果(1121)
指導老師:楊錦生
實習單位:神雲科技股份有限公司
Projects
1. BMC LAN PORT SPEED偵測
2. Smart Check 的Script
3.USB Standalone
4.在USBTest的tool中新增Whitelist
5.在DiskTest的tool中新增硬碟讀寫的功能
6.在CpuTest的tool中新增Intel指令集測試功能
7. 更新舊有測試工具的內容
8.確認測試機硬體問題並安裝AlmaLinux8.8開機
CpuTest的tool中新增Intel指令集測試功能
我所承擔的責任是在CPU檢測工具中新增一項功能,用以檢測處理器是否支援Intel指令集。這是一個相當具有挑戰性的任務,但也是一個讓我學習成長的絕佳機會。
在開始這個項目的過程中,我首先進行了深入的研究,瞭解了CPU指令集的相關知識和相關的測試方法。這讓我對整個項目有了清晰的認識,也使我能夠制定出合適的計劃和策略。
在實際進行開發的過程中,我遇到了許多困難和挑戰。一方面,由於這是一個較為專門化的功能,我需要研究和理解許多複雜的技術細節,像是必須要去Intel官方查詢Intel CPU的spec我才能知道我要做甚麼功能來進行測試。另一方面,由於公司的程式碼庫龐大而複雜,我也需要花費大量的時間來理解現有程式碼的結構和邏輯,在了解公司的函式庫這方面我也是花了不少時間。
最後我終於我成功地完成了這個任務,利用Intel的指令集以及Linux的指令,判斷出CPU包含哪些Intel指令集,並將新增的功能整合到了CPU檢測工具中。這不僅讓我感到了成就感,也讓我更加自信地面對了未來的挑戰,目前還在更改檢測測試工具是否有bug的script檔,完成檢測後就能交付給主管了。
USB Standalone
這是我們測試用的Diag package,放在我們公司的測試平台上可以進行我們需要的測試流程,Diag package的命名方式是專案代號_專案名稱_版本號,內容有一個xml檔用來管理我們這次測試要用到的測項以及command該怎麼去下,bin資料夾存放所有程式的執行檔以方便測試人員對xml的更改,cfg檔則是這次案子設備的配置檔,用來比對設備資訊是否正確。StandAlone簡單來說就是一個OS,我把一個OS進行設定完後再壓進USB裡面,讓USB開機後就可以當成我們一個小型的測試平台,這主要是要給客人確定測試是否正確的,因為客戶沒辦法使用我們公司的測試平台,所以有了StandAlone我們只要把USB和Diag package交給客戶就能夠讓他們測試了。
squashfs.img是一個映像檔,原理是開機時會把這個img檔給解壓縮變成rootfs,squashfs是一個唯讀的設計,檔案都會暫存在記憶體中,所以重開機後便會被清空,因此OS有問題需要更新或缺少套件我就必須要用mount的方式進change root到檔案底下去更新再重新壓縮成squashfs.img,在更新過程相較於PXE OS較為耗時。
Smart Check
Smart Check是一支用來測試硬體健康狀況的Script,上面列出的是客戶要求我們測試的診斷項目,如果上面的值符合客戶要求的範圍那就印出[OK],不符合則印出[FAIL],Smart Check的列表是使用smartctl -a +硬碟(例:/dev/sda)
,我的作法是照順序先列出所有硬碟,並將硬碟是屬於HDD、SATA SSD、NVME SSD,再把每顆硬碟的類別和型號顯示上去,最後是列出Smart Check的測試結果。