Unix程式設計/應用問答中文版 ---14.一些小工具的使用 15.32-bit/64-bit相關問題(轉)
Unix程式設計/應用問答中文版 ---14.一些小工具的使用 15.32-bit/64-bit相關問題(轉)[@more@]作者:不祥 [文章出自: ]14. 一些小工具的使用 14.1 14.2 14.3 只在本地檔案系統上查詢 14.4 -------------------------------------------------------------------------- 15. 32-bit/64-bit相關問題 15.1 Solaris下如何識別當前核心版本 15.2 如何啟動Solaris 32-bit/64-bit核心 15.3 gcc支援64-bit編譯嗎 15.4 Solaris啟動時核心檔案找不到了 15.5 64-bit驅動程式無法在8下關聯,但在7下工作正常 -------------------------------------------------------------------------- 14.3 只在本地檔案系統上查詢 Q: 我不想在NFS AUTOFS CACHEFS這些檔案系統上查詢檔案 A: Sun Microsystems 2001-02-12 下面舉例演示如何不在NFS檔案系統上查詢檔案 # find / -name su -type f -print -o -fstype nfs -prune 下例表示不在PROC檔案系統中查詢檔案(參看/etc/vfstab檔案) # find / -name su -type f -print -o -fstype proc -prune 15. 32-bit/64-bit相關問題 15.1 Solaris下如何識別當前核心版本 Q: 我編寫了一個核心模組,在Solaris 7/8下編譯透過,模組中如何識別當前正在運 行核心版本 A: Andrew Gabriel 參看adb使用的宏"utsname",32-bit的位於usr/lib/adb/utsname,此外可以參看 /usr/include/sys/utsname.h檔案,但是這些不是DDI/DKI相容的。 sysdef | more 看看 A: scz 非DDI/DKI相容意味著喪失良好的可移植性,未來版本的Solaris可能不再提供相應的 支援,但是就Kernel Hacking而言是可以一試的。 adb -P 'sun>' -k /dev/ksyms /dev/mem sun>$utsname: utsname: sys SunOS utsname+0x101: node sun27 utsname+0x202: release 5.7 utsname+0x303: version Generic_106541-08 utsname+0x404: machine sun4u sun>$q cat /usr/lib/adb/sparcv9/utsname utsname+0="" +/"sys"8t257c +/"node"8t257c +/"release"8t257c +/"version"8t257c +/"machine"8t257c more /usr/include/sys/utsname.h #define _SYS_NMLN 257 /* * 4.0 size of utsname elements * Must be at least 257 to * support Internet hostnames. */ #define SYS_NMLN _SYS_NMLN struct utsname { char sysname[_SYS_NMLN]; char nodename[_SYS_NMLN]; char release[_SYS_NMLN]; char version[_SYS_NMLN]; char machine[_SYS_NMLN]; }; 顯然adb下的命令是針對struct utsname結構來的。簡單地truss uname -a,可以看 到如下輸出 ioctl(1, TCGETA, 0xFFBEE5DC) = 0 sysinfo(SI_ARCHITECTURE, "sparc", 257) = 6 sysinfo(SI_PLATFORM, "SUNW,Ultra-5_10", 257) = 16 暫時沒有跟蹤這幾個系統呼叫在做什麼,想必類似/usr/lib/adb/sparcv9/utsname宏。 15.2 如何啟動Solaris 32-bit/64-bit核心 Q: Algos@Unix 水木清華 2001-12-04 18:12 對於UltraSPARC-I/Solaris 8,可以修改/platform/sun4u/boot.conf檔案,使操作 系統執行在64位或者32位,但對於其他機型呢,比如E420、E450、E4500之類伺服器 怎麼改?好像起來後就是64位的,怎麼才能改成32位的呢? Q: 顯然有一些32-bit驅動程式以及一些應用軟體不能工作在64-bit核心下,比如gcc 編譯的32-bit IP Filter。我必須啟動到32-bit核心模式下,怎麼辦? A: dkoleary@mediaone.net 32-bit : ok boot disk kernel/unix 64-bit : ok boot disk kernel/sparcv9/unix 為了設定成預設啟動核心模式 32-bit : ok setenv boot-file kernel/unix 64-bit : ok setenv boot-file kernel/sparcv9/unix 為了確定你所啟動的核心模式 isainfo -b 根據你所啟動的核心模式,該命令分別返回32、64 A: Will Wang 2001-06-09 02:17 一個辦法就是啟動時按Stop-A進入OK模式,輸入 ok> setenv boot-file kernel/unix ok> boot 另一個辦法是已經在shell狀態下了,執行命令 # eeprom "boot-file=kernel/unix" 系統重啟之後將自動載入32-bit核心 15.3 gcc支援64-bit編譯嗎 Q: gcc -v顯示版本2.95.2,isainfo -kv顯示64-bit sparcv9 kernel modules,我 企圖透過指定"-mcpu=v9 -m64"獲得64-bit程式碼,提示m64未被支援,僅僅指定 mcpu=v9,在彙編階段報告""v8 can't generate v9 code",我使用的彙編器是 /usr/ccs/bin/as,隨Solaris 7/8提供的。 這是什麼問題,我需要一個64-bit彙編器嗎,從哪裡獲取呢? A: Robert Banniza 我並不認為gcc 2.95.2已經開始支援64-bit編譯模式,或許你應該考慮採用 Sun WorkShop Compiler SPARC 5.0/6.0。 15.4 Solaris啟動時核心檔案找不到了 Q: 我的Solaris 7莫名其妙當機了,只好關電源,再開,發現錯誤 boot with command:boot now cann't open now enter filename[now]: 怎麼辦 A: dkoleary@mediaone.net 啟動時按Stop-A進入ok狀態,在這裡輸入 32-bit : ok boot disk kernel/unix 64-bit : ok boot disk kernel/sparcv9/unix 為了設定成預設啟動核心模式 32-bit : ok setenv boot-file kernel/unix 64-bit : ok setenv boot-file kernel/sparcv9/unix A: liqun.bbs@bbs.gznet.edu.cn 試試這個,啟動時按Stop-A進入OK狀態 OK> setenv boot-file kernel/unix OK> reset 15.5 64-bit驅動程式無法在8下關聯,但在7下工作正常 Q: 一個64-bit驅動程式在Solaris 7下載入、關聯(load & attach)成功,但在8下加 載(load)成功、關聯(attach)失敗。 A: Sun Microsystems 1998-06-13 從Solaris 8開始,64-bit驅動程式必須位於"sparcv9/"目錄中。而在Solaris 7中, 儘管不提倡,但即使64-bit驅動程式不在"sparcv9/"目錄中,也可以載入並關聯成功
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-940456/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Unix程式設計/應用問答中文版 ---21.FreeBSD相關問題(轉)程式設計
- Unix程式設計/應用問答中文版 ---12.日誌相關問題 13.程式相關問題(轉)程式設計
- Unix程式設計/應用問答中文版 ---4.系統資源相關問題(轉)程式設計
- Unix程式設計/應用問答中文版 ---19.終端相關問題(轉)程式設計
- Unix程式設計/應用問答中文版 ---20.shell script問題(轉)程式設計
- Unix程式設計/應用問答中文版 ---17.檔案檢視問題 18.補丁相關問題(轉)程式設計
- Unix程式設計/應用問答中文版 ---1.系統管理配置問題(轉)程式設計
- Unix程式設計/應用問答中文版 ---6./etc/system可調資源限制(轉)程式設計
- Unix(Linux) C程式設計問題精粹 (轉)LinuxC程式程式設計
- Unix(Linux) C程式設計問題精粹(轉)LinuxC程式程式設計
- Unix(Linux)C程式設計問題精粹(轉)LinuxC程式程式設計
- Linux應用問答(轉)Linux
- Linux桌面應用問答(轉)Linux
- 小程式視訊旋轉的相關問題
- 關於程式猿的六個問答題
- Flutter-Android 應用打包相關問題FlutterAndroid
- Linux網路應用問答(轉)Linux
- unix 2 windows 的C++程式移植的一些常見問題 (轉)WindowsC++
- 自考畢業論文答辯相關問題解答
- 開發Web應用程式中Cookie使用的問題 (轉)WebCookie
- 關於怎樣寫程式設計入門書的問答程式設計
- 一些程式設計相關的分享程式設計
- 再談應用程式的例項問題 (轉)
- 使用並查集解決的相關問題並查集
- Docker 相關問題Docker
- django相關問題Django
- electron相關問題
- 有關asp程式設計中,baseclass的問題程式設計
- Linux問與答:KDE問題解凝(轉)Linux
- 【總結】日常遇到的一些問題相關知識
- 機器學習應用面臨的一些問題機器學習
- Oracle MTS的相關問題Oracle
- 答讀者問(21):一個研二學生有關論文的相關疑問及答覆
- Q&A:「微搭低程式碼」計費相關問題
- 程式設計師應該捫心自問的10個問題程式設計師
- 有關介面測試的用例設計問題
- 程式設計文化的問題程式設計
- 好程式設計師web前端教程分享三大前端框架相關問題程式設計師Web前端框架