# NanoBSD - /dev/dri/card0 no such file or directory



## ashleyd (Feb 7, 2012)

I am trying to run Xorg on an Intel Atom motherboard running NanoBSD.

With *startx* *I* get:

```
intel(0): [drm] Failed to open DRM device for pci:0000:00:02.0: No such file or directory
Failed to become DRM master
```

In the Xorg log I have:

```
drmOpenDevice: node name is /dev/dri/card0
Failed to change owner or group for file /dev/dri! 2: No such file or directory
drmOpenDevice: open result is -1, (No such file or directory)
Failed to change owner or group for file /dev/dri/card0! 2: No such file or directory
[drm] failed to load kernel module "i915"
```

I am experimenting with the new KMS graphics on 9 with the Intel driver, but I think this is simply to do with there being no device in /dev and no /dev/dri directory. I can't write to it as it's NanoBSD and /dev is read only (is that correct?). I have tried lots of ways of getting /dev/dri/card0 into /dev but everything has failed.

Any ideas?


----------



## ashleyd (Feb 8, 2012)

I just found this http://forums.freebsd.org/showthread.php?t=29489

So the fact that I cant can't write to devfs is nothing to do with NanoBSD. I was also looking at /etc/devfs.conf when I should have been looking at /etc/devfs.rules which doesnt doesn't matter anyway as I now believe that /dev/dri/card0 should be added automatically if it was working as it should.

I am running xorg_7_5_2 and patch all.13.0.patch on Releng-9.0 so I wonder whether this is the problem?

I just tried replacing the Intel driver with vesa and this works fine. I think the graphics is GMA 3150.


----------



## ashleyd (Feb 9, 2012)

[Solved] Turns out it was a problem with NanoBSD afterall (and my stupidity). In case it helps anyone in the future (which I doubt it will) the solution was:

I moved from using NanoBSD in 8.2 to 9.0. In 8.2 all kernel modules were built and located in /boot/kernel] (as is normal with FreeBSD), now in NanoBSD 9.0 no kernel modules are built at all[ unless you specify them explicitly in NANO_MODULES. Even though I noticed that /boot/kernel was empty I assumed FreeBSD 9 placed them modules somewhere else. Once I included 
	
	



```
NANO_MODULES='i2c drm'
```
 in my configuration file the graphics started working. Incidently I also added linprocfs + linux which fixed a flash player problem I was also having.

I would have thought a better design approach would have been to carry on building all modules as before, execpt add an option to include or exclude certain modules. It may mean the standard NanoBSD image would be ~30MB larger, but would prevent situations like above from happening when functionality breaks becuase the kernel modules arnt there and the user assumes the kernel moduels are, especially as this breaks from the normal functionality in FreeBSD when compiling kernels.


----------



## flop (Feb 15, 2012)

ashleyd said:
			
		

> I moved from using NanoBSD in 8.2 to 9.0. In 8.2 all kernel modules were built and located in /boot/kernel] (as is normal with FreeBSD), now in NanoBSD 9.0 no kernel modules are built at all[ unless you specify them explicitly in NANO_MODULES. Even though I noticed that /boot/kernel was empty I assumed FreeBSD 9 placed them modules somewhere else. Once I included
> 
> 
> 
> ...


Where did you actually put the line: 
	
	



```
NANO_MODULES='i2c drm'
```
? To which file? And how can I apply it to FreeBSD?


----------

