The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Создание собственного варианта загрузочного CD Gentoo Linux (gentoo livecd cdrom linux boot install)


<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: gentoo, livecd, cdrom, linux, boot, install,  (найти похожие документы)
From: Ляшков Павел <bilbo.kem@gmail.com.> Date: Mon, 16 Jun 2005 18:21:07 +0000 (UTC) Subject: Создание собственного варианта загрузочного CD Gentoo Linux Оригинал: http://www.livejournal.com/users/bilbo_kem/1061.html Итак у меня возникла потребность в создании своего варианта загрузочного сд диска - причина проста надо было установить генту на файловую систему не поддерживаемую ядрами стандартных live cd (ReiserFS 4 http://www.namesys.com/v4/v4.html ). Создовать свой диск можно или на основе уже существующего live CD или используя гентушный старге http://www.gentoo.org. Для начала я решил разобрать стандартный инсталяционный сд генту. На нём мы находим файл сжатой файловой системы LIVECD.SQU. В данном случае используется сжатая файловая система SquashFS http://squashfs.sourceforge.net/ , но возможно так же использование других файловых систем: -cramfs http://sourceforge.net/projects/cramfs/. -cloop http://build.lnx-bbc.org/packages/kernel/cloop.html http://packages.qa.debian.org/c/cloop.html. С использованием этой файловой системы создан знаменитый live CD Knoppix http://www.knoppix.org/. Для сравнения этих файловых систем приведу конечный размер сжатого файла - ядро версии 2.6.6: - CRAMFS 62791680 bytes (59.9M) - Squashfs 1.x 51351552 bytes (48.9M) - Cloop 46118681 bytes (44.0M) - Squashfs 2.0 45604854 bytes (43.5M) Для того что бы воспользоваться файловой системой SquashFS, вам нужно скачать набор состоящий из патча для ядра - позволяющим получить возможность монтировать сжатые файлы и набор утилит для создания файловой системы http://sourceforge.net/project/showfiles.php?group_id=63835 Так же рекомендую прочитать FAQ http://www.artemio.net/projects/linuxdoc/squashfs/SquashFS-HOWTO.html Итак патчим ядро: # cd /usr/src/squashfs # cp linux-2.x.y/squashfs-patch /usr/src/linux # cd /usr/src/linux # patch -p1 < squashfs-patch Компилим ядро черезgenkernell all или как обычно #cd /usr/src/linux # make distclean # make mrproper File systems> Miscellaneous file systems>Squashed filesystem # make # cp ./arch/i386/boot/bzImage /boot/bzImage-sqsh # make modules_install И устанавливаем утилиты: # cd /usr/src/squashfs/squashfs-tools # make # cp mksquashfs /usr/sbin Перегружаемся под новым ядром. Создаём рабочую папку и точку монтирования сжатой файловой системы: bash# mkdir /tmp/distr bash# mkdir /tmp/squ Монтируем CDROM с инсталяционным диском генту, а так же сжатый файл: # mount /mnt/cdrom; mount -o loop /mnt/cdrom/livesd.squ /tmp/squ , копируем корневую папку стандартного Live CD # cp -rf /tmp/squ /tmp/distr/ # umount /tmp/squ. Теперь мы приступаем к тому ради чего всё было затеено - к поддержке в новом CD ReiserFS 4. Читаем FAQ http://www.namesys.com/install_v4.html . Скачиваем самую новую версию библиотеки libaal и утилиты reiser4progs ftp://ftp.namesys.com/pub/reiser4progs/ , и самое главное патч на ядро выше linux-2.6.8.1-mm2 (лучше последний) http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6 И делаем несколько простых операций :). готовим ядро для нашего LiveCD # su # cd /usr/src/linux # patch -p1 < /usr/linux/2.6.xx-mm1 Важно - мы патчим ядро которое уже было пропатчено для поддержки squashfs. Code maturity level options ---> Prompt for development and/or incomplete code/drivers Kernel hacking ---> Use 4Kb for kernel stacks instead of 8Kb # tar -xzvpf libaal-XXXXXX.tar.gz # cd libaal-X.X.X # ./configure --enable-stand-alone --enable-memory-manager # make # make install # ldconfig # tar -xzvpf reiser4progs-XXXXXX.tar.gz # cd reiser4progs-X.X.X # ./configure # make # make install Собираем ядро с для LiveCD, что включать в это ядро - зависит от целей создания диска - если вы делаете его только для себя то включите стандартные настройки плюс поддержка ReiserFS4 и SquashFS, если же вы планируете использовать диск для нескольких машин включите монолитом в ядро поддержку основных чипсетов, файловых систем и если есть необходимость - agp. (не забудьте изменить название ядра - что бы не затереть предыдушее - делается это правкой файла Makefile в /usr/linux) После сборки ядра и модулей копируем их в соответсвуюшие каталоги рабочей папки: # cp /usr/linux/arch/i386/boot/bzImage /tmp/distr/boot/vmlinuz-2.6.xx-mm # cp /usr/linux/initrd /tmp/distr/boot/inird-2.6.xx-mm # cp -rf /lib/modules/2.6.xx-mm /tmp/distr/lib/modules/2.6.xx-mm[/b] Меняем корневой каталог и устанавливаем утилиты для работы с ReiserFS4 в рабочую папку. # chroot /tmp/distr /bin/bash # tar -xzvpf libaal-XXXXXX.tar.gz # cd libaal-X.X.X # ./configure --prefix=/tmp/distr/usr --enable-stand-alone --enable-memory-manager # make clean # make # make install # ldconfig # tar -xzvpf reiser4progs-XXXXXX.tar.gz # cd reiser4progs-X.X.X # cd reiser4progs-X.X.X # ./configure --prefix=/tmp/distr/usr # make # make install #exit Теперь сжимаем рабочую папку в файл: #mksquashfs /tmp/livecd.squ /tmp/distr И, наконец, создаём папку где будем формировать iso образ, и формируем его с помошью программы syslinux http://syslinux.zytor.com . # mkdir /mnt/distro1 # cp -rf /mnt/cdrom /tmp/distro1 # rm /tmp/distro1/livecd.squ # cp /tmp/livecd.squ /tmp/distro1/ # cp -rf /tmp/distr/boot/initrd-2.6.xx-mm /tmp/distro1/isolinux/gentoo-2.6.xx-mm.gz # cp -rf /tmp/distr/boot/vmlinuz-2.6.xx-mm /tmp/distro1/isolinux/gentoo-2.6.xx-mm # nano -w /tmp/distro1/isolinux/isolinux.cfg ---------------------------------------------------- label gento26 kernel gentoo-2.6.xx-mm append initrd=gentoo-2.6.xx-mm.igz root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/livecd.squashfs cdroot ---------------------------------------------------- #mkisofs -o /tmp/distro.iso -r -V "Livecd" -v -no-emul-boot \ -boot-load-size 4 -boot-info-table -b isolinux/isolinux.bin \ -c isolinux/isolinux.boot /tmp/distro1 И пишем его на диск: #cdrecord dev=0,0 -v -eject /tmp/distro.iso Вот собственно говоря и всё. P.S: понятно, что таким же образом на диск можно добавлять любые программы - всё зависит от ваших потребностей и желаний.

<< Предыдущая ИНДЕКС Правка src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, Nickispeaki (?), 16:26, 29/04/2008 [ответить]  
  • +/
    Почему я не гентушник!?
    все вроде как опнятно, в смысле большая часть комманд. Где то видел. что-то слышал.... Год на Линуксе. убунту-минт- асп+рунту. если бы все тоже но попроще...

    инетесно, ЗАЧЕМ гентушникам всякие там кде, гномы, коли ср, мкдир,... есть в терминале?!
    это как бы вопрос автору.... зачем писать диски сдрекодом с кучей (например для меня это дико помнить на память все параметры, а каждый раз, когда я диск буду писать читать мануал?) параметров?

    Т.е. нельзя ли попроще?

    Гноумбейкер или к3б входит в поставку гнома и кде.... зачем придумывать велосипед?

     
     
  • 2, touch (?), 18:57, 05/07/2008 [^] [^^] [^^^] [ответить]  
  • +/
    А если нет Х-ов или нет ни гнома ни КДЕ ))))
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру