大家好:
目前 在开发中遇到一个问题 :
开发环境:(1) 64位的开发板;
(2) kernel: montavista linux cge5.0;
(3)引导工具:grub-0.97;
问题描述:
(1)在64位的服务器上编译grub-0.97,利用CF卡制作启动盘;
(2)将启动盘插到目标板上,在2 G内存条下正常启动;
(3)将内存条换成 4G 内存,grub 在 引导过程中 报28号错误。
kernel /vmlinuz-2.4.20-31.9 root=label=/
[Linux-bzImage, setup=0x1400, size=0xfffff200]
ERROR 28 : Selected item cannot fit into memory
、
上网查了一下 解释如下: 选择的对象无法被加载到内存中。
现在的想法 有两个方面:
一: 会不会是 montavista 编译生成的内核不支持4G内存,但是我在其配置选项中没能找到对内存支持的选项;
二: grub-0.97中是否也需要进行配置,以支持4G内存;
希望有相关经验的朋友能给点宝贵的意见~
谢谢
|
嗯,这个版本应该不支持4G。
给个debian的参考:
Debian支持4G内存
程序总算可以使用4G的内存了,不用重新build内核就可以搞定。
1、查看当前系统版本
执行uname -a
Linux ff 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686 GNU/Linux
其中2.6.18-6-686为内核版本号
2、搜索可安装的版本
执行apt-cache search linux bigmem
linux-headers-2.6.18-5-686-bigmem - Header files for Linux 2.6.18 on PPro/Celeron/PII/PIII/P4
linux-image-2.6.18-5-686-bigmem - Linux 2.6.18 image on PPro/Celeron/PII/PIII/P4
linux-headers-2.6-686-bigmem - Header files for Linux 2.6 on PPro/Celeron/PII/PIII/P4
linux-headers-2.6.18-4-686-bigmem - Header files for Linux 2.6.18 on PPro/Celeron/PII/PIII/P4
linux-headers-2.6.18-6-686-bigmem - Header files for Linux 2.6.18 on PPro/Celeron/PII/PIII/P4
linux-image-2.6-686-bigmem - Linux kernel 2.6 image on PPro/Celeron/PII/PIII/P4
linux-image-2.6.18-4-686-bigmem - Linux 2.6.18 image on PPro/Celeron/PII/PIII/P4
linux-image-2.6.18-6-686-bigmem - Linux 2.6.18 image on PPro/Celeron/PII/PIII/P4
linux-image-686-bigmem - Linux kernel image on PPro/Celeron/PII/PIII/P4
3、切换为root权限安装
找到对应版本的安装包
执行aptitude install linux-image-2.6.18-6-686-bigmem
4、新内核加到开机启动菜单
执行update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.18-6-686-bigmem
Found kernel: /boot/vmlinuz-2.6.18-6-686
Found kernel: /boot/vmlinuz-2.6.18-4-686
Updating /boot/grub/menu.lst ... done
5、重启系统
执行reboot
6、再次检查一下系统版本
执行uname -a
Linux ff 2.6.18-6-686-bigmem #1 SMP Sun Feb 10 22:21:07 UTC 2008 i686 GNU/Linux
网上好几处文章都漏掉了第4步,注意别忘了。
|
1.试试其他4g内存条呢
2.64位板子,才4g内存,应该没问题的
3.自己重新编译一下内核试试
|
如果是内核加载不了内存,建议楼主用2.6的内核做下试验