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
run only console style linux on tiny6410
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
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.
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!
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
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??
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...
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.
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...
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?
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!
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?
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
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.
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.
please Titus , let me know as soon as you have news about.. Dave , i don't restore rcs file , i reinstall all the system.
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!
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! ;-)
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/↵ 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?
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.
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 ;-)
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
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 ;-)
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
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.
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???
/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.
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.
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.
friendlyarm.ini?? why use this file? pengutronix dev-tool make all the boot and the linux image , or not??????
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! ;-)
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...
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???
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
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...
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
Better start a new thread with 'Pengutronix 6410' and 'touch screen problem' in subject after searching for relating threads in the forum...
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.
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.
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.
sorry , after 'ptxdist kernelconfig' i have to rebuild the kernel with 'ptxdist go' and 'ptxdist images' right?
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
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!
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...
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
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???
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)
"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.
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.
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.
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.
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.
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.
> 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
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.
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) �© 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
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.
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.
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
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 │ │ 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 │ │ch maybe the problem is this?
> "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!
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
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.
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 │ │ 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 │ │ch maybe the problem is this?