This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP4430/4460 internal ID number

Other Parts Discussed in Thread: 4460

Hi, is just that i am working with a device based on OMAP4430/4460, and i am running Android ICS on it, and when i run the O.S. on it, it has an ID number named androidboot.serialno, it is a serial number and it also appears when i flash the SD card for the board (pandaboard), and that id always changes for different boards, but each board has its own number, so i would like to know where does that serial number come from, does it come from the OMAP4430/4460? because as far as i know, the board doesn't bring any memory, so, i need to know where does it come from for me to use that number.

Best Regards.

  • By tracing it back,

    it is a system's property ro.serialno.

    /4ai17/mydroid/system/core/init/init.c

    static void import_kernel_nv(char *name, int in_qemu)
    {
        char *value = strchr(name, '=');

        if (value == 0) return;
        *value++ = 0;
        if (*name == 0) return;

        if (!in_qemu)
        {
            /* on a real device, white-list the kernel options */
            if (!strcmp(name,"qemu")) {
                strlcpy(qemu, value, sizeof(qemu));
            } else if (!strcmp(name,"androidboot.console")) {
                strlcpy(console, value, sizeof(console));
            } else if (!strcmp(name,"androidboot.mode")) {
                strlcpy(bootmode, value, sizeof(bootmode));
            } else if (!strcmp(name,"androidboot.serialno")) {
                strlcpy(serialno, value, sizeof(serialno));

    then

    static int set_init_properties_action(int nargs, char **args)
    {
        char tmp[PROP_VALUE_MAX];

        if (qemu[0])
            import_kernel_cmdline(1, import_kernel_nv);

        if (!strcmp(bootmode,"factory"))
            property_set("ro.factorytest", "1");
        else if (!strcmp(bootmode,"factory2"))
            property_set("ro.factorytest", "2");
        else
            property_set("ro.factorytest", "0");

        property_set("ro.serialno", serialno[0] ? serialno : "");

    Check full file to get the code and values vor val[1] and val[0], property's value can be read from bootargs in dmesg or after kernel boots,

    /4ai17/u-boot/common/cmd_bootm.c

        serial_len = sprintf(serial_str, " androidboot.serialno=%08X%08X", val[1], val[0]);

  • Hi, thanks for the reply, is just that my question is if that number comes from OMAP4430/4460 internal ROM?, that number is not an O.S. configuration but a saved value in the processors memory?

    Best Regards.

  • By checking OMAP4430 TRM section "1.5 OMAP4430 Family and Device Identification", it is a value stored inside the processor.