Make licoma do something, e.g. make it usefull
The user should be able to use licoma to dump a system onto a flash or external hdd and to restore the system on a different computer. This will then be marked as version 0.1.
Parts:
- root partition detection,
- installed system detection,
- parition information retrieval,
- packaging all files,
- partition creation on destination,
- system restoration on destination,
- grub installation on destination,
- simple GUI, but with easy UI replacement, console only, for example (somewhere in the future),
Root partition detection
The application should scan all partitions for /etc/fstab file. The partitions that have that file will be marked as potential root partitions and in case there are multiple, the user will be provided with a list where she can choose which system she wants to use as the source.
Installed system detection
The application will support only Ubuntu for now, starting with the most recent version. The following file can be used to detect if the system is Ubuntu:
/etc/issue
Here are example contents:
Ubuntu 7.04 \n \l
The system also needs to check if the installed system is compatible with the system it's running on, because grub-install will not be successful if the kernels differ to much or if they're compiled for different architectures (e.g. amd64 and i386). One way to do this and the only way I know of is to check the config files in /boot for the the following lines:
CONFIG_X86_64=y
CONFIG_X86_32=y
If the first is found, the installed system is amd64, if the second, it's i386. In case the live system is not compatible with the source system, the user should be warned that he won't be able to install the system that will be extracted using the same live system.
After that, the application should parse the /etc/fstab file for every root partition it found, and determine which partitions need to be copied, e.g. which partitions are referenced by a particular root partition. Support only the more common linux filesystems for now: ext2/3/4 and reiserfs.
Finally the user should be provided with a choice which partitions should be copied.
Blueprint information
- Status:
- Not started
- Approver:
- Marjan Povolni
- Priority:
- Undefined
- Drafter:
- Marjan Povolni
- Direction:
- Approved
- Assignee:
- Marjan Povolni
- Definition:
- Drafting
- Series goal:
- Accepted for 0.1
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by