新聞中心

uclinux編譯

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏
今天終于開(kāi)始了傳說(shuō)中的uclinux移植了。搞了一上午,才編譯出個(gè)默認(rèn)配置的image.bin,哎,太受打擊了~~

在網(wǎng)上找的一些內(nèi)核配置資料一點(diǎn)用也沒(méi)有,只會(huì)增加麻煩。編譯的時(shí)候,不是這里出錯(cuò),就是那里沒(méi)發(fā)現(xiàn)的,哎,~~ 最后還是在官網(wǎng)上找到一條路:除了配置符合廠商的板子外,其他全用默認(rèn)的配置~~結(jié)果編譯的時(shí)候還是出了兩個(gè)錯(cuò)誤。在用了3萬(wàn)2千1百9十9招g(shù)oogle之后,終于解決了,如下:

本文引用地址:http://m.butianyuan.cn/article/201611/323263.htm

錯(cuò)誤1:

/usr/local/bin/arm-elf-ld.real: cannot open romfs.o: No such file or directory
make[1]: *** [linux] Error 1
解決辦法
cp ./linux-2.4.x/fs/romfs/romfs.o ./linux-2.4.x/

錯(cuò)誤2:
s/fs.o(.data+0x15f0): In function `sys_open:
/curret1/uClinux-dist/linux-2.4.x/fs/open.c:805: multiple definition of `romfs_file_operations
romfs.o(.data+0x80):/curret1/uClinux-dist/linux-2.4.x/fs/romfs/inode.c:107:第一次在此定義
make[1]: *** [linux] 錯(cuò)誤 1
make[1]: Leaving directory `/curret1/uClinux-dist/linux-2.4.x
make: *** [linux] 錯(cuò)誤 1

解決辦法
在 ~/uClinux-dist/linux-2.4.x/fs/romfs/inode.c的
static(這地方?jīng)]有加上) struct file_operations romfs_file_operations = {

read: generic_file_read,

mmap: generic_file_mmap,

#ifdef MAGIC_ROM_PTR

開(kāi)頭加上static 問(wèn)題就解決

    真是搞不懂,怎么會(huì)出這樣的錯(cuò)誤,而且自己還發(fā)現(xiàn)居然有一個(gè)文件里的函數(shù)少半邊括號(hào)的錯(cuò)誤

也不知道是怎么搞的,哎~~~

    總之吧,這個(gè)肯定是要花不少時(shí)候的 貌似生成的這個(gè)image.bin還運(yùn)行不了,再看看吧,要吃飯去了



關(guān)鍵詞: uclinux編

評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉