sunday151640 发表于 2014-03-07 11:04

怎么把ubuntu10.04内核3.5 改为2.6

我有一个usb驱动,供应商提供了驱动,但是驱动要求的是2.6内核,我的是3.5.

每次一make 就 说linux/init error

请教大神如何解决?

archer239915 发表于 2014-03-07 16:40

你好可以直接下载linux-2.6的内核,解压后
cd linux-2.6
copy /boot/xx.config ./.config 拷贝当前系统的配置
make oldconfig 会相互比较列出额外的配置,需要你选择,选好了配置完成
make all会编译内核和模块
make modules_install会安装模块到/lib/modules/linux-2.6/XX
make install会安装内核到/boot目录下,现在就OK了
运行update-grub 会更新你的启动项,就是grub更新一下,他会找到/boot下新安装的内核,开机就默认启动新内核
gedit /etc/default/grub为了保险,编辑启动项,使grub开机会显示所有的启动项菜单,让你选择,而不是自动启动默认的,所以有问题还可以选择启动原来的

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=-1

最后要说明的是,如果ubuntu在虚拟机上,是SCSI磁盘的话,还要在 /linux-2.6里   mkinitramfs /boot/initrd.img-2.6-XX
这是内核启动要挂载后加载SCSI驱动的,名字和/boot下的新内核最好对应。

祝好!

archer239915 发表于 2014-03-07 16:42

那个USB驱动是源代码吗?
如果是,不需要把内核版本降低
可以直接修改usb驱动的

sunday151640 发表于 2014-03-08 18:27

谢谢,我直接下载了一个可以安装的内核。然后跟新了gurb。但是在make驱动的时候还是有出错了,。

回复 2# archer239915


   

archer239915 发表于 2014-03-08 20:36

请问是什么错误啊?

sunday151640 发表于 2014-03-08 22:43

root@ubuntu:~/Desktop/driver_linux/PssdLinux-ARM-130626# ls
fjveincam.cfjveincam.hMakefile
root@ubuntu:~/Desktop/driver_linux/PssdLinux-ARM-130626# make
make: Entering directory `/usr/src/linux-headers-2.6.35-22-generic'
CC /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.o
In file included from include/linux/irqflags.h:57,
               from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:61,
               from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:27,
               from include/linux/bitops.h:22,
               from include/linux/kernel.h:17,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:19:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/irqflags.h:11: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:27,
               from include/linux/bitops.h:22,
               from include/linux/kernel.h:17,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:19:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:112: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:118: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:122: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h: In function '__xchg':
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:255: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:262: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:27,
               from include/linux/bitops.h:22,
               from include/linux/kernel.h:17,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:19:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h: At top level:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:330: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/system.h:333: error: #error "SMP is not supported on this platform"
In file included from include/linux/bitops.h:22,
               from include/linux/kernel.h:17,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:19:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:237: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/kernel.h:17,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:19:
include/linux/bitops.h:148: error: conflicting types for '_find_first_bit_le'
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:162: note: previous declaration of '_find_first_bit_le' was here
include/linux/bitops.h:158: error: conflicting types for '_find_first_zero_bit_le'
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:160: note: previous declaration of '_find_first_zero_bit_le' was here
include/linux/bitops.h:182: error: conflicting types for '_find_next_bit_le'
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:163: note: previous declaration of '_find_next_bit_le' was here
include/linux/bitops.h:192: error: conflicting types for '_find_next_zero_bit_le'
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/bitops.h:161: note: previous declaration of '_find_next_zero_bit_le' was here
In file included from include/linux/swab.h:6,
               from include/linux/byteorder/little_endian.h:12,
               from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/byteorder.h:21,
               from include/linux/kernel.h:21,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:19:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/swab.h:25: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/thread_info.h:16,
               from include/linux/thread_info.h:56,
               from include/linux/preempt.h:9,
               from include/linux/spinlock.h:50,
               from include/linux/mmzone.h:7,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/fpstate.h:32: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/prefetch.h:14,
               from include/linux/list.h:6,
               from include/linux/preempt.h:11,
               from include/linux/spinlock.h:50,
               from include/linux/mmzone.h:7,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/processor.h:94: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/processor.h:114: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/preempt.h:11,
               from include/linux/spinlock.h:50,
               from include/linux/mmzone.h:7,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
include/linux/list.h: In function 'list_del':
include/linux/list.h:106: error: implicit declaration of function '_AC'
include/linux/list.h:106: error: 'UL' undeclared (first use in this function)
include/linux/list.h:106: error: (Each undeclared identifier is reported only once
include/linux/list.h:106: error: for each function it appears in.)
include/linux/list.h: In function 'hlist_del':
include/linux/list.h:608: error: 'UL' undeclared (first use in this function)
In file included from include/linux/spinlock.h:86,
               from include/linux/mmzone.h:7,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/spinlock.h: At top level:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/spinlock.h:4: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/spinlock.h:5: error: #error SMP not supported on pre-ARMv6 CPUs
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/spinlock.h: In function 'dsb_sev':
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/spinlock.h:10: warning: "__LINUX_ARM_ARCH__" is not defined
In file included from include/linux/spinlock.h:386,
               from include/linux/mmzone.h:7,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/atomic.h: At top level:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/atomic.h:30: warning: "__LINUX_ARM_ARCH__" is not defined
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/atomic.h:153: error: #error SMP not supported on pre-ARMv6 CPUs
In file included from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/page.h:26,
               from include/linux/mmzone.h:20,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/glue.h:119: error: #error Unknown data abort handler type
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/glue.h:160: error: #error Unknown prefetch abort handler type
In file included from include/linux/mmzone.h:20,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/page.h:116: error: #error Unknown user operations model
In file included from /usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/page.h:202,
               from include/linux/mmzone.h:20,
               from include/linux/gfp.h:4,
               from include/linux/slab.h:12,
               from /home/lubor/Desktop/driver_linux/PssdLinux-ARM-130626/fjveincam.c:22:
/usr/src/linux-headers-2.6.35-22-generic/arch/arm/include/asm/memory.h:18: fatal error: mach/memory.h: No such file or directory
compilation terminated.
make: *** Error 1
make: *** Error 2
make: Leaving directory `/usr/src/linux-headers-2.6.35-22-generic'
make: *** Error 2
root@ubuntu:~/Desktop/driver_linux/PssdLinux-ARM-130626#

sunday151640 发表于 2014-03-08 22:47

不知道是不是驱动本身有问题。请帮我看看。谢谢回复 5# archer239915


   

archer239915 发表于 2014-03-08 23:34

请问你是编译在ubuntu上运行的驱动模块还是在ARM开发板上运行的驱动模块?
makefile可以看一下吗?
qq说吧, 1152840423

sunday151640 发表于 2014-03-08 23:47

是在开发板上面用的驱动程序,已经加了。O(∩_∩)O谢谢回复 8# archer239915


   

Hugo801122 发表于 2014-03-11 00:53

重新安装咯。
页: [1]
查看完整版本: 怎么把ubuntu10.04内核3.5 改为2.6