реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> программа из исходников в линуксе
sergey sva
сообщение Jun 22 2011, 11:33
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Да для встраиваемых, сейчас нужно разобраться, скомпилировали ядро на компе с своими драйверами(для своего железа)(монолитное) под нужную платформу в другом пустом компьютере смонтировали файловую систему загрузили загрузчик передали управление ядру
теперь нужно сделать пакет через какие апи он должен работать с ядром?
Собирать пакет например под мандривой , после его скопировать на комп с запущенным линукс ядром это можно сделать ?
Какие функции дает ядро?

Сообщение отредактировал sergey sva - Jun 22 2011, 11:45
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 22 2011, 12:33
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
теперь нужно сделать пакет через
Это называется 'пользовательское приложение' (по простому - программа)
Цитата
через какие апи он должен работать с ядром?
Через libc
Цитата
Какие функции дает ядро?
Эээ, вам действительно нужен embedded Linux?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jun 22 2011, 14:07
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата
Эээ, вам действительно нужен embedded Linux?

Нужно разобраться sm.gif embedded так понимаю для специальной платформы арм например?

Сообщение отредактировал sergey sva - Jun 22 2011, 14:08
Go to the top of the page
 
+Quote Post
vvs157
сообщение Jun 22 2011, 16:36
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 526
Регистрация: 8-04-05
Пользователь №: 3 960



Цитата(sergey sva @ Jun 22 2011, 14:40) *
В исходниках храняться графические данные (вид) или свойства графических объектов?
Все неграфические и графические свойства объекта могут быть описаны в исходнике

Цитата(sergey sva @ Jun 22 2011, 14:40) *
Этот вопрос задавал еще не совсем понимал как работают программы в линуксе
В Виндах все очень похоже, если не пользоваться средствами быстрой разработки (RAD). Никто не мешает в Дельфи все объекты описывать в теле программы. Просто в Дельфи это не очень принято, хотя возможно.
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 22 2011, 19:29
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(sergey sva @ Jun 22 2011, 18:07) *
embedded так понимаю для специальной платформы арм например?
Нет - embedded это сфера (и способ) применения

Есть обычные desktop системы. Они позволяют запускать различные программы, написанные кем угодно. (Включим сюда так же ОС на всяких планшетниках и прочей нечисти biggrin.gif )

А есть embedded - они по жизни умеют запускать одну единственную программу, которая в них жестко зашита. И стоит это дело внутри какого нибудь устройства, которое по своим главным функциям компьютером не является (DVD player например)

Можно из desktop системы сделать embedded, но это как то не комильфо laughing.gif Иногда это оправданно (если вашему единственному приложению действительно нужны все функции исходной ОС), а иногда это явный overkill.
Хотя в последнее время бедный Linux начали засовывать везде, куда не плюнь biggrin.gif
Вот яркий пример
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jun 23 2011, 04:28
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Понятно sm.gif
Какие функции дает embedded ядро, только libc ?
Если нужно libm тогда нужно будет собрать ядро с этой библиотекой ?



Сообщение отредактировал sergey sva - Jun 23 2011, 04:39
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 23 2011, 04:49
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(sergey sva @ Jun 23 2011, 08:28) *
Какие функции дает embedded ядро, только libc ?
Не только, но libc обязательно. Это главная библиотека для интерфейса с ядром. В ней лежат все системные вызовы. Графику, кстати, тоже не ядро обеспечивает. Точнее ядро обеспечивает доступ к железной графической карте, а все остальное делает куча системных приложений и библиотек пользовательского уровня - X11, оконный менеджер, оконный framework.
Цитата
Если нужно libm тогда нужно будет собрать ядро с этой библиотекой ?
Нет. libm - это чисто пользовательская библиотека. Она не использует ядро.

Вы скажите, что вам надо?
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jun 23 2011, 05:09
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата
Вы скажите, что вам надо?

Пока нужно разобраться заинтересовал меня этот линукс sm.gif.
Еще не очень понимаю как это работает: например один комп с запущенным ядром, на другом mandriva.
Скомпилировали такую программу на компе c mandriva
Код
#include <stdio.h>
#include <unistd.h>
#include <asm/io.h>

#define BASEPORT 0x378 /* lp1 */

int main()
{
  /* Получить доступ к порту */
  if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);}
  
for(;;){
  /* Вывод в порт (0) */
  outb(0, BASEPORT);
  
  /* Задержка (100 мс) */
  usleep(100000);
  }

  exit(0);
}

получили исполняемый файл, скопировали его на диск компа с запущенным ядром там его что то должно запустить?
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 23 2011, 07:09
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
там его что то должно запустить?
Угу, системный процесс. init[rd] называется. А запускает он все из папки /etc/init.d/

Вот -
Цитата
The scripts for controlling the system are placed in /etc/init.d/ (they
have been moved according to the Linux Standard Base (LSB) specifica-
tion). These scripts are executed directly or indirectly by
/sbin/init, the father of all processes. The configuration of
/sbin/init is given by the file /etc/inittab (see inittab(5)).

At boot time, the boot level master script /etc/init.d/boot is called
to initialise the system (e.g. file system check, ...). It also exe-
cutes some hardware init scripts linked into /etc/init.d/boot.d/. Then
it calls /etc/init.d/boot.local, which executes the local commands.

After system startup, /sbin/init will normally switch on the default
run level given in /etc/inittab. It calls the run level master script
/etc/init.d/rc to start or stop services provided by the other scripts
under /etc/init.d/.

Both scripts, then boot level master script /etc/init.d/boot and the
the run level master script /etc/init.d/rc starts all other boot or
runlevel scripts either sequential or partial parallel within their
dependencies order.

To control the services of a run level, the corresponding scripts are
linked into run level directories /etc/init.d/rc<X>.d/, where
<X>=0,1,2,3,4,5,6,S is the run level number.
...

Это от SuSE. На embedded версии может быть устроенно по другому - надо смотреть доку от конкретной версии

Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jun 23 2011, 07:27
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Исполняемый файл нужно поместить в sbin а в etc/init.d скрипт запуска?
Еще может что подскажите, sm.gif установил дополнительно ядро real time но с него не грузиться, при загрузки идет лог ошибка
mount according mtab fstab failed
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 23 2011, 08:24
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(sergey sva @ Jun 23 2011, 11:27) *
Исполняемый файл нужно поместить в sbin а в etc/init.d скрипт запуска?
Ну как то так

Цитата
установил дополнительно ядро real time но с него не грузиться, при загрузки идет лог ошибка
mount according mtab fstab failed
Не смонтировалась какая то файловая система. Видимо какой то из драйверов FS не пошел на RT кернеле

Смотрите файл /etc/mtab. Логи тоже где то должны быть (поищите где нибудь в /var/log/ )
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jun 23 2011, 09:16
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



ясно.
Можно еще вопрос , компьютер с чистым hd (не отформатирован) как на него поставить uboot ?
1)Загрузиться с cd linux в консоле
2)Смонтировать разделы mount remaunt /swap /var /temp /home / /boot
3)установить uboot
4)запустить uboot
5)скопировать ядро kernelxxxx.img
порядок действий правильный ?
Если можно опишите правильный порядок, не подробно дальше в инете посмотрю.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jun 23 2011, 10:00
Сообщение #28


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Для начала сюда


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jun 24 2011, 18:16
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Потихоньку разбираюсь sm.gif
Только пока так и не смок понять проблему при загрузки системы с ядром rt-kernel выходит ошибка Лог:
Цитата
Проверяются файловые системы

/sbin/fsck.xfs: XFS file system.

/dev/sda1: clean, 41/64000 files, 17722/256000 blocks

[ OK ]


Корневая ФС перемонтируется в режиме чтения-записи: [ OK ]


mount: according to mtab, /dev/sda2 is already mounted on /



Монтируются локальные файловые системы: mount: sysfs уже примонтирован или /sys занят

mount: согласно mtab, /sys уже примонтирован на /sys

[СБОЙ ]

Вот этот mtab|
Цитата
rootfs / rootfs rw 0 0
/proc /proc proc rw,relatime 0 0
/sys /sys sysfs rw,seclabel,relatime 0 0
udev /dev devtmpfs rw,seclabel,nosuid,relatime,size=376832k,nr_inodes=94208,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,seclabel,relatime 0 0
tmpfs /run tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,mode=755 0 0
/dev/sda2 / xfs rw,seclabel,relatime,attr2,noquota 0 0
selinuxfs /selinux selinuxfs rw,relatime 0 0
tmpfs /sys/fs/cgroup tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/ns cgroup rw,nosuid,nodev,noexec,relatime,ns 0 0
cgroup /sys/fs/cgroup/cpu cgroup rw,nosuid,nodev,noexec,relatime,cpu 0 0
cgroup /sys/fs/cgroup/cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/net_cls cgroup rw,nosuid,nodev,noexec,relatime,net_cls 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
systemd-1 /sys/kernel/security autofs rw,relatime,fd=28,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
systemd-1 /sys/kernel/debug autofs rw,relatime,fd=29,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=30,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
systemd-1 /dev/mqueue autofs rw,relatime,fd=32,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
systemd-1 /dev/hugepages autofs rw,relatime,fd=33,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
tmpfs /var/run tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,mode=755 0 0
tmpfs /var/lock tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,mode=755 0 0
tmpfs /media tmpfs rw,rootcontext=system_u:object_r:mnt_t:s0,seclabel,nosuid,nodev,noexec,relatime,
mode=755 0 0
/dev/sda1 /boot ext3 rw,seclabel,relatime,errors=continue,user_xattr,acl,barrier=0,data=ordered 0 0
/dev/sda2 /tmp xfs rw,seclabel,relatime,attr2,noquota 0 0
/dev/sda2 /var/tmp xfs rw,seclabel,relatime,attr2,noquota 0 0
/dev/sda2 /home xfs rw,seclabel,relatime,attr2,noquota 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
gvfs-fuse-daemon /home/sergey/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=500,group_id=500 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0

Вот fstab
Цитата
#
# /etc/fstab
# Created by anaconda on Fri Jun 24 20:43:10 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=3d8a51b0-9ea6-400a-a3d7-43708e872004 / xfs defaults 1 1
UUID=851bf12e-6810-40dc-95c8-0ea5d4ab224c /boot ext3 defaults 1 2
UUID=cfd77df6-8d6e-429c-aa22-9d26436e1cc2 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0


Подскажите где что посмотреть ?

Сообщение отредактировал sergey sva - Jun 24 2011, 18:25
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Jun 24 2011, 19:23
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



mtab скопирован когда был загружен с рабочего ядра, а если на rt ядре то записей меньше.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01496 секунд с 7
ELECTRONIX ©2004-2016