硬件信息中的 cfg=no 是什么意思?

在用 hwinfo 命令查看硬件信息的时候,会有一行关于 Config Status 的参数:

linux-vm1:~ # hwinfo --memory
01: None 00.0: 10102 Main Memory
  [Created at memory.66]
  Unique ID: rdCR.CxwsZFjVASF
  Hardware Class: memory
  Model: "Main Memory"
  Memory Range: 0x00000000-0x3e51bfff (rw)
  Memory Size: 1 GB
  Config Status: cfg=new, avail=yes, need=no, active=unknown

这个 cfg=new 参数代表什么意思?我也遇到了 * cfg=no * 情况,Google 一下也没发现是什么意思!
只要来请教个位大大了!
多谢!

亲,cfg 是 configuration 的常见缩写。= new 就是新配置,= no 就是未配置。

:sweat: 这个个所谓的“新”和“没”配置到底指定的什么配置? 对于没有配置的 Memory ,怎么进行配置呢?

我没有找到文档明确的说明 cfg 的含义。但是从一些google到的信息可以推测出,是和 hwscan有关
如果系统中配置了

chkconfig hwscan off

则该值应该是cfg=no
如果系统中配置了

chkconfig hwscan on

则该值应该是cfg=yes
如果系统中没有配置hwscan或者压根没有安装hwscan
则该值应该是cfg=new

推测过程:
hwscan.c中有:

void help()
{
  fprintf(stderr,
    "Usage: hwscan [options]\n"
    "Show information about currently known hardware.\n"
    "  --list            show list of known hardware\n"
    "  --version         show libhd version\n"
    "  --silent          don't show hardware config changes\n"
    "  --boot            run only if we haven't been disabled via 'hwprobe=-scan'\n"
    "  --cfg=state id    change 'configured' status; id is one of the\n"
    "                    ids from 'hwscan --list'\n"
    "                    state is one of new, no, yes\n"
    "  --avail=state id  change 'available' status\n"
    "  --need=state id   change 'needed' status\n"
    "  --active=state id change 'active' status\n"
    "  --hw_item         probe for hw_item and update status info\n"
    "  hw_item is one of:\n"
    "    all, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard, cpu,\n"
    "    disk, dsl, dvb, floppy, framebuffer, gfxcard, hub, ide, isapnp, isdn,\n"
    "    joystick, keyboard, memory, modem, monitor, mouse, netcard, network,\n"
    "    partition, pci, pcmcia, pcmcia-ctrl, pppoe, printer, scanner, scsi, smp,\n"
    "    sound, storage-ctrl, sys, tape, tv, usb, usb-ctrl, vbe, wlan, zip\n"
  );
}

hwscan.c的代码在这里: code.ohloh.net/file?fid=CXLNWC7JpZXPKu6CLhXov_wUkNQ&cid=HvyjrcvY_xg&s=&browser=Default

novell.com/support/kb/doc.php?id=7005942 中有:

Recommended disabling hwscand on SLES9 servers with:
                                                                                                                                                                                                                    
        # chkconfig hwscan off

  or
        hwprobe=-scan boot option

  or

        HOTPLUG_USE_HWSCAN=NO in /etc/sysconfig/hotplug

你太猛了,多谢你的指导。

不过这些值的含义到底对系统有没有什么影响呢?

还有你推断的情况,好像不太对啊:

hwinfo --memory
01: None 00.0: 10102 Main Memory
  [Created at memory.66]
  Unique ID: rdCR.CxwsZFjVASF
  Hardware Class: memory
  Model: "Main Memory"
  Memory Range: 0x00000000-0xbc82c6fff (rw)
  Memory Size: 48 GB
  Config Status: cfg=no, avail=yes, need=no, active=unknown
~ # which hwscan
which: no hwscan in (/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin)
~ # chkconfig hwscan
hwscan: unknown service

看系统是否在启动的时候进行了硬件扫描。我是这么理解的。

代码中也没有对三个取值进行注释,所以我说,这是我的推测嘛。不过大体方向应该是对的。

有方法看是否系统启动的时候进行了硬件扫描吗?? message 的有相应的关键字吗?

你的猜测是对的,但是似乎不似乎 hwscan 这玩意导致的,是系统进行过一次硬件信息扫描之后,cfg 的值就会被设置为 no 。
我说的硬件信息扫描就是运行过 YaST > Hardware > Hardware Information 。