Подготовка и сборка ядра
Готовим место для перекомпиляции ядра. Например создадим в домашней директории каталог /home/<user>/compile, делаем все от простого пользователя.
$ cd /home/<user> $ mkdir compile
Скачиваем thinstation_src-2.2.1.tar.bz2 с sourceforge и распаковываем
$ wget http://ufpr.dl.sourceforge.net/sourceforge/thinstation/thinstation_src-2.2.1.tar.bz2 $ cd /home/<user>/compile $ tar -jxf <path to>/thinstation_src-2.2.1.tar.bz2
Скачиваем исходники ядра 2.6.25.17 и распаковываем в директорию thinstation_src-2.2/source/
$ wget https://nixts.org/downloads/kernel-2.6.25.17.tar.bz2 $ cd /home/<user>/compile/thinstation_src-2.2/source $ tar -jxf <путь_до>/kernel-2.6.25.17.tar.bz2
Скачиваем дополнительные утилиты для сборки ядра 2.6.25.17 и распаковываем в директорию thinstation_src-2.2/bin/
$ wget https://nixts.org/downloads/bin.tar.bz2 $ cd /home/<user>/compile/thinstation_src-2.2/bin $ tar -jxf <путь_до>/bin.tar.bz2
Вносим поправку в файл thinstation_src-2.2/KERNEL_PATH, должно получиться так - /source/kernel-2.6.25.17/linux-2.6.25.17
Правим ссылку в thinstation_src-2.2/include/asm-x86, которая ссылается на asm-i386, а нужно asm-x86
Заходим в среду chroot, переходим в ядро, конфигурируем (если необходимо) и собираем
$ cd /home/<user>/compile/thinstation_src-2.2 $ sudo ./RUNME $ cd /source/kernel-2.6.25.17/linux-2.6.25.17 $ cp .config ../config.orig $ make menuconfig $ cd .. $ ./setup.sh
примечание: Для наглядности конфигурирования ядра вместо make menuconfig можно использовать make kconfig или make gconfig, но не в среде chroot, а непосредственно в системе запустив другую консоль, после чего вернуться в среду chroot и запустить сборку ./setup.sh.
Полезная информация по сборке ядра: http://www.linuxcenter.ru/lib/articles/system/kernel26_install.phtml
После сборки выходим из среды chroot
$ exit
Переходим в /bin и редактируем файл start.sh, сделав такие изменения в 35-ой строке:
ln -s $KERNEL_PATH/include/asm-i386 $GLIBC_PATH/../include/asm на ln -s $KERNEL_PATH/include/asm-x86 $GLIBC_PATH/../include/asm
и в файле KERNEL_PATH, который расположен в корне, меняем
/source/kernel-2.6.16.5/linux-2.6.16.5 на /source/kernel-2.6.25.17/linux-2.6.25.17
Вот и все, новая среда для компиляции модулей и программ готова.
Переходим в директорию с конструктором thinstation чтобы поправить скрипты для копирования ядра и модулей из директории исходников thinstation
$ cd /home/<user>/build/Thinstation-2.2-XXXXXX/utils
редактируем в файле SOURCE_PATH путь до директории с исходниками
/home/<user>/compile/thinstation_src-2.2/source
запускаем скрипт для установки нового ядра и модулей
$ cd /home/<user>/build/Thinstation-2.2-XXXXXX/utils/scripts $ ./update_kernel.sh $ cd ../..
Теперь можно приступить к сборке загрузочных образов Thinstation.
© 2022 nik0el