uvdl / linux-imx

i.MX Linux Kernel
Other
2 stars 1 forks source link

git clone might fail due to missing file (on Windows git) #1

Open bvacaliuc opened 5 years ago

bvacaliuc commented 5 years ago

From https://github.com/uvdl/linux-fslc/issues/1

For this repo, I had to have the following

$ cat .git/info/sparse-checkout
*
!drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux*
!include/uapi/linux/netfilter
!include/uapi/linux/netfilter_ipv4
!include/uapi/linux/netfilter_ipv6
!net/netfilter

Then these commands:

git config core.sparsecheckout true
git read-tree --reset -u HEAD

You have to accept that there will be some 'modified' files in those ignored folders and try to ignore them.

nburchfi commented 5 years ago

There are 2 parts to this. The nouveau driver uses files named "aux.c" and "aux.h". On windows, AUX is a reserved name that points to other resources. http://kizu514.com/blog/forbidden-file-names-on-windows-10/.

The other portion is due to multiple files being named the same thing with differing cases. Linux handles namespace as case sensitive, Windows does not. To override this behavior (and make windows case sensitive), open powershell, and issue:

fsutil.exe file setCaseSensitiveInfo "C:\path\to\repo" enable

edit: https://www.howtogeek.com/354220/how-to-enable-case-sensitive-folders-on-windows-10/

bvacaliuc commented 5 years ago

On my windows 7 machine, I had to use the technique described here: https://superuser.com/questions/266110/how-do-you-make-windows-7-fully-case-sensitive-with-respect-to-the-filesystem

Which has two parts:

  1. modify the HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive to 0
  2. use cygwin with a modified /etc/fstab to set posix=1 on all mounts

After that, I have to use cygwin to manage my kernel development files, not the 'git bash shell'