1
0
mirror of https://github.com/bobranten/Ext4Fsd.git synced 2025-10-29 05:08:32 -05:00

Support to build for ARM and ARM64

This commit is contained in:
Bo Brantén
2020-03-08 00:21:22 +01:00
parent 55c837b500
commit e93d7f5361
3 changed files with 249 additions and 69 deletions

4
.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
.vs/
Debug/
Release/
*.vcxproj.user

View File

@@ -1,90 +1,212 @@
; Ext4Fsd.INF
;
; Ext3Fsd.inf
; Setup information file for the Windows ext2,ext3,ext4 filesystem driver.
;
; Project: http://ext2fsd.sourceforge.net
; Ext2Fsd author: Matt Wu <mattwu@163.com>.
; Inf author: Stefan Kanthak <skanthak@nexgo.de>
; Updated for Windows 10: Bo Brant<6E>n <bosse@acc.umu.se>
;
; Copyright (C) 2016, Stefan Kanthak, Matt Wu, Bo Brant<6E>n.
[Version]
Signature="$WINDOWS NT$"
Class=Sample ; TODO: edit Class
ClassGuid={78A1C341-4539-11d3-B88D-00C04FAD5171} ; TODO: edit ClassGuid
Provider=%ManufacturerName%
CatalogFile=Ext3Fsd.cat
DriverVer=; TODO: set DriverVer in stampinf property pages
Class = ExtendedFileSystem
ClassGuid = {19290421-C680-482C-9068-E87D5FE49CA4}
InfVersion = "01.03.00"
Provider = %Ext2Fsd*Author%
Signature = "$Windows NT$"
DriverVer = 03/04/2020,0.70
CatalogFile = Ext4Fsd.cat
[DestinationDirs]
DefaultDestDir = 12
;[ClassInstall32]
;AddReg = Ext2Fsd.Install.ClassReg
; ================= Class section =====================
;[Ext2Fsd.Install.ClassReg]
;HKR,,,%REG_SZ%,"%Ext2Fsd*Class%"
;HKR,,"Icon",%REG_SZ%,"-5"
[ClassInstall32]
Addreg=SampleClassReg
[DefaultInstall.NTx86]
AddReg = Ext2Fsd.Install.AddReg
CopyFiles = Ext2Fsd.CopyFiles.Drv.NTx86
CopyINF = "Ext4Fsd.inf"
[SampleClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-5
[DefaultInstall.NTamd64]
AddReg = Ext2Fsd.Install.AddReg
CopyFiles = Ext2Fsd.CopyFiles.Drv.NTamd64
CopyINF = "Ext4Fsd.inf"
[DefaultInstall.NTarm]
AddReg = Ext2Fsd.Install.AddReg
CopyFiles = Ext2Fsd.CopyFiles.Drv.NTarm
CopyINF = "Ext4Fsd.inf"
[DefaultInstall.NTarm64]
AddReg = Ext2Fsd.Install.AddReg
CopyFiles = Ext2Fsd.CopyFiles.Drv.NTarm64
CopyINF = "Ext4Fsd.inf"
[DefaultInstall.Services]
AddService = "%Ext2Fsd*Key%",%SVCINST_TAGTOFRONT%,Ext2Fsd.Service,Ext2Fsd.EventLog
[DefaultInstall.NTamd64.Services]
AddService = "%Ext2Fsd*Key%",%SVCINST_TAGTOFRONT%,Ext2Fsd.Service,Ext2Fsd.EventLog
[DefaultUninstall.NTx86]
LegacyUninstall=1
DelFiles = Ext2Fsd.DeleteFiles.Drv.NTx86
DelReg = Ext2Fsd.Remove.DelReg
Reboot
[DefaultUninstall.NTamd64]
LegacyUninstall=1
DelFiles = Ext2Fsd.DeleteFiles.Drv.NTamd64
DelReg = Ext2Fsd.Remove.DelReg
Reboot
[DefaultUninstall.NTarm]
LegacyUninstall=1
DelFiles = Ext2Fsd.DeleteFiles.Drv.NTarm
DelReg = Ext2Fsd.Remove.DelReg
Reboot
[DefaultUninstall.NTarm64]
LegacyUninstall=1
DelFiles = Ext2Fsd.DeleteFiles.Drv.NTarm64
DelReg = Ext2Fsd.Remove.DelReg
Reboot
[DefaultUninstall.NTx86.Services]
DelService = "%Ext2Fsd*Key%",%SVCINST_DELETEEVENTLOGENTRY%
[DefaultUninstall.NTamd64.Services]
DelService = "%Ext2Fsd*Key%",%SVCINST_DELETEEVENTLOGENTRY%
[Ext2Fsd.Install.AddReg]
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","DisplayName",%REG_SZ%,"%Ext2Fsd*Description%"
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","DisplayVersion",%REG_SZ%,"%Ext2Fsd*Version%"
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","HelpLink",%REG_SZ%,"%Ext2Fsd*URL%"
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","InstallLocation",%REG_SZ%,"%%SystemRoot%%\system32\drivers"
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","InstallSource",%REG_SZ%,"%01%"
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","Publisher",%REG_SZ%,"%Ext2Fsd*Author% <%Ext2Fsd*eMail%>"
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","UninstallString",%REG_SZ%,"%%SystemRoot%%\system32\RunDll32.exe %%SystemRoot%%\system32\SetupAPI.Dll,InstallHinfSection DefaultUninstall 4 %%SystemRoot%%\inf\Ext2Fsd.Inf"
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%","URLInfoAbout",%REG_SZ%,"%Ext2Fsd*URL%"
[Ext2Fsd.Remove.DelReg]
HKR,"Software\Microsoft\Windows\CurrentVersion\Uninstall\%Ext2Fsd*Key%"
HKR,"System\CurrentControlSet\Services\%Ext2Fsd*Key%\Parameters"
[Ext2Fsd.Service]
DisplayName = "%Ext2Fsd*Driver%"
ServiceType = %SERVICE_KERNEL_FILESYSTEM_DRIVER%
StartType = %SERVICE_SYSTEM_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = "%12%\Ext2Fsd.sys"
AddReg = Ext2Fsd.Service.Reg
[Ext2Fsd.Service.Reg]
HKR,"Parameters","AutoMount",%REG_DWORD%,0x00000001
HKR,"Parameters","CheckingBitmap",%REG_DWORD%,0x00000000
HKR,"Parameters","Ext3ForceWriting",%REG_DWORD%,0x00000001
HKR,"Parameters","WritingSupport",%REG_DWORD%,0x00000001
HKR,"Parameters","CodePage",%REG_SZ%,"utf8"
[Ext2Fsd.EventLog]
AddReg = Ext2Fsd.EventLog.Reg
[Ext2Fsd.EventLog.Reg]
HKR,,"EventMessageFile",%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.Dll"
HKR,,"TypesSupported",%REG_DWORD%,7
[SourceDisksNames]
1 = %DiskName%,,,""
; Cabinet file names and associated disks
; <disk or cabinet number> = <disk description>,[<cabinet filename>],<identifier (unused, must be 0)>,[<relative source path>]
1 = "%Ext2Fsd*Description%",,0000-0000
[SourceDisksFiles]
Ext3Fsd.sys = 1,,
;*****************************************
; Install Section
;*****************************************
[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$
[Standard.NT$ARCH$]
%Ext3Fsd.DeviceDesc%=Ext3Fsd_Device, Root\Ext3Fsd ; TODO: edit hw-id
[Ext3Fsd_Device.NT]
CopyFiles=Drivers_Dir
[Drivers_Dir]
Ext3Fsd.sys
;-------------- Service installation
[Ext3Fsd_Device.NT.Services]
AddService = Ext3Fsd,%SPSVCINST_ASSOCSERVICE%, Ext3Fsd_Service_Inst
; -------------- Ext3Fsd driver install sections
[Ext3Fsd_Service_Inst]
DisplayName = %Ext3Fsd.SVCDESC%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\Ext3Fsd.sys
;
;--- Ext3Fsd_Device Coinstaller installation ------
;
; <filename> = <disk or cabinet number>,[<subdirectory>],[<filename>],[<size>],[<checksum>]
; Note: <filename> is neither on a disk nor in a cabinet if <disk or ;cabinet number> is 0
Ext4Fsd.sys = 1, "."
[DestinationDirs]
Ext3Fsd_Device_CoInstaller_CopyFiles = 11
Ext2Fsd.CopyFiles.Drv.NTx86 = 12 ; %SystemRoot%\System32\Drivers
Ext2Fsd.DeleteFiles.Drv.NTx86 = 12 ; %SystemRoot%\System32\Drivers
Ext2Fsd.CopyFiles.Drv.NTamd64 = 12 ; %SystemRoot%\System32\Drivers
Ext2Fsd.DeleteFiles.Drv.NTamd64 = 12 ; %SystemRoot%\System32\Drivers
Ext2Fsd.CopyFiles.Drv.NTarm = 12 ; %SystemRoot%\System32\Drivers
Ext2Fsd.DeleteFiles.Drv.NTarm = 12 ; %SystemRoot%\System32\Drivers
Ext2Fsd.CopyFiles.Drv.NTarm64 = 12 ; %SystemRoot%\System32\Drivers
Ext2Fsd.DeleteFiles.Drv.NTarm64 = 12 ; %SystemRoot%\System32\Drivers
[Ext3Fsd_Device.NT.CoInstallers]
AddReg=Ext3Fsd_Device_CoInstaller_AddReg
CopyFiles=Ext3Fsd_Device_CoInstaller_CopyFiles
[Ext2Fsd.CopyFiles.Drv.NTx86]
Ext4Fsd.sys,,,%COPYFLG_NOPRUNE%
[Ext3Fsd_Device_CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000, "WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller"
[Ext2Fsd.DeleteFiles.Drv.NTx86]
Ext4Fsd.sys,,,%DELFLG_IN_USE%
[Ext3Fsd_Device_CoInstaller_CopyFiles]
WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll
[Ext2Fsd.CopyFiles.Drv.NTamd64]
Ext4Fsd.sys,,,%COPYFLG_NOPRUNE%
[SourceDisksFiles]
WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll=1 ; make sure the number matches with SourceDisksNames
[Ext2Fsd.DeleteFiles.Drv.NTamd64]
Ext4Fsd.sys,,,%DELFLG_IN_USE%
[Ext3Fsd_Device.NT.Wdf]
KmdfService = Ext3Fsd, Ext3Fsd_wdfsect
[Ext3Fsd_wdfsect]
KmdfLibraryVersion = $KMDFVERSION$
[Ext2Fsd.CopyFiles.Drv.NTarm]
Ext4Fsd.sys,,,%COPYFLG_NOPRUNE%
[Ext2Fsd.DeleteFiles.Drv.NTarm]
Ext4Fsd.sys,,,%DELFLG_IN_USE%
[Ext2Fsd.CopyFiles.Drv.NTarm64]
Ext4Fsd.sys,,,%COPYFLG_NOPRUNE%
[Ext2Fsd.DeleteFiles.Drv.NTarm64]
Ext4Fsd.sys,,,%DELFLG_IN_USE%
[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
ManufacturerName="<Your manufacturer name>" ;TODO: Replace with your manufacturer name
ClassName="Samples" ; TODO: edit ClassName
DiskName = "Ext3Fsd Installation Disk"
Ext3Fsd.DeviceDesc = "Ext3Fsd Device"
Ext3Fsd.SVCDESC = "Ext3Fsd Service"
Ext2Fsd*Author = "Matt Wu"
Ext2Fsd*Class = "File System"
Ext2Fsd*Description = "Ext2,Ext3,Ext4 file system driver"
Ext2Fsd*Driver = "Ext2,Ext3,Ext4 file system driver"
Ext2Fsd*eMail = "matt@ext2fsd.com"
Ext2Fsd*Key = "Ext2Fsd"
Ext2Fsd*URL = "http://www.ext2fsd.com"
Ext2Fsd*Version = "0.70"
; Non-Localizable Strings
DELFLG_IN_USE = 0x00000001
COPYFLG_NOPRUNE = 0x00002000
; Registry Data Types
REG_SZ = 0x00000000
REG_BINARY = 0x00000001
REG_SZ_NOCLOBBER = 0x00000002
REG_BINARY_NOCLOBBER = 0x00000003
REG_MULTI_SZ = 0x00010000
REG_DWORD = 0x00010001
REG_MULTI_SZ_NOCLOBBER = 0x00010002
REG_DWORD_NOCLOBBER = 0x00010003
REG_EXPAND_SZ = 0x00020000
REG_EXPAND_SZ_NOCLOBBER = 0x00020002
; Driver and Service Types
SERVICE_KERNEL_DRIVER = 0x00000001
SERVICE_KERNEL_FILESYSTEM_DRIVER = 0x00000002
SERVICE_NETWORK_ADAPTER_DRIVER = 0x00000004
SERVICE_WIN32_OWN_PROCESS = 0x00000010
SERVICE_WIN32_SHARED_PROCESS = 0x00000020
; Driver and Service Start Types
SERVICE_BOOT_START = 0
SERVICE_SYSTEM_START = 1
SERVICE_AUTO_START = 2
SERVICE_MANUAL_START = 3
SERVICE_NEVER_START = 4 ; (deactivated)
; Driver and Service Error Control
SERVICE_ERROR_IGNORE = 0
SERVICE_ERROR_NORMAL = 1
SERVICE_ERROR_SEVERE = 2
SERVICE_ERROR_CRITICAL = 3
SVCINST_TAGTOFRONT = 0x00000001
SVCINST_ASSOCSERVICE = 0x00000002
SVCINST_DELETEEVENTLOGENTRY = 0x00000004

View File

@@ -83,6 +83,7 @@
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>WDM</DriverType>
<ALLOW_DATE_TIME>1</ALLOW_DATE_TIME>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
@@ -90,6 +91,7 @@
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>WDM</DriverType>
<ALLOW_DATE_TIME>1</ALLOW_DATE_TIME>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
@@ -97,6 +99,7 @@
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>WDM</DriverType>
<ALLOW_DATE_TIME>1</ALLOW_DATE_TIME>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
@@ -104,6 +107,7 @@
<PlatformToolset>WindowsKernelModeDriver10.0</PlatformToolset>
<ConfigurationType>Driver</ConfigurationType>
<DriverType>WDM</DriverType>
<ALLOW_DATE_TIME>1</ALLOW_DATE_TIME>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -139,15 +143,27 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
<OutDir>$(SolutionDir)Ext4Fsd\$(ConfigurationName)\arm\</OutDir>
<IntDir>$(ConfigurationName)\arm\</IntDir>
<TargetName>Ext4Fsd</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
<OutDir>$(SolutionDir)Ext4Fsd\$(ConfigurationName)\arm\</OutDir>
<IntDir>$(ConfigurationName)\arm\</IntDir>
<TargetName>Ext4Fsd</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
<OutDir>$(SolutionDir)Ext4Fsd\$(ConfigurationName)\arm64\</OutDir>
<IntDir>$(ConfigurationName)\arm64\</IntDir>
<TargetName>Ext4Fsd</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<DebuggerFlavor>DbgengKernelDebugger</DebuggerFlavor>
<OutDir>$(SolutionDir)Ext4Fsd\$(ConfigurationName)\arm64\</OutDir>
<IntDir>$(ConfigurationName)\arm64\</IntDir>
<TargetName>Ext4Fsd</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -187,6 +203,44 @@
<DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<AdditionalIncludeDirectories>.\include;.\include\linux;.\include\asm;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>__KERNEL__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<AdditionalIncludeDirectories>.\include;.\include\linux;.\include\asm;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>__KERNEL__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<AdditionalIncludeDirectories>.\include;.\include\linux;.\include\asm;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>__KERNEL__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<AdditionalIncludeDirectories>.\include;.\include\linux;.\include\asm;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>__KERNEL__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4995;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<FilesToPackage Include="$(TargetPath)" />
</ItemGroup>