之前看到网上有很多人都在找Linux下show “error attaching device data”的原因,但是好像都没人讲出什么所以然来,我做过的project刚好也遇到了同样的问题,而且已经解掉了哟,与大家分享一下咯,自己也做个备忘。
实际上“error attaching device data”这个字符串是linux kernel code(drivers/acpi/scan.c)丢出来的,为什么linux kernel会丢这个error的字符串,原来是因为linux在认asl中processor name的时候只认cpux,如果processor name被BIOS定义为p00x等,linux kernel就会报错误。
解决的办法两种:
1,当然是在BIOS的asl code把processor name改为cpux;
2,听说最新的linux kernel已经有解不兼容processor name为p00x的问题。
另外,请注意在写asl code的时候,device的unique id一定不要冲突,不然可能会导致进不了os。