怎么把ubuntu10.04内核3.5 改为2.6
我有一个usb驱动,供应商提供了驱动,但是驱动要求的是2.6内核,我的是3.5.每次一make 就 说linux/init error
请教大神如何解决? 你好可以直接下载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下的新内核最好对应。
祝好!
那个USB驱动是源代码吗?
如果是,不需要把内核版本降低
可以直接修改usb驱动的 谢谢,我直接下载了一个可以安装的内核。然后跟新了gurb。但是在make驱动的时候还是有出错了,。
回复 2# archer239915
请问是什么错误啊?
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# 不知道是不是驱动本身有问题。请帮我看看。谢谢回复 5# archer239915
请问你是编译在ubuntu上运行的驱动模块还是在ARM开发板上运行的驱动模块?
makefile可以看一下吗?
qq说吧, 1152840423
是在开发板上面用的驱动程序,已经加了。O(∩_∩)O谢谢回复 8# archer239915
重新安装咯。
页:
[1]