found that it doesn't need to reboot.
When kindle reboots, the default runlevel 2 inits, and again to the normal runlevel 5. If i choose to update kindle, it goes into the update runlevel 3 and back to the normal runlevel 5 when the updates's done.
So I made a symlink S71xxxxx in /etc/rc5.d/ and K71xxxxx in /etc/rc3.d/ . The init script starts and stops when i restart my kindle or update a package.
Here's kindle's runlevel :
runlevel 2 : boot runlevel ( default runlevel defined in /etc/inittab )
goes to runlevel 5 by /etc/rc2.d/S50battcheck
runlevel 3 : update runlevel
goes to runlevel 5 by /etc/rc3.d/S50updater
runlevel 4 : diagnose runlevel
reboots by /etc/rc4.d/S99diag_reboot
runlevel 5 : normal runlevel
runs the framework
runlevel 6 : kernel toggle runlevel
seems that toggles kernel by /etc/rc6.d/S50kernel_toggle and reboots by /etc/rc6.d/S95reboot ( don't know what toggle means

)