можно выполнить из оригинального SDK,
предоставляемого Western Digital,
в виде GPL Open Source исходных кодов.
1. Скачиваем SDK для White Book (support)
v1.02.14 (WD-MyBookWorld-v1.02.14-GPL.zip)
Оригинальные WD firmware файлы,
Файл размещаем в домашней папке "~"папка с рабочими файлами($MBWE_SDK) будет "~/wd"
2. Извлечем рабочие файлы из архива
$ cd ~
$ echo Extract MyBookWorld SDK ...
$[ ! -d wd ]&&unzip MyBookWorld/WD-MyBookWorld-v1.02.14-GPL.zip -d wd
$ export MBWE_SDK=~/wd
$ cd $MBWE_SDK/kernel/
$ [ ! -d kernel-source ] && tar -xzfv kernel-source.tar.gz
$ cd kernel-source
$ [ ! -d buildroot ] && tar -xjfv buildroot-20080225.tar.bz2
$ [ ! -f buildroot/buildroot.defconfig ] && cp -rf buildroot-patches/* buildroot/
3. Применяем патчи
$ cd buildroot
$ # обратите внимание, что между последними двумя точками,
$ # есть пробелы!
$ ./snapshot.patch . .
> следующий шаг можно пропустить, т.е. можно воспользоватся
готовыми бинарными файлами приложений из архива.
4. Собираем buildroot
$ make defconfig
$ make
5. Развернем glibc
$ cd $MBWE_SDK/glibc
$ [ ! -d glibc-2.5 ] && tar xjfv glibc-2.5.tar.bz2
6. Развернем toolchain
$ cd $MBWE_SDK/toolchain
$ [ ! -d bin ] && tar xzfv gcc-csl-arm-2005q1-glibc-csl-arm.tar.gz
7. Развернем исходные коды ядра (kernel source)
$ cd $MBWE_SDK/kernel
$ [ ! -d kernel-source ] && tar xzfv kernel-source.tar.gz
8. Установим переменные окружения
$ export PATH="$PATH:$MBWE_SDK/toolchain/bin"
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ export INSTALL_MOD_PATH=$MBWE_SDK/
$ [ ! -d $INSTALL_MOD_PATH ] && mkdir -p $INSTALL_MOD_PATH
9. Настроим начальную конфигурацию ядра
(как в текущей версии firmware)
$ # выполняется только один раз после установки
$ cd $MBWE_SDK/kernel/kernel-source/kernel-0.4.6
$ make oxnas_810_eabi_wd_prod_defconfig
10. Настраиваем дополнительные, требуемые нам параметры
$ make menuconfig
11. Собираем ядро, модули ...
# ядро
$ make zImage
# модули
$ make modules
12. Копируем модули в каталог установки
$ make CROSS_COMPILE=$CROSS_COMPILE \
$ INSTALL_MOD_PATH=$INSTALL_MOD_PATH modules_install
В результате получим, скомпилированные модули,
которые будут скопированы в каталог:
$INSTALL_MOD_PATH/lib/modules/2.6.24.4/kernel/
папку $INSTALL_MOD_PATH/lib можно архивировать и копировать
на устройство в каталог /opt/lib
Загружать выбранный Вами модуль можно,
например, с помощью команды:
insmod /opt/lib/modules/2.6.24.4/kernel/net/9p/9pnet.ko
либо:
modprobe /opt/lib/modules/2.6.24.4/kernel/net/9p/9pnet.ko
Кросс сборка приложений, может выполнятся с помощью команд:
$ export PATH="$PATH:$MBWE_SDK/toolchain/bin"
$ ./configure --host=arm-linux-gnueabi # ... и. др. опции
$ make
PS:
Оригинальное описание располагается по адресу:
http://mybookworld.wikidot.com/compiling-white-light-modules-from-source
Комментариев нет:
Отправить комментарий