hello all! this is my second topic (the first was too long) , i have this
problem: can't visualize the terminal after the boot of my tiny6410.
this is what i did:
$ ptxdist clean root
$ ptxdist menuconfig
Device Drivers --->
Character devices --->
[*] Virtual terminal
[*] Enable character translations in console
[*] Support for console on virtual terminal...now the screen stay
Graphics support --->
[*] Support for frame buffer devices --->
<*> S3C2410 LCD framebuffer support
Console display driver support --->
<*> Framebuffer Console support
[*] Map the console to the primary display device
[*] Select compiled-in fonts
[*] VGA 8x8 font
remove Qt4-demo
$ ptxdist go
$ ptxdist images
then mount the SD card , format , untar root.tgz in it, plug the SD inside
the TINY.
$ sudo minicom
and switch to on S1 to startup the board
this is what i see on my host:
Welcome to minicom 2.5
OPTIONS: I18n
Compiled on May 2 2011, 10:05:24.
Port /dev/ttyUSB0
Press CTRL-A Z for help on special keys
K
U-Boot 1.1.6-ptx-2011.11.0 (Sep 6 2012 - 01:22:35) for FriendlyARM
MINI6410
CPU: S3C6410@532MHz
Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC
Mod
Board: MINI6410
DRAM: 128 MB
Flash: 0 kB
NAND: 256 MB
MMC:
Setting up an SD card with 3911680 sectors:
Useable area ends with sector 3911678.
BL1 area starts in sector 3911662.
Environment area starts in sector 3911406.
BL2 area starts in sector 3910894.
Kernel area starts in sector 3899374.
1911 MB
*** Warning - bad CRC or MoviNAND, using default environment
In: serial
Out: serial
Err: serial
MAC: 08:90:90:90:90:90
Hit any key to stop autoboot: 0
Reading zImage from block 3899374.. Completed!
Boot with zImage
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 3.0.8-ptx-2011.11.0 (alo@alo-Dell-System-XPS-L702X) (gcc
version 2
CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: MINI6410
Memory policy: ECC disabled, Data cache writeback
CPU S3C6410 (id 0x36410101)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
camera: no parent clock specified
S3C64XX: PLL settings, A=532000000, M=532000000, E=24000000
S3C64XX: HCLK2=266000000, HCLK=133000000, PCLK=66500000
mout_apll: source is fout_apll (1), rate is 532000000
mout_epll: source is epll (1), rate is 24000000
mout_mpll: source is mpll (1), rate is 532000000
mmc_bus: source is mout_epll (0), rate is 24000000
mmc_bus: source is mout_epll (0), rate is 24000000
mmc_bus: source is mout_epll (0), rate is 24000000
usb-bus-host: source is clk_48m (0), rate is 48000000
uclk1: source is dout_mpll (1), rate is 66500000
spi-bus: source is mout_epll (0), rate is 24000000
spi-bus: source is mout_epll (0), rate is 24000000
audio-bus: source is mout_epll (0), rate is 24000000
audio-bus: source is mout_epll (0), rate is 24000000
audio-bus: source is mout_epll (0), rate is 24000000
irda-bus: source is mout_epll (0), rate is 24000000
camera: no parent clock specified
CPU: found DTCM0 8k @ 0c002000, enabled
CPU: moved DTCM0 8k to fffe8000, enabled
CPU: found DTCM1 8k @ 0c004000, enabled
CPU: moved DTCM1 8k to fffea000, enabled
CPU: found ITCM0 8k @ 00000000, not enabled
CPU: moved ITCM0 8k to fffe0000, enabled
CPU: found ITCM1 8k @ 00000000, not enabled
CPU: moved ITCM1 8k to fffe2000, enabled
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: root=/dev/mmcblk0p1 rootwait console=ttySAC0,115200
mini640
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 126568k/126568k available, 4504k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
DTCM : 0xfffe8000 - 0xfffec000 ( 16 kB)
ITCM : 0xfffe0000 - 0xfffe4000 ( 16 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xff600000 - 0xffe00000 ( 8 MB)
vmalloc : 0xc8800000 - 0xf6000000 ( 728 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0020000 ( 96 kB)
.text : 0xc0020000 - 0xc02f2c20 (2892 kB)
.data : 0xc02f4000 - 0xc0312a20 ( 123 kB)
.bss : 0xc0313024 - 0xc033e988 ( 175 kB)
Preemptible hierarchical RCU implementation.
NR_IRQS:246
VIC @f6000000: id 0x00041192, vendor 0x41
VIC @f6010000: id 0x00041192, vendor 0x41
console [ttySAC0] enabled
Calibrating delay loop... 528.79 BogoMIPS (lpj=2643968)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
NET: Registered protocol family 16
MINI6410: Option string mini6410=0
MINI6410: selected LCD display is 480x272
s3c64xx_dma_init: Registering DMA channels
PL080: IRQ 73, at c8804000, channels 0..8
PL080: IRQ 74, at c8806000, channels 8..16
S3C6410: Initialising architecture
s3c-adc s3c64xx-adc: attached adc driver
s3c24xx-pwm s3c24xx-pwm.1: tin at 66500000, tdiv at 66500000, tin=divclk,
base 8
bio: create slab <bio-0> at 0
s3c-i2c s3c2440-i2c: slave address 0x10
s3c-i2c s3c2440-i2c: bus frequency set to 64 KHz
s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
Switching to clocksource pwm_timer4
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables con...stripped-down
TINY6410 startup with console
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 247
io scheduler noop registered (default)
s3c-fb s3c-fb: window 0: fb
s3c6400-uart.0: ttySAC0 at MMIO 0x7f005000 (irq = 16) is a S3C6400/10
s3c6400-uart.1: ttySAC1 at MMIO 0x7f005400 (irq = 20) is a S3C6400/10
s3c6400-uart.2: ttySAC2 at MMIO 0x7f005800 (irq = 24) is a S3C6400/10
s3c6400-uart.3: ttySAC3 at MMIO 0x7f005c00 (irq = 28) is a S3C6400/10
at24 0-0050: 1024 byte 24c04 EEPROM, writable, 16 bytes/write
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-nand s3c6400-nand: Tacls=4, 30ns Twrph0=8 60ns, Twrph1=6 45ns
s3c24xx-nand s3c6400-nand: NAND soft ECC
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V
8-b)
Scanning device for bad blocks
Bad eraseblock 391 at 0x0000030e0000
Bad eraseblock 1325 at 0x00000a5a0000
Bad eraseblock 1537 at 0x00000c020000
Bad eraseblock 1838 at 0x00000e5c0000
Creating 3 MTD partitions on "nand":
0x000000000000-0x000000100000 : "uboot"
0x000000100000-0x000000300000 : "kernel"
0x000000300000-0x000010000000 : "rootfs"
dm9000 Ethernet Driver, V1.31
eth0: dm9000a at c885c000,c885e004 IRQ 108 MAC: 08:90:90:90:90:90 (chip)
input: gpio-keys as /devices/platform/gpio-keys/input/input0
samsung-ts s3c64xx-ts: driver attached, registering input device
input: S3C24XX TouchScreen as /devices/virtual/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c-rtc s3c64xx-rtc: rtc disabled, re-enabling
s3c-rtc s3c64xx-rtc: rtc core: registered s3c as rtc0
s3c-rtc s3c64xx-rtc: warning: invalid RTC value so initializing it
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
s3c-sdhci s3c-sdhci.0: clock source 0: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.0: clock source 1: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.0: clock source 2: mmc_bus (24000000 Hz)
mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.1: clock source 1: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.1: clock source 2: mmc_bus (24000000 Hz)
mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
TCP cubic registered
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
s3c-rtc s3c64xx-rtc: setting system clock to 2000-01-01 00:00:00 UTC
(946684800)
Waiting for root device /dev/mmcblk0p1...
mmc0: new SD card at address 0002
mmcblk0: mmc0:0002 00000 1.86 GiB
mmcblk0: p1
mmc1: new SDIO card at address 0001
EXT2-fs (mmcblk0p1): warning: mounting unchecked fs, running e2fsck is
recommend
VFS: Mounted root (ext2 filesystem) on device 179:1.
devtmpfs: mounted
Freeing init memory: 96K
init started: BusyBox v1.18.5 (2012-09-06 01:05:36 CEST)
starting pid 219, tty '/dev/console': '/etc/init.d/rcS'
mounting filesystems...done.
running rc.d services...
starting udev
mounting tmpfs at /dev
creating static nodes
starting udevd...done
waiting for devices...done
Starting telnetd...
starting network interfaces...
loading modules
starting pid 290, tty '/dev/console': '/sbin/getty -L 115200 ttySAC0 vt100'
____ _______ __
| _ `_ _` `/ /
| |_) || | ` /
| __/ | | / `
|_| |_| /_/`_`
_ _ __ _ _ _ ___
_ __ ___ (_)_ __ (_)/ /_ | || | / |/ _ `
| '_ ` _ `| | '_ `| | '_ `| || |_| | | | |
| | | | | | | | | | | (_) |__ _| | |_| |
|_| |_| |_|_|_| |_|_|`___/ |_| |_|`___/
OSELAS(R)-Mini6410-2011.11.0 / mini6410-2011.11.0
ptxdist-2011.10.1/2012-09-09T17:53:02+0200
mini6410 login: root
login[290]: root login on 'ttySAC0'
root@mini6410:~ cd /
root@mini6410:/ ls
EXT2-fs (mmcblk0p1): error: ext2_lookup: deleted inode referenced: 12
ls: ./helloARM: Input/output error
PRG etc lost+found root sys var
bin home mnt run tmp
dev lib proc sbin usr
root@mini6410:/ cd dev
root@mini6410:/dev ls
block mmcblk0p1 pts
char mtd0 random
console mtd0ro rtc0
core mtd1 shm
cpu_dma_latency mtd1ro stderr
disk mtd2 stdin
fb0 mtd2ro stdout
fd mtdblock0 tty
full mtdblock1 ttySAC0
input mtdblock2 ttySAC1
kmem network_latency ttySAC2
kmsg network_throughput ttySAC3
mem null urandom
mmcblk0 ptmx zero
WHERE IS TTY0 or TTY1??????
to see the terminal on the TINY LCD many people suggest me to:
ptxdist kernelconfig->boot options->and change the line:
console=ttySAC0,115200 root=/dev/ram init=/linuxrc initrd=0x51000000,6m
ramdisk_size=6144
to:
consol...stripped-down
to: console=tty0 root=/dev/ram init=/linuxrc initrd=0x51000000,6m ramdisk_size=6144 when i do it ,naturally, i obtain the error: process '/sbin/getty -L 0 tty1 vt100' (pid 294) exited. Scheduling for restart. can't open /dev/tty1: No such file or directory this is the all procedure that i did , in the same order that i did. what is wrong???
Maybe you need to change: > console=tty0 root=/dev/ram init=/linuxrc initrd=0x51000000,6m > ramdisk_size=6144 to console=tty1 root=/dev/ram init=/linuxrc initrd=0x51000000,6m ramdisk_size=6144
dosn't work... if you look , when i digit root@mini6410:/dev cd /dev root@mini6410:/dev ls block mmcblk0p1 pts char mtd0 random console mtd0ro rtc0 core mtd1 shm cpu_dma_latency mtd1ro stderr disk mtd2 stdin fb0 mtd2ro stdout fd mtdblock0 tty full mtdblock1 ttySAC0 input mtdblock2 ttySAC1 kmem network_latency ttySAC2 kmsg network_throughput ttySAC3 mem null urandom mmcblk0 ptmx zero tty0 and tty1 etc. etc. not exist!!
Try making /dev/tty1 http://linux.about.com/library/cmd/blcmdl1_mknod.htm
i make: $mknod /dev/tty1 c 2 0 and now: root@mini6410:/dev ls block mtd0 rtc0 char mtd0ro shm console mtd1 stderr core mtd1ro stdin cpu_dma_latency mtd2 stdout disk mtd2ro tty fb0 mtdblock0 tty1 fd mtdblock1 ttySAC0 full mtdblock2 ttySAC1 input network_latency ttySAC2 kmem network_throughput ttySAC3 kmsg null urandom mem ptmx zero mmcblk0 pts mmcblk0p1 random but if restart the board tty1 disappear. O.o
Because most of the people, including me, use PTXdist on the mini2440?? /etc/profile.environment is run everytime you boot the board. If that command: $mknod /dev/tty1 c 2 0 is in it, then tty1 should appear in /dev Why you need to do this, when I don't have to do it on a mini2440, I can not answer.
Ah, sorry . . . you now get tty1 appearing in /dev and want to know how does the hardware know that is (or should be the) the display. Can't answer that either. Have other people had this problem on the tiny6410?
i dont't know... i want only a normal linux kernel working on my board...i don't understand what is wrong , I repeated operations with ptxdist dozens of times, with different combinations of kernelconfig, but I can not see the terminal on the LCD, I can not see tty0 tty1 etc .... who can help me?
I have added one line for Qt in /etc/init.d/rcS file now after restarting Terminal is not coming display is white(Tiny6410) .What to do nw..
Maybe, tell people what the line is. Can we assume if you remove the line normal operation is restored?
The only thing I can offer is to look at udev, assuming that you are using it to populate the /dev/ tree. If you are not seeing tty0, tty1, etc, you might need to add them to /lib/udev/defaults/ (IIRC) ... udev makes the devices that are in that folder as part of the /dev/ tree on startup. I had to do this to get my SD card to show up on my Mini6410 (2.6.38); once I added the entry in /lib/udev/defaults/, I was able to access it normally from /dev/. Had to do this to access the NAND file system as well. Hope this helps
Just to ammend my last post now that I got into the board ... the folder is /lib/udev/devices/, not /lib/udev/defaults/. And I am seeing the same thing as you are - tty1 - tty6 are non-existent on my from source build (stock kernel 3.8.7 + patches). Going to try a few things and post back if I get any good results.
Did you enable devtmpfs in your kernel config? And "Automount devtmpfs at /dev, after the kernel mounted the rootfs"? Both is required for recent kernels and recent udev.
@Juergen I have both of those enabled, but still had to manually create the nodes. I am also seeing where agetty is "respawning too fast; disabling for 5 minutes". My inittab contains 1:2345:respawn:/sbin/agetty tty1 38400 2:2345:respawn:/sbin/agetty tty2 38400 3:2345:respawn:/sbin/agetty tty3 38400 4:2345:respawn:/sbin/agetty tty4 38400 5:2345:respawn:/sbin/agetty tty5 38400 6:2345:respawn:/sbin/agetty tty6 38400 I originally had the baud rate at 9600, but saw it set to 38400 on most of my other machines, so I figured I would try that instead; same result. Just as an aside, I am also not seeing the touchscreen in the /dev/ folder. I do have a framebuffer device (fb0), but nothing related to the touchscreen or the backlight devices, and both are compiled into the kernel.
Just noticed that "Virtual Terminal" (CONFIG_VT) support under character devices is presently unchecked. I had not really gone through the kernel before building it, going with the stock settings from the PTXdist 3.8 kernel setup. I wonder if this is why I am not getting my tty's to come up.
That was it. Enabling "Virtual Terminal" gave me tty0 - tty63 without having to make the nodes first, so that should solve @Luigi's problem, too. I also enabled pty support (saw that it was enabled in the FA config for 2.6.38) which gave me ptyp0 - ptypf and ttyp0 - ttypf as devices. I also am no longer getting the "respawning too fast" error. I still cannot get the touchscreen to come up and be a console; display is all white, then fades to greyscale snow. There is still no /dev/touchscreen nor /dev/touchscreen-1wire in my /dev/ folder.
What kernel do you use? Mainline from kernel.org? If yes, the Mini6410
support isn't feature complete. And '/dev/touchscreen' is very FA specific.
Regular kernels supporting a touchscreen via the "input subsystem"
("/dev/event/...")
3.8.7 from kernel.org, plus patches from ptxdist.
I have /dev/input/event{0,1,2}, but no input from the touchscreen. I also
have no display on the touchscreen; basically a screenful of snow.
There has to be something that I am overlooking, and for knowing as little
as I do about kernel development, this has been a real crash course for me.
I know the touchscreen is getting added to the kernel, but it is listed in
the kernel as "Tiny6410", not "Mini6410". My assumption is that this makes
no difference, but is that a flawed assumption? Should there be a
"mini6410-ts" instead of "tiny6410-ts"?
For what it's worth ... I have the following enabled in the kernel:
Device Drivers
Input device support
Mouse interface
Provide legacy /dev/psaux device
Horizontal screen resolution (800)
Vertical screen resolution (480)
Event interface
Keyboards
GPIO Buttons
Touchscreens
Samsung S3C2410/generic touchscreen input driver
Tiny6410 1-wire Touchscreen
Miscellaneous devices
PWM beeper support
Character devices
Virtual terminal
Enable character translations in console
Support for console on virtual terminal
Unix98 PTY support
Legacy (BSD) PTY support
Serial drivers
Samsung SoC serial support
Support for console on Samsung SoC serial port
Graphics support
Support for frame buffer devices
Samsung S3C framebuffer support
Backlight & LCD device support
Lowlevel Backlight controls
Generic PWM based Backlight Driver
Backlight driver for Tiny6410 board LCD module
Console display driver support
Framebuffer Console support
Map the console to the primary display device
Select compiled-in fonts
VGA 8x8 font
VGA 8x16 font
Mini 4x6 font
As I was going through all this, I noticed that the lowlevel LCD controls
are not selected, nor are any of the Samsung drivers beneath it ... going
to give that a try and see what happens.
Not sure if this was needed, but I did notice that the display went from
gray snow to all white when I added these ...
Device drivers
Graphics support
Backlight & LCD device support
Lowlevel LCD controls
Samsung LMS283GF05 LCD
Samsung LTV350QV LCD Panel
I use the 7" A70 display ... not sure if either of the ones listed above
equate out to that. I noticed that there is an "extended" setup for the
Samsung S3C framebuffer support in the FA 2.6 kernel; this does not exist
in the stock 3.8 ... will have to see what module/support gets compiled in
as part of the 2.6 kernel by enabling those settings ...
What finally got the screen to display properly took some perusing of the
dmesg log .... the kernel needs to be told "mini6410=1" to get my display
to be chosen. Otherwise, it assumes "mini6410=0", which appears to be the
4.3" display (480x372, IIRC). Forcing it to 1 makes it select the 7"
display (800x480).
Hope this winds up helping someone out there who is having a similar issue
... I'm done 'til Monday :) Cheers and have a great weekend to all.
> [...] > Lowlevel LCD controls > Samsung LMS283GF05 LCD > Samsung LTV350QV LCD Panel This is not from the current 3.8.8 kernel. It seems to be from the FA pached kernel. If you are using my kernel patches for the Mini6410 (or S3C6410 SoC) the 'mini6410' kernel parameter is relevant. If you had read my PDF for the Min6410 BSP you already had known what the correct kernel parameter for your display is... BTW: maybe you will find the missing clock (or what else) to make the USB work in the Mini/Tiny6410. :) Happy hacking
Actually, I did read the PDF for the Mini6410 BSP, but amongst all the documentation I've gone through the past couple of weeks, I am sure I simply missed that little tidbit. :) I'm just glad I have a display at this point. I will be looking into the USB on Monday; I have a USB keyboard attached to the board which has been working great with the Debian install I had on the board, but it is not working at the moment with this build. With luck, it will be simple enough to fix. Granted, the couple of problems fixed in this thread were simple enough looking back ... Hindsight and knowing what the problem actually was always makes things appear more simple than they were when you were trying to fix it in the first place. :P


