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.

Mac Mini bilgisayarına ait sistem bilgisi

Zaten Parallels Desktop kurulduktan sonra yeni bir Virtual Machine oluşturmak istediğiniz zaman aşağıdaki gibi Windows 11 ARM’ı kolayca yükleyebilirsiniz.

Parallels Desktop uygulaması ile yeni sanal makina oluşturulması

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.

Parallels Desktop uygulamasında TPM Chip özelliğinin iptal edilmesi işlemi

İş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
Command Prompt

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.

Visual Studio giriş ekranı

Individual components bölümünden 64 latest spectre yazıp filtrede kalan tikleri işaretleyin.

Individual Components ekranı

Daha sonra aşağıdaki linkten EWDK (Enterprise Windows Driver Kit) kurulum dosyasını indirin.

Windows 11 EWDK versiyon seçme ekranı

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"
EWDK klasör yapısı ve command prompt içeriği

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

Dört ayda bir yayınlanan BioAffix elektronik posta bültenine abone olarak yeni gelişmeler hakkında bilgi sahibi olabilirsiniz.

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir