Changing android.os.build.serial In terms of using android.os.build serial as a unique identifier


How/when is it generated
When does it change
Is it possible to manually change the value back to something that I had before
Is it something that can be expected to be available across devices and operating systems
most of these properties are in /system/build.prop (or a file like that). But i believe the android.os.build.serial is actually set when the device first boots. The system gets the device serial number and adds it to the properties. 

I actually found a commit in some cyanogenmod code that you can see how exactly it is set:
(now this does say it is somewhat of a hack, but it is set when the device boots).

From Git:

57| sprintf(buf, "ro.serialno=%s", serial);