請教有關於Debian 4 的lib庫的問題

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

請教有關於Debian 4 的lib庫的問題

文章paperbox » 週二 8月 05, 2008 5:29 pm

請各位幫忙一下...
我想要自己用DOM做一個小的embedded system 來練習
我用的OS 是Debian 4 ,busybox是1.10.2

我在做好一個基本的OS root後
用chroot OS /bin/sh -i 會出現Segmentation fault

我用ldd busybox 後出現
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7f0d000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7ddb000)
/lib/ld-linux.so.2 (0xb7f4c000)

請問為什麼libc跟libcrypt會link 到lib/tls/i686/cmov/ 底下....
我要怎麼讓它直接link 到/lib/ 下的libc 及ld-linux 呢??
這個tls/i686 是什麼用意呢??

麻煩大家了,或是有相關的文件也可以,,謝謝
paperbox
可愛的小學生
可愛的小學生
 
文章: 4
註冊時間: 週二 8月 05, 2008 5:28 pm

文章阿信 » 週四 8月 07, 2008 10:30 am

Hi, 請問你的target platform是什麼CPU?
如果有DOM的話,可以直接用光碟安裝或是debbootstrap
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章paperbox » 週四 8月 07, 2008 2:52 pm

謝謝版大的回復,我是用intel的cpu ,
我比較好奇的是,為什麼lib 裡面還有個tls,
我新編的程式 libc 都會link 到/lib/tls/i686/cmov/libc.so.6
有什麼方法可以不讓它link到/lib/tls/ 裡而是直接
取用/lib/libc.so.6 呢??
paperbox
可愛的小學生
可愛的小學生
 
文章: 4
註冊時間: 週二 8月 05, 2008 5:28 pm

文章阿信 » 週二 8月 12, 2008 9:13 am

paperbox 寫:謝謝版大的回復,我是用intel的cpu ,
我比較好奇的是,為什麼lib 裡面還有個tls,
我新編的程式 libc 都會link 到/lib/tls/i686/cmov/libc.so.6
有什麼方法可以不讓它link到/lib/tls/ 裡而是直接
取用/lib/libc.so.6 呢??


Hi, 我的lib目錄下沒有tls的目錄。

Debian內附的busybox
linux-gate.so.1 => (0xb7f72000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7f34000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7de6000)
/lib/ld-linux.so.2 (0xb7f73000)

TLS我只有看過Kernel裡面的敘述,目錄上沒有印象。
還請paperbox兄簡單說明一下是怎麼製作這個DOM上的Debian4
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章paperbox » 週四 8月 21, 2008 10:02 pm

我現在換回舊的sarge了,因為實在看不習慣這種方式,感覺像是過渡期的做法,
目前還是習慣所有的lib都在/lib ,/usr/lib ,
DOM上的OS其實跟硬碟都一樣,DOM也就是一個小的硬碟
做法版上有很多大大都有很棒的文章,我就不重提了

還是不清楚為什麼Debian4 要搞這樣...
paperbox
可愛的小學生
可愛的小學生
 
文章: 4
註冊時間: 週二 8月 05, 2008 5:28 pm

文章企鵝狂 » 週三 6月 03, 2009 8:35 pm

http://www.linuxforums.org/forum/periph ... -cmov.html

好久的文章了,剛好也在疑問這個問題
cmov是i686之後的處理器的指令
所以,在這裡面的library應該是有特殊最佳化過的。

tls 我猜是從ssl 轉換到tls中間的時候的東西吧
https://savannah.nongnu.org/bugs/?20071

猜錯了,是 Thread Local Storage

有空再來看看這中間ld.so的機制

如果生出這個 /etc/ld.so.nohwcap 的話
就不會load cmov的so
http://www.tin.org/bin/man.cgi?section=8&topic=ld.so
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國


回到 embedded system

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客