# memory not taken into account



## philo_neo (Jan 21, 2018)

Hello,
I know how to compile the kernels under FreeBSD, but I'm thinking that it does not fully support the memory of my computer: I have 12288MB Ram or it support only 3000MB, I would like to compile a new kernel with the total memory.
How to do it because I'm not seen in the kernel configuration file about RAM memory settings.

Regards 
Philippe


----------



## Terry_Kennedy (Jan 21, 2018)

philo_neo said:


> Hello,
> I know how to compile the kernels under FreeBSD, but I'm thinking that it does not fully support the memory of my computer: I have 12288MB Ram or it support only 3000MB, I would like to compile a new kernel with the total memory.
> How to do it because I'm not seen in the kernel configuration file about RAM memory settings.


Memory should be auto-detected on all Tier 1 platforms, up to the architectural limit of the platform.

Which is to say, I think you are running an i386 kernel on amd64 hardware. What is the output of `uname -m` and `grep CPU: /var/run/dmesg.boot`?

Note that if I'm right, you will need to do a clean install from the FreeBSD distribution media for the correct architecture as i386 -> amd64 (or the reverse) is not supported as an in-place upgrade.


----------



## philo_neo (Jan 21, 2018)

i have 2 cpu , i think i must install AMD64 distribution ?

```
root@hpc-bella:/usr/home/phipo #  uname -m
i386
root@hpc-bella:/usr/home/phipo # grep CPU: /var/run/dmesg.boot
CPU: Intel(R) Xeon(R) CPU           E5540  @ 2.53GHz (2532.17-MHz 686-class CPU)
root@hpc-bella:/usr/home/phipo #
```


----------



## Chris_H (Jan 21, 2018)

Terry_Kennedy is right; you've built FreeBSD from the 32-bit source, on a 64-bit CPU.
You've either installed your system from the 32-bit version of the install media, or simply used the wrong KERNCONF building you're kernel.
Which KERNCONF did you use?

--Chris


----------



## philo_neo (Jan 21, 2018)

I used the KERNCONF from the i386 distribution.
I am on version 12 of FreeBSD I do not know if it is supported on this forum!
here is my`dmesg` in attached file.

Philippe


----------



## Chris_H (Jan 21, 2018)

Yes. 12-CURRENT is supported here. 
Your Xeon is a 64-bit CPU. You'll want to glean all your hardware recognized from dmesg(8), and ensure they are listed in /usr/src/sys/amd64/conf/GENERIC.
You can comment, or completely remove anything you have no use for in that file. Then save it with a unique name (don't overwrite GENERIC). When you're satisfied save it under it's new unique name. Then make a copy of it somewhere in your home folder, for later use.
In fact, I have a NODEBUG template I use, I think would work well for you:

```
#
# GENERIC-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file
#            for FreeBSD/amd64
#
# This configuration file removes several debugging options, including
# WITNESS and INVARIANTS checking, which are known to have significant
# performance impact on running systems.  When benchmarking new features
# this kernel should be used instead of the standard GENERIC.
# This kernel configuration should never appear outside of the HEAD
# of the FreeBSD tree.
#
# For more information on this file, please read the config(5) manual page,
# and/or the handbook section on Kernel Configuration Files:
#
#    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: head/sys/amd64/conf/GENERIC-NODEBUG 325096 2018-01-09 09:55:27Z chrish $

include YOUR-KERN-NAME

ident   GENERIC-NODEBUG

nooptions       INVARIANTS
nooptions       INVARIANT_SUPPORT
nooptions       WITNESS
nooptions       WITNESS_SKIPSPIN
nooptions       BUF_TRACKING
nooptions       DEADLKRES
nooptions       FULL_BUF_TRACKING
```
You can name this file anything you consider meaningful to you, and copy it to the conf/ folder, along with your new KERNCONF. Then change the `YOUR-KERN-NAME` entry, to whatever you have named your new KERNCONF file, as well as the GENERIC-NODEBUG, to reflect these changes.
When ready to build the kernel; use `make buildkernel KERNCONF=GENERIC-NODEBUG`.

Best wishes!

--Chris


----------



## SirDice (Jan 22, 2018)

Chris_H said:


> Yes. 12-CURRENT is supported here.


Actually, no, it isn't. Not until the first BETA or release candidates come out (tentatively planned for Q1 2019).

Topics about unsupported FreeBSD versions


----------

