Utility to list /dev/nodes & serno's

Aggelos Economopoulos aoiko at cc.ece.ntua.gr
Thu Aug 12 05:57:03 PDT 2010


On 08/12/2010 10:30 AM, Dylan Reinhold wrote:
> On 08/06/2010 01:27 PM, Matthew Dillon wrote:
>> :Hi people,
>> :
>> :is there a way to easily list all disks and their associated serno's ?
>> :Something like 'blkid' utility of Linux, if you happen to know it.
>> :I could happily hack something like that, if we lack it.
>> :
>> :
>> :Cheers,
>> :Stathis
>>
>>     There isn't, and that would be cool.  It is fairly easy to match
>>     up device numbers from devfs.
>>
>>     You can use sysctl kern.disks output to get a list of disk devices,
>>     then you can scan /dev and pick those base names out and stat them,
>>     and you can scan /dev/serno and stat those babies and match up
>>     the st_rdev's with the ones from /dev to getting related serial
>>     numbers.
>>
>>     If we wanted to get more involved we could add an ioctl() to retrieve
>>     the serial number (if available), but it can definitely be scripted
>>     right now without that.
>>
>>                     -Matt
>>                     Matthew Dillon
>>                     <dillon at backplane.com>
> 
> I started a utility a while back going down a different path, I have now
> changed it to use the sysctl call like Matt pointed out.

That is a suboptimal approach. It should be trivial to export serno via
udev as Alex suggested and just as trivial to parse that (and more) info
from a userspace utility using libdevattr. It is generic and extendable.
Just try it :)

Aggelos





More information about the Users mailing list