71
78
boot boot using configured environment
72
79
saveenv save current environment permanently
74
- We need to remap fb console, so we are executing following commands
81
- We need to remap fb console to HDMI port, so we are executing following commands
75
82
setenv dev_extras "fbcon=map:1"
78
85
- The following kernel arguments are passed:
79
86
console=ttyS0,115200n8 console=tty1 lp0_vec=0x00002000@0x9C406000 video=tegrafb vmalloc=256M mem=2047M@2048M fbcon=map:1 noinitrd usbcore.old_scheme_first=1 core_edp_mv=1300 panel=lvds tegraid=30.1.2.0.0 debug_uartport=lsport,2 smp tegra_fbmem=3072K@0xBFE00000 max_cpu_cur_ma=10000 root=/dev/mmcblk0p1 rw rootwait gpt
b'\\ No newline at end of file'
89
setenv root_setup "${root_setup}; setenv sata_root /dev/sda5; setenv fs_root \${sata_root};"
91
- Updating to a new kernel (uimg kernel is prepared from zImage using mkimage)
92
setenv bootfile suse.uimg
96
- As of 3.11 I was not able to run upstream kernel on the device.
97
Tegra3 support is in kernel now, but SECO kernel is based upon
98
NVIDIA L4T with additional patches. Accoridng to SECO upatched
99
L4T is not bootable (I have not tried).
101
Building a new kernel
102
=====================
103
- Install cross-toolkit
104
crossdev -S -v --gcc 4.6.3 --libc ~2.15 --kernel ~3.1 --binutils ~2.22 -t armv7a-hardfloat-linux-gnueabi
105
- Fix a problem in main Makefile
106
KBUILD_AFLAGS := -D__ASSEMBLY__ -mfloat-abi=hard -mfpu=vfpv3-d16
107
- For Infiniband-support few kernel files have to be fixed, see patches
108
- Set cross-compiler environment
109
export CROSS_COMPILE=armv7a-hardfloat-linux-gnueabi-
110
- Configure: we need to enable:
111
- Infiniband support (even if OFA drivers will be used)
112
- Large Receive Offload (TCP/IP networking)
114
make && make INSTALL_MOD_PATH=/targetfs modules_install
115
- generate uimage kernel from zImage (-a/-e options may be copied from kernel currently booting)
116
mkimage -A arm -O linux -T kernel -C none -a 0x81008000 -e 0x81008000 -n "Linux 3.1" -d arch/arm/boot/zImage test.uimg
117
- compile ofed modules
118
./configure --with-core-mod --with-ipoib-mod --with-ipoib-cm --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-mlx4-mod --with-mlx4_en-mod --with-mlx4_core-mod --with-mlx4_en-mod --with-mlx4_inf-mod
122
1. Infiniband support is shaky. With changes described in infiniband.txt it is possible
123
to run IB for a while, but system will crash eventualy. The ConnectX-3 works significantly
124
worse than ConnectX-2 and usage of multiple ports worsenes situation considerably.
125
It is highly recommended to disable memory frequency and voltage scalling while configuring
126
the kernel (and probably disable cpufreq as well) and disable PCIe ASPM The recommended driver
127
is 1.5.3. The following should be added to /etc/modprobe.d
128
options mlx4_core msi_x=0
129
options ib_ipoib lro=0
130
2. Tegra FB is also shaky. Seems fine in xorg, but major problems in console. Will trying
131
to configure HDMI output the tegrafb will cause a crash during the boot:
132
tegradc tegradc.1: Using mode 1920x1080 pclk=148500000 href=1 vref=1
133
Unbalanced enable for IRQ 10
134
tegra_dc_hdmi_detect -> tegra_fb_update_monspecs -> fbcon_new_modelist -> tegra_dc_enable -> ...)
135
Normally, but not always, the system survives. However, the console will be
136
not visible. The trick is to switch off-and-on the display and switch between
137
virtual consoles. After few iterations console should appear.
138
- It seems off-on-switching working faster if USE_PLL_LOCK_BITS set 0 in the
139
arch/arm/mach-tegra/clock.h
140
- If I2C is disabled, the system always hangs on hdmi detection.