uclinux編譯
在網上找的一些內核配置資料一點用也沒有,只會增加麻煩。編譯的時候,不是這里出錯,就是那里沒發(fā)現的,哎,~~ 最后還是在官網上找到一條路:除了配置符合廠商的板子外,其他全用默認的配置~~結果編譯的時候還是出了兩個錯誤。在用了3萬2千1百9十9招google之后,終于解決了,如下:
本文引用地址:http://www.ex-cimer.com/article/201611/323263.htm錯誤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/
錯誤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] 錯誤 1
make[1]: Leaving directory `/curret1/uClinux-dist/linux-2.4.x
make: *** [linux] 錯誤 1
解決辦法
在 ~/uClinux-dist/linux-2.4.x/fs/romfs/inode.c的
static(這地方沒有加上) struct file_operations romfs_file_operations = {
read: generic_file_read,
mmap: generic_file_mmap,
#ifdef MAGIC_ROM_PTR
開頭加上static 問題就解決
真是搞不懂,怎么會出這樣的錯誤,而且自己還發(fā)現居然有一個文件里的函數少半邊括號的錯誤
也不知道是怎么搞的,哎~~~
總之吧,這個肯定是要花不少時候的 貌似生成的這個image.bin還運行不了,再看看吧,要吃飯去了
評論