diff options
Diffstat (limited to 'docs/mastering-tool-for-restore-cd')
| -rw-r--r-- | docs/mastering-tool-for-restore-cd | 84 | 
1 files changed, 84 insertions, 0 deletions
| diff --git a/docs/mastering-tool-for-restore-cd b/docs/mastering-tool-for-restore-cd new file mode 100644 index 000000000..f40db4d77 --- /dev/null +++ b/docs/mastering-tool-for-restore-cd @@ -0,0 +1,84 @@ +Restore CD architecture ######################################################## + +the restore CD is based on a mdv rescue CD. +it typically contains: + +  data/box.XXX/lst +  data/box.XXX/hda5 +  isolinux/all.rdz +  isolinux/isolinux.bin +  isolinux/isolinux.cfg +  isolinux/vmlinuz +  install/stage2/rescue.sqfs + + +  data/box.XXX ####################################################### +   +  - lst contains the partition table and the drive geometry  +    (the format is custom, read and generated by partimage_whole_disk) +   +  - hda5 is an imagefile, a mirror of /dev/hda5 +    (the format is partimage only, the idea of partimage is same as dump(8)) +   +  isolinux ########################################################### +   +  - kernel and stage1 (same as standard mdv rescue) +   +  - isolinux.cfg customized to call directly save_all or rest_all +    (with option keepmounted for rest_all) +   +  install/stage2/rescue.sqfs ########################################## +   +  - compressed loopback containing a iso9660 filesystem. +    it is mostly the same as the mdv rescue.sqfs, *plus* partimage_whole_disk +    (nb : use extract_compressed_fs/create_compressed_fs to expand/create rescue.sqfs) + + +Mastering process ############################################################## + +1. install a distribution and customize it + +   nb: it's better to leave an empty space on the disk after the /home +   partition (since the restore script grows it, it's no waste) to allow +   adapting to different disk geometry without failing + +2. boot on part_save_all.iso +3. "partimage_whole_disk -s hostfoo save_all /data/box" is called +   3.1. it connects to partimaged server on hostfoo +   3.2. it fins the first free /data/box.XXX +   3.3. it saves the partition table and geometry in /data/box.XXX/lst calling +        partimage with action save_file (need a patched partimage) +   3.4. it saves the devices needing to be saved calling partimage with action save. +   nb: it doesn't save swap partitions (useless) +   nb: it doesn't save ntfs/fat partitions +   nb: with option save_home_directory, the last linux partition is not saved + +4. a restore CD iso is built using the data from step (3.) +5. restore CD is burned + +6. restore CD booted on the target computer +7. "partimage_whole_disk rest_all /data/box.XXX" is called +   7.1. it resizes main windows partition if wanted and needed +   7.2. it gets the partition table and geometry and creates partition table +   accordingly +   7.3. it creates swap partitions if needed +   7.4. it restores linux partitions +   7.5. it creates linux partitions if wanted (esp. for /home) +   7.6. it grows the last linux partition if wanted (esp. for /home) +   7.7. it installs the bootloader (calling rescue script "install_bootloader") + + +Build process ################################################################## + +- patched partimaged must be installed and launched +  (one gets patched partimage rpm building with option "--with jail") + +- the data gets to /var/lib/partimage/data/box.XXX (owned by user partimag) + +- sudo chmod a+r /var/lib/partimage/data/*/* + +- in gi/rescue, call +  ./make_partimage_save_rest_all partimage-0.6.4-7mdk.i586.rpm /var/lib/partimage /data/box.XXX + +  => it calls ./make_rescue_img with special options to create a special rescue.sqfs +  => generates part_save_all.iso and part_rest_all.iso | 
