Дружище, это вопрос из серии «как самому сделать автомобиль» или «как освоить иностранный язык». Они вроде простые, но полный ответ на него займёт несколько лет обучения и практики. А короткий ответ будет бессмысленным тролингом.
Сначала изучи Линукс. Не как пользователь, как разработчик. Начни например с Linux From Scratches. Овладей языком консоли, bash, разберись в архитектуре ОС и компьютеров, чтобы процесс освоения не превращался в тупой copy\past. Ты должен выяснить смысл каждого твоего действия и понять принципы и необходимость наличия каждого устанавливаемого тобою программного пакета до полной прозрачности.
Параллельно изучай программирование вообще, конкретно язык C и скриптовые языки, python например. И в какой то момент всё станет понятно.
Вот и смотри. А как бы ты сделал всё вышеперечисленное в консоли?
Наводка:
Для создания live-cd можно существующую linux-систему запаковать в squashfs. Отдельно положить ядро и initrd. Добавить загрузчик(допустим, syslinux). И полученный результат сделать iso-образом.
Для ручной разметки можно вызвать gparted(если в live-cd есть гуй), или тот же cfdisk + создание файловых систем через mk_нужной_фс.
Для автоматической из скрипта можно вбить нужные команды fdisk.
Дальше копирование нужных тебе компонентов на целевую систему(допустим).