免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6736 | 回复: 17
打印 上一主题 下一主题

加入PAE支持,编译内核报错,搞了2天2夜了[已经解决] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-06 15:23 |只看该作者 |倒序浏览
实在是搞不定了,就打算去研究它的内核源代码了...............哭.................


服务器4G内存,bios中能认出4G,系统只认出3G,说是要在加入PAE选项重新编译内核才能认出4个G
(一直没搞明白的,4G内存不需要PAE支持啊,32位刚好能寻址到4G内存啊.........)
uname -a结果
FreeBSD xxx.net 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun May  8 10:21:06 UTC 2005     root@harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386


最后在/usr/src/sys/i386/compile/GENERIC/目录下make时报错
../../../dev/advansys/advansys.c: In function `adv_action':
../../../dev/advansys/advansys.c:260: warning: cast from pointer to integer of different size

通过Google找到三个链接,根据
http://lists.freebsd.org/piperma ... 005-May/015332.html
大概意思是说
先cvsup更新源码,再build world,再确保内核配置文件中加入选项SMP和PAE,并且device scbus没有被注释掉

因此
1.我先进入/usr/src,然后rm -rf *
2.cvsup -h cvsup.freebsdchina.org -g -L2 /usr/share/examples/cvsup/standard-supfile
3.把所有信息记录到mv.out中
script /var/tmp/mv.out

4.make world
cd /usr/src
make -DNOPROFILE -j4 buildworld
make -DNOPROFILE -j4 installworld

5.修改内核配置文件
vim /usr/src/sys/i386/conf/GENERIC
加入以下几行
-------------------
nodevice hptmv
options SMP
options PAE
-------------------
(注:完整的配置文件在最后帖出来)

config GENERIC


6.make
cd /usr/src/sys/i386/compile/GENERIC/
make depend
make
报错:
../../../dev/advansys/advansys.c: In function `adv_action':
../../../dev/advansys/advansys.c:260: warning: cast from pointer to integer of different size
应该如何解决呢?要疯了。。。。。。。。。
以上操作都是ssh上服务器直接操作的,服务器目前只跑了apache,mysql,php,vsftp,sshd,snmpd,以上都是在没有停掉这些服务的情况下操作的。




grep -v "^#" GENERIC
--------完整内核配置文件-------------------------------
machine                i386
cpu                I486_CPU
cpu                I586_CPU
cpu                I686_CPU
ident                GENERIC

nodevice        hptmv
options                SMP
options                PAE
options         SCHED_4BSD                # 4BSD scheduler
options         INET                        # InterNETworking
options         INET6                        # IPv6 communications protocols
options         FFS                        # Berkeley Fast Filesystem
options         SOFTUPDATES                # Enable FFS soft updates support
options         UFS_ACL                        # Support for access control lists
options         UFS_DIRHASH                # Improve performance on big directories
options         MD_ROOT                        # MD is a potential root device
options         NFSCLIENT                # Network Filesystem Client
options         NFSSERVER                # Network Filesystem Server
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                        # MSDOS Filesystem
options         CD9660                        # ISO 9660 Filesystem
options         PROCFS                        # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_GPT                # GUID Partition Tables.
options         COMPAT_43                # Compatible with BSD 4.3 [KEEP THIS!]
options         COMPAT_FREEBSD4                # Compatible with FreeBSD4
options         SCSI_DELAY=15000        # Delay (in ms) before probing SCSI
options         KTRACE                        # ktrace(1) support
options         SYSVSHM                        # SYSV-style shared memory
options         SYSVMSG                        # SYSV-style message queues
options         SYSVSEM                        # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         AHC_REG_PRETTY_PRINT        # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
options         AHD_REG_PRETTY_PRINT        # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.
options         ADAPTIVE_GIANT                # Giant mutex is adaptive.

device                apic                        # I/O APIC

device                isa
device                eisa
device                pci

device                fdc

device                ata
device                atadisk                # ATA disk drives
device                ataraid                # ATA RAID drives
device                atapicd                # ATAPI CDROM drives
device                atapifd                # ATAPI floppy drives
device                atapist                # ATAPI tape drives
options         ATA_STATIC_ID        # Static device numbering

device                ahb                # EISA AHA1742 family
device                ahc                # AHA2940 and onboard AIC7xxx devices
device                ahd                # AHA39320/29320 and onboard AIC79xx devices
device                amd                # AMD 53C974 (Tekram DC-390(T))
device                isp                # Qlogic family
device                mpt                # LSI-Logic MPT-Fusion
device                sym                # NCR/Symbios Logic (newer chipsets + those of `ncr')
device                trm                # Tekram DC395U/UW/F DC315U adapters

device                adv                # Advansys SCSI adapters
device                adw                # Advansys wide SCSI adapters
device                aha                # Adaptec 154x SCSI adapters
device                aic                # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device                bt                # Buslogic/Mylex MultiMaster SCSI adapters

device                ncv                # NCR 53C500
device                nsp                # Workbit Ninja SCSI-3
device                stg                # TMC 18C30/18C50

device                scbus                # SCSI bus (required for SCSI)
device                ch                # SCSI media changers
device                da                # Direct Access (disks)
device                sa                # Sequential Access (tape etc)
device                cd                # CD
device                pass                # Passthrough device (direct SCSI access)
device                ses                # SCSI Environmental Services (and SAF-TE)

device                amr                # AMI MegaRAID
device                arcmsr                # Areca SATA II RAID
device                asr                # DPT SmartRAID V, VI and Adaptec SCSI RAID
device                ciss                # Compaq Smart RAID 5*
device                dpt                # DPT Smartcache III, IV - See NOTES for options
device                hptmv                # Highpoint RocketRAID 182x
device                iir                # Intel Integrated RAID
device                ips                # IBM (Adaptec) ServeRAID
device                mly                # Mylex AcceleRAID/eXtremeRAID
device                twa                # 3ware 9000 series PATA/SATA RAID

device                aac                # Adaptec FSA RAID
device                aacp                # SCSI passthrough for aac (requires CAM)
device                ida                # Compaq Smart RAID
device                mlx                # Mylex DAC960 family
device                pst                # Promise Supertrak SX6000
device                twe                # 3ware ATA RAID

device                atkbdc                # AT keyboard controller
device                atkbd                # AT keyboard
device                psm                # PS/2 mouse

device                vga                # VGA video card driver

device                splash                # Splash screen and screen saver support

device                sc


device                agp                # support several AGP chipsets

device                npx

device                pmtimer

device                cbb                # cardbus (yenta) bridge
device                pccard                # PC Card (16-bit) bus
device                cardbus                # CardBus (32-bit) bus

device                sio                # 8250, 16[45]50 based serial ports

device                ppc
device                ppbus                # Parallel port bus (required)
device                lpt                # Printer
device                plip                # TCP/IP over parallel
device                ppi                # Parallel port interface device


device                de                # DEC/Intel DC21x4x (``Tulip'')
device                em                # Intel PRO/1000 adapter Gigabit Ethernet Card
device                ixgb                # Intel PRO/10GbE Ethernet Card
device                txp                # 3Com 3cR990 (``Typhoon'')
device                vx                # 3Com 3c590, 3c595 (``Vortex'')

device                miibus                # MII bus support
device                bfe                # Broadcom BCM440x 10/100 Ethernet
device                bge                # Broadcom BCM570xx Gigabit Ethernet
device                dc                # DEC/Intel 21143 and various workalikes
device                fxp                # Intel EtherExpress PRO/100B (82557, 8255
device                lge                # Level 1 LXT1001 gigabit ethernet
device                nge                # NatSemi DP83820 gigabit ethernet
device                pcn                # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device                re                # RealTek 8139C+/8169/8169S/8110S
device                rl                # RealTek 8129/8139
device                sf                # Adaptec AIC-6915 (``Starfire'')
device                sis                # Silicon Integrated Systems SiS 900/SiS 7016
device                sk                # SysKonnect SK-984x & SK-982x gigabit Ethernet
device                ste                # Sundance ST201 (D-Link DFE-550TX)
device                ti                # Alteon Networks Tigon I/II gigabit Ethernet
device                tl                # Texas Instruments ThunderLAN
device                tx                # SMC EtherPower II (83c170 ``EPIC'')
device                vge                # VIA VT612x gigabit ethernet
device                vr                # VIA Rhine, Rhine II
device                wb                # Winbond W89C840F
device                xl                # 3Com 3c90x (``Boomerang'', ``Cyclone'')

device                cs                # Crystal Semiconductor CS89x0 NIC
device                ed                # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device                ex                # Intel EtherExpress Pro/10 and Pro/10+
device                ep                # Etherlink III based cards
device                fe                # Fujitsu MB8696x based cards
device                ie                # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device                lnc                # NE2100, NE32-VL Lance Ethernet cards
device                sn                # SMC's 9000 series of Ethernet chips
device                xe                # Xircom pccard Ethernet


device                wlan                # 802.11 support
device                an                # Aironet 4500/4800 802.11 wireless NICs.
device                awi                # BayStack 660 and others
device                wi                # WaveLAN/Intersil/Symbol 802.11 wireless NICs.

device                loop                # Network loopback
device                mem                # Memory and kernel memory devices
device                io                # I/O device
device                random                # Entropy device
device                ether                # Ethernet support
device                sl                # Kernel SLIP
device                ppp                # Kernel PPP
device                tun                # Packet tunnel.
device                pty                # Pseudo-ttys (telnet etc)
device                md                # Memory "disks"
device                gif                # IPv6 and IPv4 tunneling
device                faith                # IPv6-to-IPv4 relaying (translation)

device                bpf                # Berkeley packet filter

device                uhci                # UHCI PCI->USB interface
device                ohci                # OHCI PCI->USB interface
device                usb                # USB Bus (required)
device                ugen                # Generic
device                uhid                # "Human Interface Devices"
device                ukbd                # Keyboard
device                ulpt                # Printer
device                umass                # Disks/Mass storage - Requires scbus and da
device                ums                # Mouse
device                urio                # Diamond Rio 500 MP3 player
device                uscanner        # Scanners
device                aue                # ADMtek USB Ethernet
device                axe                # ASIX Electronics USB Ethernet
device                cdce                # Generic USB over Ethernet
device                cue                # CATC USB Ethernet
device                kue                # Kawasaki LSI USB Ethernet
device                rue                # RealTek RTL8150 USB Ethernet

device                firewire        # FireWire bus code
device                sbp                # SCSI over FireWire (Requires scbus and da)
device                fwe                # Ethernet over FireWire (non-standard!)
--------------------------------------------------------------------------------------------

[ 本帖最后由 flyingkisser 于 2007-6-7 22:11 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-06-06 16:33 |只看该作者
看了一下http://kerneltrap.org/node/630
大概知道怎么解决了,
config内核配置文件时应该 config PAE
再进入到
i386/compile/PAE/
下面make depend;make
不过注释掉几个驱动,不知道reboot还能不能起来,上帝保佑。。。。
正在make中......

论坛徽章:
0
3 [报告]
发表于 2007-06-06 16:39 |只看该作者
原帖由 flyingkisser 于 2007-6-6 15:23 发表
FreeBSD xxx.net 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Sun May  8 10:21:06 UTC 2005     root@harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386



晕倒!5.4

论坛徽章:
0
4 [报告]
发表于 2007-06-06 16:42 |只看该作者
尝试把 -j4去掉

论坛徽章:
0
5 [报告]
发表于 2007-06-06 17:40 |只看该作者
重启完果然连文件系统都mount不起来了,幸好我先在本地测试了。。。。。
刚才cvsup下载的还是5.4-release的代码,尝试一下直接升级到6.2-release下面再编译一下试试

论坛徽章:
0
6 [报告]
发表于 2007-06-06 17:50 |只看该作者
在内核配置文件里加上PAE支持,只需要编译内核

论坛徽章:
0
7 [报告]
发表于 2007-06-06 21:44 |只看该作者
还是报同样的错,
无语了..........
查看了一下相关源码,是变量的类型定义问题,只有在内核配置文件中把那些device给注释掉才能编译过去,不过没有这些驱动连本地虚拟中的FreeBSD系统都跑不起来了。
到底有人成功加入了PAE选项吗?
说说当时的成功经历吧,真得快抓狂了。

论坛徽章:
0
8 [报告]
发表于 2007-06-06 21:47 |只看该作者
原帖由 cyroc 于 2007-6-6 17:50 发表
在内核配置文件里加上PAE支持,只需要编译内核

我一开始就是这么干的,还是报这个错。
现在我在本地虚拟机按照手册来编译内核的,和上面的写的过程不太相同,不过还是报这个错,
真是服了,虚拟到4G内存为什么要启动PAE啊,一点道理也没有啊。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2007-06-06 22:21 |只看该作者
原帖由 flyingkisser 于 2007-6-6 21:47 发表

我一开始就是这么干的,还是报这个错。
现在我在本地虚拟机按照手册来编译内核的,和上面的写的过程不太相同,不过还是报这个错,
真是服了,虚拟到4G内存为什么要启动PAE啊,一点道理也没有啊。
  1. 8.4.1 大内存支持(PAE)
  2. 大内存配置的机器需要超过4GB的虚拟地址。 因为4GB的限制,Intel在Pentium®及后续的CPUs上增加了36位物理地址的支持。

  3. Intel® Pentium Pro和后续的CPUs允许内存地址扩展到64GB.(PAE) FreeBSD通过PAE选项来支持这个能力。 在FreeBSD 4.X系列里面,4.9-RELEASE开始支持,FreeBSD 5.X系列里面,从5.1-RELEASE开始支持。 in the 4.X series of FreeBSD beginning with 4.9-RELEASE and in the 5.X series of FreeBSD beginning with 5.1-RELEASE。因为Intel架构的限制,高于或低于4GB都没有什么区别,内存分配到大于4GB仅仅是增加了可利用的内存池。

  4. 为了让内核支持PAE,只要增加下面这一行到配置文件:

  5. options            PAE
  6. 注意: PAE在FreeBSD里面现在只能支持 Intel IA-32处理器。 同时,还应该注意,FreeBSD的PAE支持没有经过广泛的测试,和其他稳定的特性相比只能当作是beta版。

  7. PAE在FreeBSD下有如下的一些限制:

  8. 进程不能接触大于4GB的VM空间。

  9. KLD 模块不能加载到一个打开了PAE支持的内核里面,这是因为内核模块和内核的建立框架不一样。

  10. 没有使用bus_dma(9)界面的设备驱动程序在打开了PAE支持的内核里面会导致数据腐化(corruption)。因为这个原因,FreeBSD 5.X的PAE内核配置文件 把所有在打开了PAE的内核上不能工作的驱动程序排除在外。

  11. 一些系统打开了探测系统内存资源使用能力的功能,因为打开了 PAE支持,这些功能可能会被覆盖掉。 其中一个例子就是内核参数kern.maxvnodes,它是控制内核能使用的最大vnodes数目的,建议重新调整它及其他类似参数到合适的值。

  12. 为了避免KVA的消耗,很有必要增加系统的内核虚拟地址,或者减少很耗系统资源的内核选项的总量(看上面)。KVA_PAGES选项可以用来增加KVA空间。

  13. 为了稳定和高性能,建议查看tuning(7)手册页。pae(4)手册页包含 FreeBSD'sPAE支持的最新信息。

复制代码

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2007-06-06 22:21 |只看该作者
如果想用2G以上的内存 建议安 AMD64版本的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP