контроллером mini2440
это руководство заточено под дистрибутив Calculate Linux Roboforum Build
нижеуказанные рецепты будут потихоньку вноситься в следующие релизы
На данный момент я пишу статью когда активным является релиз clrf-crossdev-10.4-4-i686.iso
Создаем виртуальную машину с диском расширяемым HDD на 15GB , 1024 MB RAM , 2 ядра (по возможности)
конфигурируем один сетевой адаптер по схеме подключения «общая сеть»
профиль Gentoo Linux , Ubuntu или Linux 2.6
загружаемся с образа clrf-crossdev-10.4-4-i686.iso
выбираем русский язык загрузки и грузимся по умолчанию «Calculate Linux Scratch 10.4 LiveCD»
после загрузки нам первым делом нужно зайти на виртуалку по протоколу ssh по сети
это делается потому что виртуалка в текстовом режиме у нас изолирована от хостовой машины и не работает буффер обмена
а набирать команды ручками не по джедайски
настроим сеть
# net-setup eth0
выбираем сеть тип «wired» и параметры чтобы подключиться к вашей домашней сети (фиксированый ip или dhcp)
проверяем полученный ip
# ifconfig
проверяем хождение пинга до хостовой машины
# ping {ip хостовой машины}
если всё в порядке то устанавливаем пароль (обязательно, иначе не пустит)
# passwd
и запускаем sshd
# /etc/init.d/sshd restart
заходим на машину по ssh (используя терминал putty, кодировка utf8 )
root / password
(при первом заходе будет предложено сохранить идентификатор машины, нужно согласиться)
создадим таблицу разделов:
# fdisk /dev/sda
o
n
p
1
enter
enter
w
устанавливаем линукс на диск
# calculate -d /dev/sda1 -s CLS --set-hostname=RF-dev --set-lang=ru_RU --set-video_resolution="1024x768" --set-user_comment="Roboforum Build"
выключаем виртуалку правильно
# poweroff
убираем загрузку с iso образа
и загружаемся (пароль у нас тот что ставили при загрузке ещё до установки)
повторно настроим сеть (теперь эта настройка сохранится)
# net-setup eth0
выбираем сеть тип «wired» и параметры чтобы подключиться к вашей домашней сети (фиксированый ip или dhcp)
проверяем полученный ip
# ifconfig
и обновим дерево портов
# eix-sync
------ обновления характерные для версии clrf-crossdev-10.4-4-i686.iso ------
установим терминальную программу
# emerge -v minicom
програмка аплоада кода в u-boot по USB
# echo "app-mobilephone/dfu-util ~x86" > /etc/portage/package.keywords/dfu-util
# emerge -v app-mobilephone/dfu-util
теперь соберём proftpd
только сначала уберём флаг необходимости антивируса (-clamav)
# ufed
в открывшемся меню начинаем набирать слово clamav и когда оно попадет под выделение - пробелом меняем на "-"
выходим с сохранением ( ESC , Enter )
собираем proftpd
# emerge -v proftpd
для proftpd сделаем конфиг, для чего откроем любимым редактором (я использую mcedit) файл /etc/proftpd/proftpd.conf
# mcedit /etc/proftpd/proftpd.conf
приводимый ниже конфиг открывает доступ на чтение запись по анонимному соединению в папку /home/ftp
и полный доступ к домашнему каталогу (а при наличии пользователя в группе wheel ещё и на чтение от корня системы)
это не совсем правильно для обычных машин, но для наших задач это наиболее удобно и приемлимо.
- Код: Выделить всё
###############################################################################
# Global
###############################################################################
ServerName "Roboforum Linux FTP"
ServerType standalone
DefaultServer on
RequireValidShell off
ServerIdent off
IdentLookups off
Port 21
Umask 022
MaxInstances 30
User ftp
Group ftp
#RootLogin on
ShowSymlinks on
###############################################################################
# Logs
###############################################################################
# debug 0-9
DebugLevel 1
#SyslogLevel notice
SyslogLevel debug
UseReverseDNS off
TransferLog /var/log/proftpd/transfer.log
SystemLog /var/log/proftpd/proftpd.log
ExtendedLog /var/log/proftpd/extended.log ALL default
###############################################################################
# Auth
###############################################################################
AuthPAM off
#AuthUserFile /etc/proftpd/.passwd
###############################################################################
# Limits
###############################################################################
MaxClients 15 "Слишком много соединений с сервером"
MaxClientsPerHost 4 "%m клиента уже подключены с Вашего хоста, больше не разрешено"
MaxLoginAttempts 10 "Слишком много попыток войти"
# Ограничение трафика. В данном случае мы ограничиваем закачку и скачивание всем пользователям на 150k кроме рута
#TransferRate RETR,STOR,APPE 150 user !root
#Возможно определить с каких ip соединения допустимы или запрещены
#UseHostsAllowFile /etc/proftpd.allow
#UseHostsDenyFile /etc/proftpd.deny
# Установим ограничения по времени
TimeoutIdle 180
TimeoutLogin 120
#TimeoutNoTransfer 360
#TimeoutStalled 640
# Normally, we want files to be overwriteable.
AllowOverwrite on
###############################################################################
# Messages
###############################################################################
#DisplayConnect /etc/ftp_connect.msg
#DisplayLogin /etc/ftp_login.msg
AccessDenyMsg "Login Failed."
AccessGrantMsg "Welcome."
DisplayGoAway "Go Away"
###############################################################################
# Chroot
###############################################################################
DefaultRoot / wheel
DefaultRoot ~
###############################################################################
# Directory
###############################################################################
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 10 "Sorry, max %m users -- try again later"
DisplayLogin welcome.msg
DisplayChdir .message
<Limit WRITE STOR MKD XMKD RMD XRMD DELE RNFR RNTO>
Allow All
# DenyAll
</Limit>
<Directory * >
<Limit READ DIRS LIST RETR MKD XMKD RMD XRMD DELE RNFR RNTO>
Allow All
# DenyAll
</Limit>
<Limit STOR CWD>
Order Allow,Deny
# Allow 192.168.0.0/16
Allow All
# Deny ALL
</Limit>
</Directory>
</Anonymous>
###############################################################################
# Директория для пользователей со своими учетками
<Directory ~>
AllowOverwrite on
<Limit ALL>
AllowAll
IgnoreHidden on
</Limit>
<Limit LOGIN READ DIRS LIST CWD RETR>
AllowAll
IgnoreHidden on
</Limit>
<Limit WRITE STOR MKD XMKD RMD XRMD DELE RNFR RNTO>
Order allow, deny
# Allow from 192.168.0.0/24
Allow from all
# Deny from all
</Limit>
</Directory>
для правильной вставки в mcedit (убираем эффект лесенки) :
mcedit
F9
Настройки / Общая
убираем галки :
Автоотступ "Вводом"
Отображать пробелы
Отображать табуляции
Если имеются сложности со вставкой файла , то просто качаем его отсюда :
# wget
# cd /etc/proftpd ; gzip -d ./proftpd.conf.gz
создадим каталог для логов
# mkdir /var/log/proftpd
запустим сервер ftp
# /etc/init.d/proftpd start
и добавим его в автозагрузку
# rc-update add proftpd default
дадим права на запись для анонима
# chmod 777 /home/ftp/
ещё нам потребуется tftp сервер (это такой протокол файлового доступа без всяких сложностей типа пароля)
# emerge -v atftp
подготовим его каталог
# mkdir /tftproot ; chmod 777 /tftproot
запустим
# /etc/init.d/atftp start
и поставим в автозапуск
# rc-update add atftp default
соберем утилиты для работы с NAND , в частности jffs2 файловой системой
# emerge -v sys-fs/mtd-utils
цветная утилита сравнения файлов
# emerge -v colordiff
Работа с btrfs
# emerge -av btrfs-progs
+ нужно собрать btrfs в ядре или модулем:
# cd /usr/src/linux
# make menuconfig
включить модули btrfs в разделе filesystems
# make modules
# make modules_install
-- дописываю, расширяю ---