Openmoko → Neo Freerunner : Домашний сервер на телефоне
После очередного прерванного разговора из-за перезагрузки аппарата стало как-то грустно и решил что нужно что-то с ним делать. Почему-то первое, что пришло в голову — давно хотел организовать себе домашний маленький серверок. Ну а чем Neo хуже ПК или ноутбука? Debian я на него уже ставил…
Так и порешил, что ничем. Для начала нам нужно поставить саму debian. Т.к. готовые бинарники уже давно не в моде — единственная найденная мною ссылка была битая, а сохраненный с давних времен архив не содержал в себе ядро, то решил что нужно ставить по
Первая проблема, с которой столкнулся — не проходил пинг с Neo в интернет. В данном
Также, если у вас домашняя сеть находится в том же сетевом диапазоне, что и Neo, то я категорически советую поменять ip у Neo. В вики конечно описано, что в таком случае нужно сделать(где какие маски использовать), но у меня все заработало только после смены ip.
Теперь что касаемо установки debian. На моем SHR почему-то скрипт установки не воспринимал переменные окружения, поэтому мне пришлось поправить скрипт в ручную (конечно не с телефона, а по ssh через usb кабель).
О том, какие пакеты нужны, я думаю решите сами. Единственное что посоветую, это выбрать
После установки всех необходимых пакетов нужно решить, как этот сервер будет общаться с внешним миром. В моем случае встал вопрос о подключении его к роутеру. Варианта было 2: Через Usb-ethernet адаптер или по wifi. Для начала я решил остановиться на wifi, т.к. был не уверен в работоспособности usb-разветвлителя (Y-cable, о котором позже) и самого адаптера под linux. О настройке wifi можно почитать
Теперь можно подумать о том, куда наш сервер будет все сохранять. Т.к. usb-выход у телефона только один, а работать он будет круглые сутки, то нужно было придумать, как по одному кабелю его научить питаться и работать с диском.
В инструкции сказано, что центральный разъем кабеля нужно подключить к питающему usb-порту, а второй — к устройству. Однако в моем случае все в точности наоборот.
Также нам понадобятся еще 2 переходника: мама-usb — мама-usb (для подключения диска) и мама-usb — мама-miniUsb (для подключения стандартного блока питания к телефону).
Также я предполагаю, что таким способом нельзя подключить флешки и другие девайсы, которым необходимо питаение. Поэтому я воспользовался usb-контейнером для sata-дисков с внешним питанием.
Для возможности одновременной зарядки и общения с внешним диском, нужно перевести usb-порт в режим хоста и снять с него питание:
echo host > /sys/devices/platform/s3c2410-ohci/usb_mode
echo 0 > /sys/devices/platform/neo1973-pm-host.0/hostmode
Однако если у вас тоже ядро от andy, то последний файл находится в другом месте. У меня он был тут:
/sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/neo1973-pm-host.0/hostmode
Точнее можно почитать
Все, сервер готов! Что с ним делать — решать вам. Огромный размер debian репозитория поможет вам развернуться. Вот, например, работающий LinuxDC++:
Сам LinuxDC++ съедает не более 15% CPU и памяти, однако это gtk'ый вариант. Можно покопаться и найти вариант без гуи(правда все найденные мной пакеты либо отсутствовали в репозитории для arm'ов либо по каким-то причинам не работали) или попробовать организовать веб-интерфейс (если использовать его и для торентов с еще чем-нибудь, то думаю будет оправдано). Если же использовать гуи, то думаю стоит запустить VNC сервер. На стороне Neo, он запускается без ошибок, однако присоединиться к нему пока не получилось. Думаю тут просто нужно посмотреть, что там творится в iptables.
«Серверу» требуется 2 свободных гнезда в ближайшей розетке. Если же воспользоваться usb-ethernet адаптером, то и 1 сетевой кабель. Получившийся сервер чуть-чуть больше моего роутера, так что не думаю, что возникнут проблемы с его размещением. А о его энергопотреблении и шуме думаю можно и не говорить :)
Этот пост можно посмотреть в моем
- +23
- 4ybaka
- 27 февраля 2010, 21:46
А из за чего конкретно это произошло?
— А что с сервером-то?
— В автобусе из кармана вытащили.