㈠ linux下的內核編譯問題 關於沒有asm-i386怎麼辦
????????????????????????????
編譯內核關版 asm-i386 鳥事權?
編譯內核關 usr/include 鳥事?
make menuconfig 出錯。
那是 menuconfig 這個字元界面所需要的環境的問題,和內核沒關系。
印象里這個設置界面,需要 readline 等等的一些外部功能支持程序。
如果你有內核 config (一般放在內核源代碼的根目錄,名字是 .config )。
那你完全可以 cp 過來,直接 make 。不需要 make menuconfig 等等的配置過程。當然前提是你的 config 確實沒問題。
(menuconfig 很難用,我都是 make xconfig 配置的,當然那時以前,這個界面需要 qt3 編譯環境的支持)
真正編譯內核,我要是沒記錯只需要 gcc + binutils + make 來配合幹活而已,不需要外部的 include 文件。
㈡ linux 下編譯WIFI錯誤怎麼改
include/asm/memory.h:170: error: `PHYS_OFFSET' undeclared (first use in this function)
include/asm/memory.h:170: error: (Each undeclared identifier is reported only once
include/asm/memory.h:170: error: for each function it appears in.)
這很明顯的告訴你,有沒有定義的宏
㈢ linux下編譯內核時總出現asm-offset.s錯誤,急!!!
CHK include/linux/version.h
Generating include/asm-arm/mach-types.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
ln: creating symbolic link `include/asm': Operation not supported
make: *** [include/asm] Error 1
(第一遍編譯成功,第二遍就不行了)
㈣ RedhatLinux驅動頭文件<asm/system.h>和<asm/uaccess.h>所在包是哪一個
kernel-devel
㈤ 在linux下編譯驅動程序,用arm-linux-gcc編譯時出現了很多錯誤
缺少kernel頭文件 或者頭文件目錄不對~
㈥ 什麼是Linux ASM
Linux操作系統下的匯編語言編譯連接程序
該程序可以將你所編寫的匯編語言轉換成機器能識別的機器語言並保存在一個程序文件里
然後你就才可以執行這個你編寫的程序
㈦ linux編譯配置好的內核,編譯鏡像時候出現arm-linux-:命令未找到
解決方法:
1.先打開一個超級用戶許可權的shell:
命令:sudo –s
2.在當前shell下,設置環境變數:
命令:gedit /etc/profile
在文件末端加上 export PATH=$PATH:/usr/local/arm/4.4.3/bin,並保存。
3. 執行source /etc/profile 這是避免重新啟動ubuntu而又使剛剛修改的環境變數生效的方法。
4、再進入到/opt/FriendlyARM/mini2440/linux-2.6.32.2 目錄,執行make zImage(有可能加sudo),arm-linux-gcc了,可以編譯了。
㈧ linux下的asm目錄,asm代表什麼意思
asm是來assembly language 的簡稱,即:匯編語自言。asm是一個符號連接,只有在你的主makefile的ARCH 變數賦值,並且編譯過一遍內核之後才會指向對應的體系結構,這個文件夾下的東西是體系結構相關的。如:make的時候 /include/asm 指向 /include/asm-x86/
㈨ linux交叉編譯libfad出現asm錯誤,不知道如何解決
沒遇到過這個問題,我編譯過libmad,是一個音頻解碼庫。這個"asm",在Linux內核里表示跟CPU體系結構相關的東西。我猜測是不是這個libmad需要單獨編譯成ARM版本的庫,然後再基於這個庫編譯。我之前編譯播放器的時候就是需要單獨編一個libmad。
以上只是個人推測,如果你找到問題所在,還請把編譯方法講一下,交流學習。
QQ:1138354321
㈩ 如何編譯linux內核
編譯linux內核步驟:
1、安裝內核
如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過。如果沒有安裝,在光碟機中放入linux安裝光碟,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedHat/RPMS/目錄,然後使用命令rpm -ivh kernel-source-2.xx.xx.rpm安裝內核。如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。
2、清除從前編譯內核時殘留的.o 文件和不必要的關聯
cd /usr/src/linux
make mrproper
3、配置內核,修改相關參數,請參考其他資料
在圖形界面下,make xconfig;字元界面下,make menuconfig。在內核配置菜單中正確設置個內核選項,保存退出
4、正確設置關聯文件
make dep
5、編譯內核
對於大內核(比如需要SCSI支持),make bzImage
對於小內核,make zImage
6、編譯模塊
make moles
7、安裝模塊
make moles_install
8、使用新內核
把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄,然後修改/etc/lilo.conf文件,加一個啟動選項,使用新內核bzImage/zImage啟動。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo預設使用新內核啟動linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留舊有的啟動選項可以保證新內核不能引導的情況,還可以進入linux進行其他操作。保存退出後,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效。
9、重新生成ram磁碟
如果您的系統中的/etc/lilo.conf沒有使用了ram磁碟選項initrd,略過。如果您的系統中的/etc/lilo.conf使用了ram磁碟選項initrd,使用mkinitrd initrd-內核版本號,內核版本號命令重新生成ram磁碟文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之後把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁碟能使系統性能盡可能的優化,具體參考/usr/src/linux/Documents/initrd.txt文件
10、重新啟動,OK!