run only console style linux on tiny6410

Luigi
hi all i want to take a little of your time with some stupid questions
about my friendlyARM tiny6410 board....

this is my target:
write a simple .c or .c++ program and run on the board.

this is what i managed to do:
-install (by SD) and run (on FLASH) linux
-compile simple program (using gcc) (and run on pc x86)

now i have this questions:

1-when linux run , QT o.s. start too , but i want only linux console style
, what i have to do to make start only linux.

2-where i have to put the executable file (compiled sample .c file) , and
what i have to do to run it?

3-after i have do the points 1 and 2 , i want to write some simple GUI in
c++ (gtk+ or other) compile and run it on the board , with your experience
do you think that is possible obtain a quality GUI (in term of beauty ,
like modern smartphones) or you sugest me a different way?

thanks a lot for your time.
and of course sorry for the noob questions.

ciao
Luigi

Titus Breidung
Hi Luigi,

1 - QT is called in the init scripts. You find them usually in the
directory /etc/init.d. 

2 - You can put your program where you like and call it in an init script
too. If you don't write a "real" daemon put an "&" after your program call
to start it in background. Otherwise it would block the system on startup.

3 - QT is fine for a GUI or you can try for example direct Framebuffer
(directfb). In this case you have to compile another root system, look e.g.
for OSELAS Pengutronix BSP for Mini6410.

But if you want a GUI like android, why don't take an android system on
6410?

Titus

Luigi
about gui ,somethings like this (just an example):
http://www.youtube.com/watch?v=YTc3H9b713Y&feature=related

i don't know where to start to make something like in the video...can you
sugest me a way?what kind of software (possible free) , lenguage? etc.

now try to modify init.d thanks very much for the info.

Titus Breidung
Hmm... with directfb you are fully free. But it will be a lot of work. I
have no experience with 6410, but i think it makes no sense to use the
default system which doesn't include directfb.
Try compiling your own with Pengutronix for 6410 and choose the directfb
packages and examples. I presume they are included there like in the 2440
BSP. More info on directfb you get there:

http://directfb.org

Language is c++

The Pengutronix BSP is located there:

http://www.pengutronix.de/oselas/bsp/pengutronix/mini6410_bsp_de.html

Read the Quickstart.pdf first ;-)

Good luck!

Luigi
ok Titus , i have installed linux by SD card following the frielndly arm
tutorial , then i have opened the terminal inside qtopia and make:
cd etc/init.d
and found inside this 2 files:
'ifconfig-eth0' 'rcS'

what i have to do now??? 


many thanks for other informatios

Titus Breidung
You have to edit the file rcS. There is the QTopia called. Comment out the
line where it is called.

Luigi
i'm sorry Titus for the many and stupid question , but the command 'nano'
dosn't work , what i have to do to edit this file??

Titus Breidung
Hmmm... try it with "ed", this command should be included in busybox

sean_h
Try: vi

Luigi
thanks for the fast reply.
perfect , i try first the command 'ed' and this give me back only  the file
informations , then i try with 'vi' (VIsual editor){thanks sean_h} and it
works, with this can modify the file.
so i open it and this is what appear:(i think all is useful for other user
that have the same problem)


#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel

#
#  Trap CTRL-C &c only in this shell so we can interrupt subprocesses.
#
trap ":" INT QUIT TSTP
/bin/hostname FriendlyARM

[ -e /proc/1 ]    || /bin/mount -n -t proc  none /proc
[ -e /sys/class ] || /bin/mount -n -t sysfs none /sys
[ -e /dev/tty ]   || /bin/mount    -t ramfs none /dev
/bin/mount -n -t usbfs none /proc/bus/usb

echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s
/bin/hotplug
# mounting file system specified in /etc/fstab
mkdir -p /dev/pts
mkdir -p /dev/shm
/bin/mount -n -t devpts none /dev/pts -o mode=0622
/bin/mount -n -t tmpfs tmpfs /dev/shm
/bin/mount -n -t ramfs none /tmp
/bin/mount -n -t ramfs none /var
mkdir -p /var/empty
mkdir -p /var/log
mkdir -p /var/lock
mkdir -p /var/run
mkdir -p /var/tmp

/sbin/hwclock -s

syslogd
/etc/rc.d/init.d/netd start
echo "                        " > /dev/tty1
echo "Starting networking..." > /dev/tty1
sleep 1
/etc/rc.d/init.d/httpd start
echo "                        " > /dev/tty1
echo "Starting web server..." > /dev/tty1
sleep 1
/etc/rc.d/init.d/leds start
echo "                        " > /dev/tty1
echo "Starting leds service..." > /dev/tty1
echo "                        "
sleep 1

echo "                        " > /dev/tty1
/etc/rc.d/init.d/alsaconf start
echo "Loading sound card config..." > /dev/tty1
echo "                        "

/sbin/ifconfig lo 127.0.0.1
/etc/init.d/ifconfig-eth0

/bin/qtopia &
echo "                                  " > /dev/tty1
echo "Starting Qtopia, please waiting..." > /dev/tty1


at this point i start to make experiments , first i simply comment the
line:

#/bin/qtopia &

but the result is that , after save all ,when restart the board , appear
the penguin image , all the echo (like Starting networking... ) and then
all stop...

so i try to insert after the commented line a command to start the terminal
but nothing work...try with 'terminal' and 'xterm' command.

so what can i do to make terminal visible?

i lost many many times , cause every time make a test(and it dosn't work) ,
i have to reinstall linux through SD card , go to terminal inside QTOPIA
and modify the file...

davef
Sounds like you are running the root filesystem from an SD card?

If so, then after modifying a file you should do a <sync> after any
changes.  If you reset the mini2440 within a short period, ie seconds after
editing and saving a file the change does not "stick".

It is a long time since I used this rcS file.  Is there an /etc/inittab
file in this root filesystem?

To get terminal going there should be something like:

console::respawn:/sbin/getty -L 9600 tty1 vt100

somewhere. 

Also, it sounds like you need to setup a remote terminal on your host, ie
minicom  so that you can modify files without a working screen or keyboard
on your target.

Titus Breidung
Oops, you always flash anew to make changes under Qtopia? This is wasting
time indeed!

Make your changes using the serial console like Dave said or... the most
comfortable way do work is setting up nfs boot and place the root
filesystem on host. The way to do that is described in several threads in
the forum and in Bill's Blog:

http://bill.station51.net/index.php?post/2010/06/16/HOWTO%3A-Booting-fro...

Luigi
for davef:
no , i only install the system from SD not run from it.

i have urgently to buy a usb-rs232 convert to setup from my host via serial
port , but i think that the problem will be the same...

because i think that modify the file rcS from the terminal in Qtopia (on
board) is the same thing that modify it from the host (in my pc) {only
waste more time} , but the result is that after the reboot:

Starting networking...
Starting web server... 
Starting leds service...
Loading sound card config...

and then nothig , all stop here , i want the terminal on my board.

you think is possible? or the only solution is to send comands from host?

Titus Breidung
Like Dave wrote, put an entry like

console::respawn:/sbin/getty -L 9600 tty1 vt100

to /etc/inittab

For making inputs you must attach a USB keyboard, but i don't know if there
is a driver for it in the root system.

Try it and good luck!

Luigi
seems impossible but /etc/inittab dosn't exist!!
ahahahahaah

Titus Breidung
Hmm... anyway i wonder if you really get lucky with the old and dustily
example root filesystem delivered with the board ;-)

The root filesystem of 2440 has /etc/inittab, the one of the 6410 i don't
know, but it is severely aged too.

In my opinion it would make sense to compile a new one like mentioned in my
second post above. Then you have all possibilities to include the things
you really need in particular if you want to build complex graphics later
on.

BTW, it is no fun to work with the framebuffer terminal. I would suggest to
buy a usb-serial converter. In my experience the adapter with pl2303
chipset are not useful because they cause a lot of noise and wrong
characters. I tested it with different hosts and all has bad results.
Really good are adapters with the FTI chipset.

What do you want to do with the terminal on framebuffer?

Luigi
yes i'm really lucky...XD
so , i try to make a new file named 'inittab' and insert in it the line :
console::respawn:/sbin/getty -L 9600 tty1 vt100
suggested from Dave
when i have rebooted the board , the penguin image was appear , but then
all stopped  , not even  the echo line like: Starting networking...
Starting web server...  appear.
so i think that make a new file inittab work , but the line inside doesn't.

now i try to install and make working all the Pengutronix stuff , hope that
i will not  find problems , and hope that vice versa i can ask here for
help.

what i want to do?
i think that flashing a led and reading an A/D converter is a big waste of
power calculation and doesn't need an ARM11 processor , are sufficent a
micrcohip PIC to do that , so i'm interested in application that require
big power in term of calculation and little time execution like GUI , and
graphical application and..why not..image processing...i'm an electronic
engeneer and i'm not interested in an abstraction like  S.O. , but
understand that i have to study it , so i'm very noob ,expecially with
linux .

for me make something like see in the video posted before , is a big 
target.

thanks very much for you time.

Luigi

davef
I think there is more to do than just "throwing a file called /etc/inittab
into your root filesystem" to get a terminal going.

Read about the Busybox init process. Search </etc/inittab init(8)
configuration for Busybox>

If you restore rcS to its original state does Qt and the terminal
re-appear?

"terminal" is an application run from Qtopia so if Qtopia commented out you
will only have the previous applications running.

Titus Breidung
You are right, Dave, but with console::respawn:/sbin/getty -L 9600 tty1
vt100 you assign the console, which is per default assigned to ttySAC0, to
tty1, which is the framebuffer. This console is the standard input and
output and i think that is what Luigi wants. I have not tested it, but it
should work.

Luigi
please Titus , let me know as soon as you have news about..

Dave , i don't restore rcs file , i reinstall all the system.

Titus Breidung
For me on my root filesystem (OSELAS Pengutronix for Mini2440) it works
with changing the console entry in /etc/inittab.

If it works, when you simply add an inittab file to your /etc directory i
don't know and cannot test it.

Try it for yourself or follow Dave's advice to study the busibox manual.

My /etc/inittab contains:

console::sysinit:/etc/init.d/rcS
console::respawn:/sbin/getty -L 115200 ttySAC0 vt100

# Stuff to do before rebooting
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r

Good luck!

Titus Breidung
Don't change 

console::sysinit:/etc/init.d/rcS

It is needed for invoking the rcS.

Maybe you have to add "null::sysinit:/etc/init.d/ifconfig-eth0" above of
this line to call your network settings in /etc/init.d

Change only the line with console::respawn........

This are only suggestions what i would try in your situation...

But... it really would be better to compile a new root filesystem for your
work! ;-)

Luigi
ok , i'm trying to install all pingutronix dev.tools

so , i have installed ptxdist , and download all the necessary file for the
tiny6410 , in the end i set the platform and tool chain

$ptxdist platform configs/platform-friendlyarm-mini6410/platformconfig

$ptxdist toolchain
/opt/OSELAS.Toolchain-2011.03/arm-1136jfs-linux-gnueabi/&#8629;
gcc-4.5.2-glibc-2.13-binutils-2.21-kernel-2.6.36-sanitized/bin


and all go ok , but when put 

$ptxdist go

to Build the Root Filesystem , i have a banal error , but i don't know how
to resolve it:


Connecting to www.pengutronix.de|78.47.139.85|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2012-08-24 00:02:28 ERROR 404: Not Found.


Could not download packet
URL:
http://www.daniel-baumann.ch/software/dosfstools/dosfstools-3.0.9.tar.bz2

make: ***
[/home/alo/Scrivania/pengutronix/OSELAS.BSP-Pengutronix-Mini6410-2011.11.0/src/d
osfstools-3.0.9.tar.bz2]
Error 1



404 not found!!!!
anyone have experience with this error?

Titus Breidung
Maybe some links to the sources are broken. Then search with google for
alternative downloads for the file and download it manually. Put the
downloaded file in your pengutronix download directory and start again.

dosfstools-3.0.9.tar.bz2 you find e.g. there:

http://pkgs.fedoraproject.org/repo/pkgs/dosfstools/dosfstools-3.0.9.tar....

Before building with ptxdist go you can download all necessary files with
the command 'ptxdist get'.

This prevents from interrupted building due to broken source links.

Titus Breidung
Another tip for building:

If you have more then one processor core on your host invoke building with
parameter -ji<number_of_cores>

I.e. for example when you have 4 cores:

ptxdist go -ji4

This increases building speed dramatically ;-)

Luigi
ok thanks , so i can download with ptxdist get , or download manualy and 
put the uncompressed file inside download pengutronix directory.

now try.

about ptxdist go -ji4 ...thanks!!!!!! i have 7 core XD

Titus Breidung
With ptxdist get you can try to automatically download all sources at once
before compiling. A manually download is needed when ever a source can not
be found at the link ptxdist knows. But it is easier to do all the download
stuff automatically or manually first.

7 cores? I never heard about processors with an odd amount of cores. But
ok, if it is ;-)

Luigi
sorry 8 core , i have one intel i7....in specific 4 physical core, 8
threads (2 threads for core).

ok i have downloaded all the necessary files

commands 'ptxdist go' and 'ptxdist images' are successful, I have
successfully created all the necessary files:

-linuximage
-root.jffs2
-u-boot.bin
-folder 'root' (and the .tgz file)

then , up to this point all perfect.
I went to the second point, boot from sd card:

the tutorial says:

$ Sudo platform-mini6410/sysroot-host/bin/mini6410-flasher /dev/sdd -b
platform-mini6410/images/u-boot.bin -k platform-mini6410/images/linuximage

to recall the mini6410-flasher and create the necessary partitions inside
SD, it also says to replace '/dev/sdd' with the name of your 'setup'.

setup?

ok, I thought I'd enter the name that appears to me to access my sd-card,
ie: /media/FRIENDLYARM

(FRIENDLYARM is the label of the sd-card)

so I make:

Platform-mini6410/sysroot-host/bin/mini6410-flasher $ sudo /media/
FRIENDLYARM -b platform-mini6410/images/u-boot.bin -k
platform-mini6410/images/linuximage

but I get the following error:

open /media/FRIENDLYARM/ failed

I have tried to change the access permissions of the folder /media/ ....
with the command chmod 777 -R /media
but the error remains ...

you know how  can I solve? What am I doing wrong?


many many many thaks
Luigi

Titus Breidung
I have no experiences with the 6410, but i think it means, that you should
replace with the device the sd has in your system. /dev/sdb or /dev/sdc or
/dev/sdd or whatever.

Luigi
yes Titus , but this is the problem!
i don't have /dev/sdb or dev/sdc or /dev/sdd
to read the SD-card i use /media/FRIENDLYARM
where FRIENDLYARM is the label of the SD
but if I put this path i have the error:
open /media/FRIENDLYARM/ failed

????? there is another way to open the SD???

Titus Breidung
/media/FRIENDLYARM is the directory, where the sd is mounted, not the
device.

Take a look at /dev, which sdX are present there. The partitions are signed
by a number. /dev/sdx is the card, /dev/sdx1 the first partition and so on.

Titus Breidung
And... the device assigned to sd on your host is not necessary the same on
the 6410...

Luigi
eureka!!! i found it! /dev/mmcblk0

why my life is so hard????


ok, I installed successfully booting the mini6410-flasher, which pointed me
to the last partition to the cell 7614445.
Then I created the partition that contains the image seconta

$ Sudo / sbin / fdisk / dev/mmbcblk0
Command (m for help): n
Command action
and extended
p primary partition (1-4)
p
Partition number (1-4): 1
etc.. etc..
when asked last sector: enter 7614445
Command (m for help): p
Command (m for help): w
$ Sudo / sbin/mkfs.ext2 / dev/mmblk0

I get the partition mmcblk0p1

$ Sudo mount / dev/mmcblk0p1 / mnt
$ Sudo tar - directory = / mnt-xzf platform-mini6410/images/root.tgz
$ Sudo umount / mnt

at this point the tutorial is over, says to insert the SD card into
friendlyarm, put the S2 to SD-boot and switch on the card ....

DOES NOT WORK! everything is fine on the host, no warnings. no errors, but
as I turn on the friendlyarm, the display is white and all the LEDs rhyme
slightly turned on , and nothing happen.

the dev-tool name of pengutronix is for mini6410, I have tiny6410.
is the same thing or not?, or should I change something?


at this point the tutorial is over, says to insert the SD card into
friendlyarm, put the S2 SD-boot and switch on the card ....

DOES NOT WORK! everything is fine on the host, no warnings. no errors, but
as I turn on the friendlyarm, the display is white and all the LEDs rhyme
slightly turned on.

Titus , you are really patient with me , thanks a lot , i know that i make
many questions , but are really many times that i try to make working my
tiny6410.

Titus Breidung
Have you connected the serial console? At this point it is important to
look what the bootloader is trying to tell you.

Has the kernel the name the boot loader expects? The Pengutronix linuximage
have to be renamed to the expected name or maybe in the friendlyarm.ini you
can change the name of the kernel.

Unfortunately i can only conjecture. I have no 6410 and no experience with
that board.

Luigi
friendlyarm.ini??  why use this file? pengutronix dev-tool make all the
boot and the linux image , or not??????

Titus Breidung
Yes, but the board have to know which file to load as kernel. As far as i
know this is defined in the friendlyarm.ini. 

What does the quickstart.pdf tell you about this point? I have not read the
6410 version yet.

To other 6410 users: Please correct me and give Luigi a hint how to solve
booting kernel and image, i have no such board! ;-)

Titus Breidung
Hmmm... after having a quick look to the pdf i think it should be done by
the flasher tool...

Have you connected a serial console? There you will find an answer to the
question what is going wrong...

Luigi
yes , reading around , the flasher tool should be done , without *.ini ,
about the boot , now i'm trying to compiling the the kernel that support qt
(and i thing the lcd too)
using:
ptxdist select config/ptxconfig.qt

as soon as finish i try.

about the serial , now i'm going to buy the rs232-usb converter , but i
have a doubt:

can i use the ethernet cable or the usb cable instead the serial???

Titus Breidung
No, the ethernet is usually only for tftp and nfs, the usb for uploading
data by bootloader. 

Maybe there is a possibility redirecting the console via ethernet-to-serial
solutions, but i don't know how to.

I suggest not to buy an adapter with pl2303 chipset since i realized a lot
of trouble with them (3 of 3 adapters were shit).

Best experience i made with adapters with FTDI FT242L chipset, like this
one:

http://www.ebay.de/itm/251024249163?ru=http%3A%2F%2Fwww.ebay.de%2Fsch%2F...

For kernel support of frame buffer look at this thread:

http://www.friendlyarm.net/forum/topic/4449

Luigi
thanks now buy all and test.
sisten soon XD

Luigi
it's working !!!!!!

the problem? SD>2GB is not supported

mine was 4GB XD

so i compile with ptxconfig.qt (for graphical application)

now start , and the first program is the lcd touch calibration , but if i
touch the screen nothing happen...

slowly we are solving all the problems ahahahahha...

Titus Breidung
Yes, this is a known issue ;-)

Sounds like there is no touch support in the kernel... have you read the
protocol/known_issues.txt in the BSPs archive? Maybe there is a hint to
solve this.

Touch screen for the 6410 should be enabled by deafult, but something is
missing... maybe Juergen has an answer to this

Titus Breidung
Better start a new thread with 'Pengutronix 6410' and 'touch screen
problem' in subject after searching for relating threads in the forum...

Luigi
yes , now open a new thread..
thanks a lot fo all Titus

Juergen Beisert
The directly connected touch screen should be work as expected. It uses the
CPU internal controller to detect the touch position.
But there are also screen units with a 1wire connected touchscreen. Support
is included in the kernel, but I have no screen unit to test it.

Luigi
the touch doesn't work , but now , this is not important.
now I want to bluid and compile a C program (like LED flashing) , and run
it on tiny6410..
so , i have build with ptxdist:
-boot , kernel and linux (using "ptxdist select configs/ptxconfig")
-boot , kernel , linux qt(using "ptxdist select configs/ptxconfig.qt")

with qt , all start and can see on LCD the touch calibration utility
without qt , all start , but the LCD stay black.

so i want to see the terminal on LCD and using a keyboard (with ps2-usb
converter)

so i think that is better to use the .qt configuration.
then i try to modify the rcS file { /etc/init.d }

and this is what i can see:

#!/bin/sh
#
# /etc/init.d/rcS
#

mount -t proc none /proc

if grep -q "quiet" /proc/cmdline; then
  exec 1>/dev/null
fi

echo -n "mounting filesystems..."
mount -a 2>/dev/null
echo "done."

# loadkmap < /etc/boottime.kmap

# set hostname
test -e /etc/hostname && hostname -F /etc/hostname

echo "running rc.d services..."
run-parts -a start /etc/rc.d



so i want to run a program called (for example) "LED" , that i put inside
"/test" directory , and DON'T want to run qt and and touch calibration...
what i have to write inside rcS????


thanks to all.

Juergen Beisert
To get a console on your display you must reconfigure the kernel. The
current default confuration for the kernel comes with everything disabled
related to this. Run "ptxdist kernelconfig" and ensure the following
symbols are enabled:

 - VT
 - VT_CONSOLE
 - FRAMEBUFFER_CONSOLE
 - FRAMEBUFFER_CONSOLE_DETECT_PRIMARY (guessed, not sure)
 - FONTS
 - FONT_8x16

If you want to omit the touch screen calibration just remove the
/etc/rc.d/S01rc-once file and modify the file /etc/init.d/startup to start
your own program.

Luigi
i will try , thanks very very very much

Luigi
sorry , after 'ptxdist kernelconfig' i have to rebuild the kernel with
'ptxdist go' and 'ptxdist images' right?

Titus Breidung
Yes, it must be rebuild.

Luigi
mmm...if i delete the /etc/rc.d/S01rc-once file and reboot , the touch
calibration start! and then if i put the SD card inside the pc i see a new
one S01rc-once file!

i have enable all the symbols
 - VT
 - VT_CONSOLE
 - FRAMEBUFFER_CONSOLE
 - FRAMEBUFFER_CONSOLE_DETECT_PRIMARY (guessed, not sure)
 - FONTS
 - FONT_8x16

i didn't see the terminal. 
but all stop at touch screen calibration program (cause touch dosn't work)


Luigi

Titus Breidung
As far as i know it needs a file 'pointercal' in /etc. Without this file
the calibration starts again and again on booting.

In my /etc/pointercal is one line:

-193 18274 -1493900 -25402 -227 23355416 65536

with the calibration values.

Try it with these values, the values your calibration needed should not be
important without using the touchscreen.

Good luck!

Titus Breidung
And maybe this thread is of interest for your console output:

http://www.friendlyarm.net/forum/topic/4449

It is for 2440, but should be the same for the 6410...

Juergen Beisert
Run "ptxdist menuconfig" and disable the Qt4-demo (symbol "MINI6410_DEMO").
After that you can also disable the "RC_ONCE" menu entry. Then run "ptxdist
clean root; ptxdist go". This will re-create the rootfilesystem without
automatic touch calibration and the Qt demo.
Easier it would be to select the "configs/ptxconfig" instead of the
"configs/ptxconfig.qt".

And yes, touchscreen calibration and the Qt demo settings are working on
the Mini6410 in the same way as the Mini2440

Luigi
i do all this stuff:

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 then "ptxdist
clean root; ptxdist go"



now the screen stay black , but the terminal doesn't appear , i try to
enable the boot image (Tux) , but nothings , stay BLACK.

the board are working cause the LED are flashing , so linux is working.

whats the problems now???

Luigi
i try with "configs/ptxconfig" (without .qt) but the same problem...all
stay black.

i have another question too , how can reset at the default configuration
the kernelmenu? (just using configs/ptxconfig??  cause i make many change)

Juergen Beisert
"stay BLACK" means its switched off or it just display nothing?

- if it is switched off: You must add a hotfix. Available at our download
  area of the BSP. There is a initializing failure in the archive's
  kernel, which needs a little patch to make it work again.
- if it just display nothing: You must simply use it. Register a login at
  the virtual console of the screen. Or direct the kernel's messages to
  it.

luigi
just turn on the board with the S1 button, the screen goes blank, then goes
black after a few seconds, and the LED will start flashing, I do not think
the display is turned off, because there is a small backlight, then I do
not know .. ..

I know I'm heavy, but could you explain more 'in detail what to do
I remind you that I have the tiny6410 and when I use ptxconfig.qt on
dispaly, the picture is displayed correctly ... the touchscreen calibration
(although the touchscreen does not work, but this problem does not interest
me now) ..

I WANT ONLY THE TERMINAL WHEN THE TINY6410 START.

luigi
sorry for blank i mean white

Juergen Beisert
Sorry for the confusion, the BSP for the Mini2440 is broken and needs a
patch to be able to show a valid picture on the LCD. But the Mini/Tiny6410
should work.

In the Mini/Tiny6410 the display i correctly configured, but if you do not
use Qt there is noone who is using it. So the screen keeps empty.

To direct the kernel's messages to the LCD you must change the kernel
command line from "console=ttySAC0,115200" to "console=tty0" to make the
kernel use the console on your LCD. Also you should start a getty on these
tty1..tty6 to get a login prompt.

Luigi
ok , i type:
ptxdist kernelconfig->boot options->and change the line:

console=ttySAC0,115200 root=/dev/ram init=/linuxrc initrd=0x51000000,6m
ramdisk_size=6144

to:

console=tty0 root=/dev/ram init=/linuxrc initrd=0x51000000,6m
ramdisk_size=6144

right???


how now can start a getty on tty0 to get a login promt???

now if i start the tiny6410 the lcd stay black.

Luigi
mmmm first of all , how can set to default all the settings in the
kernelconfig , cause i have change many thinks.

if i use "ptxdist select configs/ptxconfig.qt" (or without .qt) the setting
inside kernelconfig are all the same , same things if i use
"ptxdist platform configs/platform-.....6410/platformconfig"

I want to put all the settings of the first installation.

Juergen Beisert
The BSP configures three independent configuratiuon files:
 - configs/ptxconfig.* -> Userland configuration. What should be run and
   exist when the system is up and running
 - configs/platform-.....6410/platformconfig -> Description of the
   addtional components like toolchain, bootloader and kernel to get your
   target up and running
 - configs/platform-.....6410/kernelconfig* -> the configuration of the
   kernel itself.

So, it depends on what you need which of these configurations you must
change.

> I want to put all the settings of the first installation.

I don't understand this sentence.

Luigi
> I want to put all the settings of the first installation.

i mean that i want ALL configuration (about kernel) to turn in default ..

for example i change:

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 

and many other stuff , i want to turn all like first time , before mine
changes...

then...about "Also you should start a getty on these
tty1..tty6 to get a login prompt."....in which way??

thanks for your replay

Juergen Beisert
All configuration files in a PTXdist project like the Mini6410 BSP is, are
text based. So, just extract the archive and use some revision control
software to track your changes. The same I do for the development of this
BSP.

Take a look into your /etc/inittab on your host (if it still uses systemV
init) and see how they start the login getties on the tty*. Then do the
same on your Mini6410.

Luigi
So, I take stock of the situation.

i type 'ptxdist clean'
and delete all the stuff

about settings i used:
'ptxdist select/ptxconfig'
'ptxdist platform configs/platform....../platforconfig'

then 'ptxdist go -ij8' and 'ptxdist images'

all ok

write all on the SD card (boot-loader and other stuff)
put the SD card inside my tiny6410 an switch the S1 button to ON.

this is what I see on my host(ubuntu) with 'minicom' from tiny6410:

/////////////////////////////////////////////////////////////////////////

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
Mode) 
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 4.5.2 (OSELAS.Toolchai2
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
mini6410=0
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 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) &#65533;© 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-bit)
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
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
recommended
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 288, 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-06T02:52:30+0200

mini6410 login: 

//////////////////////////////////////////////////////////////////////////

the LCD of the tiny is black 

using minicom on my host:
i type  'root'
and if i type 'tty' naturally obtain "/dev/ttySAC0"
and this is right.

if i type  'fbtest' , the framebuffer test start and all goes well ,
obtain:

root@mini6410:~ fbtest
Using drawops cfb16 (16 bpp packed pixels)
Available visuals:
  Monochrome
  Grayscale 32
  Truecolor 5:6:5:0
Using visops truecolor
Running all tests
test001: PASSED
test002: PASSED
test004: PASSED
test006: PASSED
test008: PASSED
test009: PASSED
reserved[5]changed from 0 to 1076092928

and see all the picture test on the LCD...stripped-down

Luigi
I see all the images on the LCD of the tiny6410 (I know it's working)
after LCD is black again.

then I tried some experiments:
I typed:
echo hello> ttySAC0
and of course I got
'hello'
Then, I tried to type
echo hello> fb0
but I did not get anything (of course)
while on the LCD, a small green pixel in the upper right of the screen is
appeared.

therefore, fb0 is the name of the LCD (I think).

I went then to edit the file /etc/inittab
I typed (in minocom): vi /etc/inittab
I got:

#
console :: sysinit :/ etc / init.d / rcS
console :: respawn :/ sbin / getty-L 115200 vt100 ttySAC0

# Stuff to do before rebooting
ctrlaltdel :: :/ sbin / reboot
:: shutdown :/ bin / umount-a-r

so I replaced ttySAC0 with ttySAC1, and of course, communication is shifted
to the serial connector number 2 at reboot....
however when I replaced 'ttySAC0', with 'fb0' at the reboot I got an error
like this:
fb0: not found

why?

Then I rebuilt the kernel by changing the setting with 'ptxdist
kernelconfig,' and I enabled the boot image (TUX), when I restarted the
tiny6410, nothing has changed, TUX is not seen and LCD remains black.

I hope I was clear.

I'm mad ... please answer in a simple way, I am a novice with both ARM and
Linux, I'm trying to learn and slowly I am succeeding .... thank you XD.

Juergen Beisert
Don't worry. You aren't mad :) You did more with PTXdist, the BSP and Linux
than other beginners in the Linux world. I had the same problems and
confusions when I started with Linux long time ago.

You can't use fb0 as a login device. It is not a TTY. Its only a piece of
memory which can make its bits to be coloured pixels on the LCD. Above of
this fb0 device a console device exists (which knows how to draw characters
into a piece of memory) and then the tty layer does the job acting like a
TTY on top all both. So, you need to connect your 'getty' process to one of
the 'virtual consoles' which are the visible part of the tty layer.

I added the line "tty1::respawn:/sbin/getty -L 0 tty1 vt100" below the
existing line for the ttySAC0 and now see a login prompt at the LCD.

I also removed the "console=ttySAC0,115200" from the kernel command line
and now the kernel startup log occurs on the LCD.

Luigi
thanks.

i followed all your instruction but at reboot obtain:

process '/sbin/getty -L 0 tty1 vt100' (pid 294) exited. Scheduling for
restart.
can't open /dev/tty1: No such file or directory

Luigi
I noticed one thing, when I go into the menu of the kernel (ptxdist
kernelconfig) -> Device Drivers -> graphic support -> and active bootup
logo
I get an inscription on a black background:

nmet direct dependencies (USB_SUPPORT)

if active Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

is another guild written on a black background:

warning: (ARCH_LPC32XX && && ARCH_S3C64XX ARCH_TCC8K) selects
USB_ARCH_HAS_OHCI &#9474; &#9474; ch

if go to Console display driver support  ---> and active Framebuffer
Console support  

obtain always:

warning: (ARCH_LPC32XX && ARCH_S3C64XX && ARCH_TCC8K) selects
USB_ARCH_HAS_OHCI &#9474; &#9474;ch

maybe the problem is this?

Juergen Beisert
> "can't open /dev/tty1: No such file or directory"

These device nodes should exist, if you enabled the framebuffer console.
In my dev/ directory exists 'tty', 'tty0' and many other tty* beginning
with '1'. If they do not exist at your target's side, you must check the
kernel config again and check if you are really booting this _new_ kernel!

Luigi
frame buffer console is enable.
this is what i can see:

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
root@mini6410:/dev 


just to be safe.
Tell me again the whole correct procedure.
the modification of the kernel (all the flags) to the creation of images,
writing to SD etc.

I would not have missed some step

Titus Breidung
It really looks like you does not have the 'new' kernel image on your
system. Make sure to have the new linuximage on your sd for installation.

Luigi
i'm sure , because now i make a new linuximage , without changes , put
inside SD and now all works finw (but with black screen)


but regarding the erros:

when I go into the menu of the kernel (ptxdist
kernelconfig) -> Device Drivers -> graphic support -> and active bootup
logo

I get an inscription on a black background:

nmet direct dependencies (USB_SUPPORT)

if active Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

is another guild written on a black background:

warning: (ARCH_LPC32XX && && ARCH_S3C64XX ARCH_TCC8K) selects
USB_ARCH_HAS_OHCI &#9474; &#9474; ch

if go to Console display driver support  ---> and active Framebuffer
Console support  

obtain always:

warning: (ARCH_LPC32XX && ARCH_S3C64XX && ARCH_TCC8K) selects
USB_ARCH_HAS_OHCI &#9474; &#9474;ch

maybe the problem is this?

Juergen Beisert
It does not make any sense to enable "Direct Rendering Manager" for your
Mini6410.

Luigi
was just an example..and what about other selects errors?

Luigi
i will open a new thread , this is too long