Auto-updates for kernel, base modules, etc - TESTERS NEEDED
Posted: 01 Oct 2012, 16:08
Hi all,
I've written a script that generates modules to automate updates to the Porteus system. Rather than placing a module with updated configs into your /porteus/modules folder, which will override old files in the base system (modules in /porteus/base), these modules will run a script to insert or replace existing files and modules directly on your flash or hard drive. For example, we could automatically update the kernel, initrd, and 000-kernel.xzm module, so all the user needs to do is download and activate a single module which will walk them through the process.
I'd like some help in testing this, so please download the appropriate module for your install (V1.2 only, this won't work for 1.1 or earlier as it requires an sgn match):
32-bit Porteus 1.2: http://porteus-xfce.googlecode.com/file ... t-oct1.xzm
64-bit Porteus 1.2: http://porteus-xfce.googlecode.com/file ... t-oct1.xzm
Expected behavior:
When you download and activate the module, or if you place it in /porteus/modules and reboot, a gtkdialog interface should open telling you that you have downloaded an update module, and prompting you to proceed. It should then automatically find and dispaly (on the next screen) your /porteus and /boot folders. Please tell me if your porteus and boot folders are not found properly, as I want to automate this step for 95%+ of all setups. Once you have verified the folders, the system will need to reboot. It will shut down and as it shuts down (switching root back to initrd), it will copy all files from the update module onto your usb or hard drive, writing a log and keeping backups of any overwritten files if you check the box to keep backups.
When you restart, there will still be a module with the same name as the update module located in /porteus/modules, but this will be a 'dummy' module, only containing a file with a list of files that were updated. This module is in place so that the existing porteus update function will not download the update module again.
For testing purposes at this point, I've only included two files in the update: /boot/docs/cheatcodes.txt and /porteus/GNU_GPL. Following the update, those files should have an updated timestamp and contain a line of text at the very end of the file stating "update check file".
Once we get this tested and any kinks worked out, we can test with something more substantial, like a kernel upgrade.
One issue that I already know about is that if you run the update in text mode, you can't exit the update once you've said 'yes' to continue with the update. Ctrl+C and Ctrl+D don't exit out of the script. I'll find a way to fix or get around this (e.g. add an option for 'exit' wherever the read command prompts for user input).
Please test and let me know if you run into any issues, or if works as designed for you.
Thanks!!
I've written a script that generates modules to automate updates to the Porteus system. Rather than placing a module with updated configs into your /porteus/modules folder, which will override old files in the base system (modules in /porteus/base), these modules will run a script to insert or replace existing files and modules directly on your flash or hard drive. For example, we could automatically update the kernel, initrd, and 000-kernel.xzm module, so all the user needs to do is download and activate a single module which will walk them through the process.
I'd like some help in testing this, so please download the appropriate module for your install (V1.2 only, this won't work for 1.1 or earlier as it requires an sgn match):
32-bit Porteus 1.2: http://porteus-xfce.googlecode.com/file ... t-oct1.xzm
64-bit Porteus 1.2: http://porteus-xfce.googlecode.com/file ... t-oct1.xzm
Expected behavior:
When you download and activate the module, or if you place it in /porteus/modules and reboot, a gtkdialog interface should open telling you that you have downloaded an update module, and prompting you to proceed. It should then automatically find and dispaly (on the next screen) your /porteus and /boot folders. Please tell me if your porteus and boot folders are not found properly, as I want to automate this step for 95%+ of all setups. Once you have verified the folders, the system will need to reboot. It will shut down and as it shuts down (switching root back to initrd), it will copy all files from the update module onto your usb or hard drive, writing a log and keeping backups of any overwritten files if you check the box to keep backups.
When you restart, there will still be a module with the same name as the update module located in /porteus/modules, but this will be a 'dummy' module, only containing a file with a list of files that were updated. This module is in place so that the existing porteus update function will not download the update module again.
For testing purposes at this point, I've only included two files in the update: /boot/docs/cheatcodes.txt and /porteus/GNU_GPL. Following the update, those files should have an updated timestamp and contain a line of text at the very end of the file stating "update check file".
Once we get this tested and any kinks worked out, we can test with something more substantial, like a kernel upgrade.
One issue that I already know about is that if you run the update in text mode, you can't exit the update once you've said 'yes' to continue with the update. Ctrl+C and Ctrl+D don't exit out of the script. I'll find a way to fix or get around this (e.g. add an option for 'exit' wherever the read command prompts for user input).
Please test and let me know if you run into any issues, or if works as designed for you.
Thanks!!