Merhaba,
Öncelikle içerisine Windows 11 ARM kurabileceğimiz bir adet ARM işlemcili bilgisayara ihtiyacınız var. Tüm bu işlemler için M1 işlemcili Mac bir bilgisayarda Parallels Desktop uygulamasını kullanarak bir adet sanal makine oluşturuyoruz.
Zaten Parallels Desktop kurulduktan sonra yeni bir Virtual Machine oluşturmak istediğiniz zaman aşağıdaki gibi Windows 11 ARM’ı kolayca yükleyebilirsiniz.
Yükleme tamamlandıktan sonra, Virtual Machine ayarlarına girip, Hardware sekmesinden TPM Chip cihazını siliyoruz. Bu adım VM’i testsigning moduna alabilmek için gereklidir.
İşletim sistemini yeniden başlattıktan sonra, test driver’ını yükleyebilmek ve hata ayıklama günlüklerini elde edebilmek için aşağıdaki iki komutu elevated command line içerisinde çalıştırın.
Bcdedit.exe -set TESTSIGNING ON
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter" /v DEFAULT /t REG_DWORD /d 8 /f
Bu işlemlerden sonra işletim sistemini yeniden başlatın.
Ardından Visual Studio programını kuruyoruz, ve Desktop development with C++ seçeneğini seçin.
Individual components bölümünden 64 latest spectre yazıp filtrede kalan tikleri işaretleyin.
Daha sonra aşağıdaki linkten EWDK (Enterprise Windows Driver Kit) kurulum dosyasını indirin.
Benim kullandığım versiyon resimde gösterdiğim 17.1.5 versiyonu, ancak recommend yazan, 17.8.6 versiyonu da sorunsuz çalışacaktır.
EWDK indikten sonra iso dosyasını 7zip kullanarak uygun bir lokasyona açıyoruz. Ardından bu EWDK build environment’ini Visual Studio ile birlikte kullanabilmemiz için, klasör içerisine LaunchVisualStudio.cmd isminde bir script dosyası oluşturuyor ve aşağıdaki içeriği yazıyoruz.
call "%~dp0BuildEnv\SetupBuildEnv.cmd"
call "%~dp0BuildEnv\SetupVSEnv.cmd"
cmd /c "start C:\PROGRA~1\MICROS~1\2022\COMMUN~1\Common7\IDE\devenv.exe"
Bu dosyayı masaüstüne kısayol olarak ekleyebilirsiniz.
Tüm bu zahmetli işlemlerden sonra, Visual Studio’u LaunchVisualStudio.cmd ile çalıştırdıktan sonra, aşağıda linki bulunan repo’dan arm64 build configuration’ını sizler için daha önceden hazırlamış olduğum solution’ı git clone ile çekerek, skeleton bir driver elde edebilirsiniz.
Derlememizi aldık, nihayetinde sürücümüzü test amacıyla Windows 11 ARM işletim sistemimize yükleyebiliriz. Öncelikle DbgView64a.exe aracını indiriyor ve çalıştırıyoruz. Sonrasında sc aracı ile servis yaratıyoruz, sonra da yine aynı tool ile bu servisi başlatıyoruz.
sc create ArmSampleDriver binPath= "C:\path\to\driver\SampleDriver.sys" type= kernel
sc start ArmSampleDriver
Yukarıdaki video “C:\path\to\driver\SampleDriver.sys” pathini Visual Studio içerisinden nasıl alacağınızı ve driver load/unload işlemlerinde oluşan log işlemlerini nasıl görüntüleyeceğiniz konusunda fikir verecektir.
BSOD işlemi için KeBugCheck fonksiyonunu 0xCCCCCCCC parametresi ile çağırıyoruz ve BSOD
BioAffix E-Posta Bültenine Abone Olun
Dört ayda bir yayınlanan BioAffix elektronik posta bültenine abone olarak yeni gelişmeler hakkında bilgi sahibi olabilirsiniz.
No Comments