Jump to content

    
Sign in to follow this  
iiv

Несколько вопросов по Линуксу

Recommended Posts

Всем привет,

 

есть борда c двухядерным AMDшником Foxconn AHD1S-K, A50M, в которую воткнуто куча (6) разных USB девайсов. Вся эта система запакована в переносное устройство с автономным питанием. Сейчас стоит там Ubunta 10.10 (Uniti не люблю). Хочу посоветоваться как правильно поступить, так как сам не могу придумать как решить несколько технических задач.

 

1. одно усб устройство может переконфигурироваться только из WindowsXP(32), под wine даже инсталлятор устройства не запускается, повидимому, хочет какой-то специальный драйвер. К сожалению, поставить еще один комп - нет места. Попробовал поставить VMWare - падает при компиляции

 

There is a problem compiling the vmnet module after it was patched. :(

 

хотя и в гугле много искал, но не нашел как решить (у меня стоит стандартный 2.6.35-32-generic).

 

так как я в виртуальных машинах и винде совсем новичек, хотел спросить, разумно ли попробовать поставить virtualbox и в нем из закромов Электроникса проставить WinXPsp3_USB_SATA_AHCI_RAID или есть что-то более простое и надежное?

 

2. обнаружил, что у моего устройства иногда происходит слет питания в основном из-за того, что устройство находится еще в тестировании. Из-за слета питания часто убунта входит в ступор и не грузится. Видел-слышал-гуглил, что надо сделать "/" только на чтение, а /home, /var на rw партиции. Читал-гуглил, но так и не понял как это сделать в fstab (или не там это делается, кто знает, скажите, пожалуйста).

 

Вдруг кто знает-может-есть желание, пожалуйста, посоветуйте, по первому и-или второму вопросам!

 

ЗЫ: отказаться от убунты не могу, из-за кучи софта под нее заточенного, например, на графической карте у меня там идут вычисления, асмл с лапаком там же во всю используются, короче переползти даже на федоркино горе будет неимоверно сложно, а на майкрояофт - физически мной не реализуемо...

 

Спасибо!

 

ИИВ

Share this post


Link to post
Share on other sites
There is a problem compiling the vmnet module after it was patched. :(

 

Лучше бы конечно 10.04 LTS надо было ставить - установлены на ней wmvare player и virtualbox - с USB устройствами работают, по крайней мере с тем что мне нужно (MFGtool от Freescale). Попробуйте доустановить пакеты

 

$ sudo apt-get install build-essential linux-headers-`uname -r` psmisc

 

и заново запустить установку vmware tools.

 

По поводу второго - смотря на каком этапе тормозит загрузка, сомневаюсь что просто переведя какие-то разделы в режим только чтения можно устранить проблему возникающую в драйвере.

Edited by sasamy

Share this post


Link to post
Share on other sites
Лучше бы конечно 10.04 LTS надо было ставить - установлены на ней wmvare player и virtualbox - с USB устройствами работают, по крайней мере с тем что мне нужно (MFGtool от Freescale). Попробуйте доустановить пакеты

 

$ sudo apt-get install build-essential linux-headers-`uname -r` psmisc

 

и заново запустить установку vmware tools.

 

Благодарю за ответ! Конечно с Вами согласен, что LTS - лучше, может и решусь на даунгрейд, но софта там кучу надо переставлять... Пока решил (успешно!!!) мой первый вопрос через virtualbox - оказалось, надо было правильно все доставить. Винда с закромов пошла с первого раза.

 

С монтированием системы в readonly пока вопрос так и остался очень актуальным - не понятно, как правильно это сделать. Читаю мануалы по LiveCD - возможно что-то похожее можно сделать, только поместить этот лайф на партицию, а не на внешний носитель. Основная цель - если при старте или работе системы выключилось питание, чтобы система не испортила системные файлы и при новом старте смогла успешно востановиться. Если у кого-то будут идеи и-или правильные ключевые слова куда смотреть, буду примного благодарен!

Share this post


Link to post
Share on other sites
Благодарю за ответ! Конечно с Вами согласен, что LTS - лучше, может и решусь на даунгрейд, но софта там кучу надо переставлять... Пока решил (успешно!!!) мой первый вопрос через virtualbox - оказалось, надо было правильно все доставить. Винда с закромов пошла с первого раза.

 

С монтированием системы в readonly пока вопрос так и остался очень актуальным - не понятно, как правильно это сделать. Читаю мануалы по LiveCD - возможно что-то похожее можно сделать, только поместить этот лайф на партицию, а не на внешний носитель. Основная цель - если при старте или работе системы выключилось питание, чтобы система не испортила системные файлы и при новом старте смогла успешно востановиться. Если у кого-то будут идеи и-или правильные ключевые слова куда смотреть, буду примного благодарен!

 

К первому вопросу небольшой комментарий, по моему опыту работы с virtualbox "стандартнее" для убунты, чем VMvare, у меня с ним ни разу проблем не было, все просто и работает.

 

Ко второму вопросу, вы работаете с вашим девайсом под Убунтой или под гостевой Windows? Если под убунтой, то драйвер у вас вкомпилен в ядро или подгружаемый *.ko? И девайс распаян на плате или втащить/вытащить можно? Если вкомпилен, то скорее всего ядро так и будет останавливаться, если подгружаемый, то были случаи, что система работала при глюках с девайсом. А по поводу монтирования, то каждая директория которую вы хотите изменить ro или rw должна быть на разных разделах. sudo mount -o rw || ro /var

 

 

Share this post


Link to post
Share on other sites
К первому вопросу небольшой комментарий, по моему опыту работы с virtualbox "стандартнее" для убунты, чем VMvare, у меня с ним ни разу проблем не было, все просто и работает.

Благодарю за ответ!

 

Чуть подробнее расскажу что конкретно в девайсе и как.

В девайс имеется два режима - домашний и полевой.

В домашнем режиме с питанием проблем нет, и только в этом режиме нужна гостевая винда для перепрошивки некоторых конфигураций.

В полевом режиме virtualbox даже не бедет запускаться. В полевом режиме на 3-х усб висит arduino mega2560, Morph-IC-II FTDI, M4-ATX, и еще 3 усб висят только для питания, драйверы всех у меня сейчас успешно подключаются автоматически при загрузке. Основная проблема в том, что пока у аппарата иногда пропадает питание и я с этим ничего поделать не могу. В то же время, с этих трех усб портов идет довольно много данных (4мбайта в секунду) работает бортовая графическая карта (идут вычислительные расчеты на OpenCL), и на солидстейт диск регулярно пишется тоже много данных (средний траффик обмена с диском составляет около 50мбайт в секунду). При внезапном отключении питания файловая система обычно не восстанавливается.

 

Я перенес весть обмен по файлам на отдельную партицию, это конечно сильно помогло, при слете питания надо запустить чек этого диска.

 

Но недавно воткнулся в проблему, что если слетает питание, иногда надо чекиться и в системных дирректориях, а без этого система не поднимается.

 

К сожалению, у меня моя убунда в поле работает без клавы и монитора, только через arduino mega2560, Morph-IC-II FTDI, M4-ATX, то есть если что-то слетело и система не поднялась, у меня нет возможности узнать что же произошло... Конструкционно это изменить пока я не могу.

 

Ко второму вопросу, вы работаете с вашим девайсом под Убунтой или под гостевой Windows?

только под Убунтой

 

Если под убунтой, то драйвер у вас вкомпилен в ядро или подгружаемый *.ko?

и так и так :(

 

 

И девайс распаян на плате или втащить/вытащить можно?

не, вытащить нельзя, жесткое соединение с заливом клеем усб штеккеров.

 

Из всего этого у меня выкристаллизовался вопрос, скажите, пожалуйста, какие системные дирректории при работе убунты должны быть подмонтированны на чтение, а какие - на запись? Привожу список, со своей гипотизой, но, кто знает, пожалуйста, посоветуйте прав ли я или нет:

 

bin (ro)

boot (ro)

dev (rw)

etc (rw) (можно ли ro, и, если да, то как)

home (rw)

lib (ro)

lib32 (ro)

lib64 (ro)

media (rw)

mnt (rw)

opt (rw)

proc (rw)

root (rw)

sbin (ro)

sys ???

tmp (rw)

usr ???

var (rw)

 

Спасибо

 

ИИВ

Share this post


Link to post
Share on other sites

Скорее всего, Вам это придется выяснять опытным путем, т.к. тут баланс между неработоспособностью из-за невозможности записи и из-за повреждения при записи данных в момент отключения. С вероятностью 50% эти области перекрываются, и работоспособного в обеих смыслах варианта не существует. Либо он есть, но Вы его не найдете.

Я бы на Вашем месте сделал все-таки резервное питание в виде аккума, например от ноутбука. Заряжать его можно в ноутбуке, а подключать на разряд - с помощью самодельной схемы и при этом давать сигнал на завершение работы либо на ждущий (спящий) режим, если такое возможно в Вашем случае. Также это может быть аккум для авиамоделей, с соотв. зарядником от Ваших полевых 12В. Это гарантированно решит проблемы железа, программ и данных.

Share this post


Link to post
Share on other sites

Благодарю за отклик и идеи-советы!

Скорее всего, Вам это придется выяснять опытным путем, т.к. тут баланс между неработоспособностью из-за невозможности записи и из-за повреждения при записи данных в момент отключения. С вероятностью 50% эти области перекрываются, и работоспособного в обеих смыслах варианта не существует. Либо он есть, но Вы его не найдете.

как я понимаю, мне надо разделить систему на три блока-партиции,

1. системная, что-то типа лайвсд,

2. тоже системная, но в ней все логи,

3. данные.

 

Третью партицию (с данными) монтировать только после начала работы, и, при малейшем блекауте - тут же отмонтировать. В принципе я могу ее вообще не монтировать а использовать /dev/sda3 как один большой файл, который у меня будет использоваться во время моей работы, но пока я так еще не сделал.

 

Как правильно сделать все остальное - собственно я и пытаюсь разобраться.

 

Я бы на Вашем месте сделал все-таки резервное питание в виде аккума, например от ноутбука. Заряжать его можно в ноутбуке, а подключать на разряд - с помощью самодельной схемы и при этом давать сигнал на завершение работы либо на ждущий (спящий) режим, если такое возможно в Вашем случае. Также это может быть аккум для авиамоделей, с соотв. зарядником от Ваших полевых 12В. Это гарантированно решит проблемы железа, программ и данных.

 

есть оно... Сделано на суперконденсаторах (14 конденсаторов по 350Ф, каждый на 2.7В). Проблема в том, что аппарат свежий и находится в режиме отладки, причем как электроники, так и того, что этот аппарат обрабатывает. А во время обработки данных аппарат может находится в сотнях, а то и тысячах км от КБ, и, не в моих руках. Последний раз система слетела от того, что резервное питание (эта связка суперконденсаторов) не успела зарядиться, а тестирующий человек решил закончить работу, еще толком не начав... Знаю, что это банальный баг логики схемы питания, но еще не придумал как его устранить и, думаю, это не последний такой баг, поэтому хочу софтверно защититься!

Share this post


Link to post
Share on other sites

есть такой проект

http://linux.voyage.hk/

можно посмотреть - как у них сделано

 

3.7 voyage-sync script

=======================

 

Starting from 0.6, the legacy /ro and /rw directories will be replaced by

voyage-sync script, which is located under /etc/init.d/. At boot, /var/tmp

and /var/log are by default mounted under tmpfs. All the changes will be

synchronized back to disk at shutdown. To sync back to disk manually while

running, run:

 

# remountrw

# /etc/init.d/voyage-sync sync

# remountro

 

If you want to add more directories to tmpfs, modify VOYAGE_SYNC_DIRS in

/etc/default/voyage-util.

 

For more information on the usage, please read /etc/default/voyage-util.

 

Share this post


Link to post
Share on other sites

/etc/fstab:

/dev/sda1 / ext4 defaults,ro 0 1

proc /proc proc defaults 0 0

tmpfs /tmp tmpfs defaults 0 0

tmpfs /var/lock tmpfs defaults 0 0

tmpfs /var/run tmpfs defaults 0 0

tmpfs /var/tmp tmpfs defaults 0 0

tmpfs /var/log tmpfs defaults 0 0

 

Ну и сделать

rm -rf /etc/mtab; ln -s /proc/mounts /etc/mtab

 

Все что нужно для readonly.

Share this post


Link to post
Share on other sites
какие системные дирректории при работе убунты должны быть подмонтированны на чтение, а какие - на запись?

Нельзя подмонтировать директорию, можно только файловую систему. На директорию можно выставить права "только на чтение", но это уже чисто административные мероприятия.

Share this post


Link to post
Share on other sites
Нельзя подмонтировать директорию, можно только файловую систему. На директорию можно выставить права "только на чтение", но это уже чисто административные мероприятия.

Можно и дерикторию подмонтировать, если уж очень нужно :)

sudo mount olddir newdir -o bind

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this