Zajmuje się programowaniem systemów wbudowanych, a konkretnie jestem na początku przygody jeśli chodzi o linux embedded. Nie wiem jak poradzić sobie z następującym problemem i czy to w ogóle jest problem, bo może system robi coś automatycznie . Może przybliżę na szybko temat tym, którzy nie orientują się w systemach embedded. Generalnie Linux embedded to taki sam linux jak na naszych PC tylko, że jądro jest bardziej okrojone z programów, funkcji itd. Jeśli chcemy, aby system wystartował z karty SD należy na tej karcie umiescić binarke obrazu linuxa zImage, binarke boot loadera 2 poziomu np u-boot.bin itd i należy również umieść cały File System. Czyli katalogi etc, usr, lib , root w tych katalogach muszą się również znaleźć niezbędne programy, które mają działać na urządzeniu docelowym. Takim potrzebnym programem jest min. busybox. Jego instalacje przeprowadzam następująco
Pobieram ze WEB źródło -> uruchamiam make z opcja kros kompilacji (pod ARM) -> kopiuje zainstalowane narzędzia do docelowego systemu plików w innym miejscu na razie na PC.
Czyli wszystkie zainstalowane pliki busybox trafiają jakby do szkieletu nowego systemu. Problem polega na tym, że zainstalowany busybox w katalogach bin nie posiada programów tylko odnieśienia. Jak domyślam się to dlatego, że te programy istnieją już w systemie wieć system uznał po co jeszcze raz je tworzyć ja se walnie dowiązanie, i teraz już pewnie rozumiecie co się stanie jak przeniosę taki system plików na urządzenie docelowe. Takie coś nie może działać, bo w urządzeniu są dowiązania a nie programy tutaj listing katalogu bin który miałby się znalejsć w target. Zatem pytanie jak sprawić, że zainstalują się faktycznie programy, a nie dowiązania.
Kod: Zaznacz cały
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 ash -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 base64 -> busybox
-rwxrwxrwx 1 rafal rafal 941368 mar 31 11:36 busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 cat -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 catv -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 chattr -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 chgrp -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 chmod -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 chown -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 conspy -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 cp -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 cpio -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 cttyhack -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 date -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 dd -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 df -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 dmesg -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 dnsdomainname -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 dumpkmap -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 echo -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 ed -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 egrep -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 false -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 fatattr -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 fdflush -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 fgrep -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 fsync -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 getopt -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 grep -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 gunzip -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 gzip -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 hostname -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 hush -> busybox
lrwxrwxrwx 1 rafal rafal 7 mar 31 11:36 ionice -> busybox
Dodam jeszcze, że taka sama sytuacja dotyczy modułów, bibliotek itd. Dotyczy również innych programów np doinstaluje serwer ssh to tworzy się dowiązanie a nie binarka.