Raspbian и новое ведро
Aug. 5th, 2014 01:26 pmГриша попросил меня поковыряться в Raspberry Pi, чтобы прикрутить туда купленный мной недавно для опытов USB фреймграббер.
Все оказалось не так и сложно: по этой инструкции я взял свежие исходники ядра для Raspberry:
и firmware:
Далее просто добавил в .config нужное (в частности, CONFIG_VIDEO_USBTV и прочее, касающееся TV по USB), набросал простой скриптик:
и скомпилировал ядро с модулями.
Готовое ведро лежит в linux/arch/arm/boot под именем Image. Чтобы установить его, достаточно примонтировать флешку с raspbian. По умолчанию там 2 раздела: boot с vfat (странно, зачем vfat?) и корень с ext4 (т.к. флешка у Гриши была на 16ГБ, я создал еще третий раздел для всякой всячины; а вообще, можно и расширить корень при желании). В boot сбрасываем файл Image и в соответствии с мануалом прописываем в config.txt имя нового ядра (старое на всякий случай можно пока схоронить). Далее сбрасываем в boot firmware в соответствии с инструкцией. Потом монтируем корень и копируем туда нужную часть firmware + модули ядра.
После перезагрузки в новое ядро все в порядке. Единственное, чего не хватает для нормальной работы — человеческого питания. По умолчанию RPi питается по микро-USB, что крайне неудобно + тока элементарно не хватает на инициализацию граббера (если его подключить к работающей "малинке", она перезагружается из-за скачка питания).
Все оказалось не так и сложно: по этой инструкции я взял свежие исходники ядра для Raspberry:
git clone https://github.com/raspberrypi/linux.git
и firmware:
git clone https://github.com/raspberrypi/firmware.git
Далее просто добавил в .config нужное (в частности, CONFIG_VIDEO_USBTV и прочее, касающееся TV по USB), набросал простой скриптик:
#!/bin/bash
export CCPREFIX=/usr/bin/arm-none-eabi-
export MODULES_TEMP=Modules
make ARCH=arm CROSS_COMPILE=${CCPREFIX}
make ARCH=arm CROSS_COMPILE=${CCPREFIX} modules
mkdir ${MODULES_TEMP}
make ARCH=arm CROSS_COMPILE=${CCPREFIX} INSTALL_MOD_PATH=${MODULES_TEMP} modules_install
и скомпилировал ядро с модулями.
Готовое ведро лежит в linux/arch/arm/boot под именем Image. Чтобы установить его, достаточно примонтировать флешку с raspbian. По умолчанию там 2 раздела: boot с vfat (странно, зачем vfat?) и корень с ext4 (т.к. флешка у Гриши была на 16ГБ, я создал еще третий раздел для всякой всячины; а вообще, можно и расширить корень при желании). В boot сбрасываем файл Image и в соответствии с мануалом прописываем в config.txt имя нового ядра (старое на всякий случай можно пока схоронить). Далее сбрасываем в boot firmware в соответствии с инструкцией. Потом монтируем корень и копируем туда нужную часть firmware + модули ядра.
После перезагрузки в новое ядро все в порядке. Единственное, чего не хватает для нормальной работы — человеческого питания. По умолчанию RPi питается по микро-USB, что крайне неудобно + тока элементарно не хватает на инициализацию граббера (если его подключить к работающей "малинке", она перезагружается из-за скачка питания).
no subject
Date: 2016-02-05 07:03 am (UTC)собственно в вашем случае make deb-pkg
правда переменных нужно побольше объявить, я делаю так
export ARCH="arm"
export CROSS_COMPILE="arm-linux-gnu-"
export CFLAGS="-march=armv6zk -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard"
export CXXFLAGS="$CFLAGS"
export KBUILD_DEBARCH="armhf"
export $(dpkg-architecture -aarmhf)
export DEBEMAIL="вписать нужное"
export DEBFULLNAME="вписать нужное"
export KDEB_CHANGELOG_DIST="stable"
no subject
Date: 2016-02-05 08:37 pm (UTC)И вообще, по-человечески, ведро должно обновляться вручную. Поэтому в генте на автомате только пакеты с исходниками обновляются, а вот уж компилять их или нет — остается на волю хозяина компутера. И это правильно. Не то, что в бубунте какой-нибудь — ведро автоматом обновилось, и твой самописный модуль канул в Лету, т.к. с новым ведром не совместим (по понятным причинам)...