Компилируем ядро sunxi-linux с поддержкой aufs

Компилируем ядро sunxi-linux с поддержкой aufs

Сообщение ErshoFF » 03 окт 2016, 11:32

Система aufs позволяет монтировать несколько файловых одну поверх другой.
Как вариант использования можно примонтировать корневой раздел в режим "только чтения", поверх этого примонтировать раздел для сохранения изменений.
Для использования aufs необходима поддержка со стороны ядра.

How-to "Компилирование ядра с поддержкой aufs"
Компилирование производилось на Debian версии
Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.54-2
Подробнее о подготовке хоста для компилирования
  1. Исходный код найден на github'е, получим исходный код
    mkdir CompileKernel
    cd CompileKernel
    git clone https://github.com/ryba84/linux-sunxi-aufs.git
    git clone https://github.com/ErshovSergey/linux-sunxi-aufs.git
  2. Изменения сохраняем в своей ветке
    git checkout -b sunxi-v3.4-otk110-aufs
  3. Конфиг ядра по умолчанию
    make ARCH=arm sun4i_defconfig

    Не забыть добавить поддержку aufs ядром
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
    File systems ---> Miscellaneous filesystems ---> Aufs (Advanced multi layered unification filesystem) support
    Конфигурацию ядра можно найти здесь.
  4. Компилируем
    export ARCH=arm
    export CONCURRENCY_LEVEL=`grep -m1 cpu\ cores /proc/cpuinfo | cut -d : -f 2`
    export DEB_HOST_ARCH=armhf
    fakeroot make-kpkg --arch arm --cross-compile arm-linux-gnueabihf- --initrd --append-to-version=-otk110-aufs --revision=1.0 kernel_image kernel_headers
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- EXTRAVERSION=-AUFS uImage modules INSTALL_MOD_PATH=output modules_install
    cp -v arch/arm/boot/uImage ../uImage
    tar -cvzf ../modules1.tar.gz ./output
  5. После компиляции в каталоге на уровень выше можно найти
    linux-image-*.deb, пакет Debian c ядром;
    linux-headers-*.deb, пает Debian package с kernel headers (не нужен);
    uImage, ядро kernel в u-boot совместимом формате.
    modules1.tar.gz - модули ядра
  6. Установка на устройстве
    Понадобятся пакет с ядром linux-image-3.4.107-otk110-aufs+_1.0_armhf.deb, модули ядра modules1.tar.gz и ядро для загрузчика uImage.
    Устанавливаем на устройстве:
    sudo dpkg -i linux-image-3.4.107-otk110-aufs+_1.0_armhf.deb
    sudo cp uImage /boot/uImage
    tar -xzf modules1.tar.gz
    sudo mv output/lib/modules/3.4.107-AUFS+ /lib/modules/

Окончательный результат - кофиг ядра, ядро, модули, можно найти здесь.
ErshoFF

 
Автор темы
Сообщения: 68
Зарегистрирован: 20 окт 2013, 20:05

Вернуться в Cubie (debian для cubieboard и DS-110)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron