Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

stdout pour le 1er process user-space (init ou autre)

3 réponses
Avatar
condo4
Bonjour a tous,

Je suis en train de travailler sur un noyau embarqu=E9 sur un PowerPC
460 (carte proche de la carte d'eval amcc canyonland).
Je compile en architecture PowerPC, le maximum de configuration
utilisant le DTS (OF).

Ma sortie serie utiliser pour le debug (console uboot + log kernel +
1ere console...) est TTYS2

Sous uboot, pas de probl=E8me sous TTYS2 tout marche...

ma command line contient console=3DttyS2,115200
et mon DTS
chosen {
linux,stdout-path =3D "/plb/opb/serial@ef600500";
};
qui correspond a mon TTYS2

Passage au kernel, avant l'initialisation des drivers SERIAL, tout
fonctionne aussi
Apres les drivers pareil :
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x4ef600300 (irq =3D 20) is a 16550A
serial8250.0: ttyS1 at MMIO 0x4ef600400 (irq =3D 21) is a 16550A
serial8250.0: ttyS2 at MMIO 0x4ef600500 (irq =3D 29) is a 16550A
console [ttyS2] enabled, bootconsole disabled
console [ttyS2] enabled, bootconsole disabled
serial8250.0: ttyS3 at MMIO 0x4ef600600 (irq =3D 22) is a 16550A
4ef600300.serial: ttyS0 at MMIO 0x4ef600300 (irq =3D 20) is a 16550
4ef600400.serial: ttyS1 at MMIO 0x4ef600400 (irq =3D 21) is a 16550
4ef600500.serial: ttyS2 at MMIO 0x4ef600500 (irq =3D 29) is a 16550
4ef600600.serial: ttyS3 at MMIO 0x4ef600600 (irq =3D 22) is a 16550

la derni=E8re ligne que je voit est
Freeing unused kernel memory: 148k init

Je suis ne boot sur un file system NFS, si je met des traces (printk)
sur les primitive NFS du kernel, je vois init (busybox, ou
openembedded) est bien lanc=E9, qu'il lance udev, qu'il lance login...
en gros, que tout d=E9marre, MAIS... rien ne s'affiche sur la console.

J'ai fait un petit prog en C que je lance en passant au kernel init=3D/
monprog
int main(int argc, char *argv[], char *envp[]){
int i ;
struct stat stdin_stats, stdout_stats, stderr_stats ;
printf("Toto en vacance\n");
FILE* f =3D fopen("wtest.txt","w");
fwrite("toto en vacance\n",strlen("toto en vacance\n"),1,f);
fclose(f);
return 0;
}
je vois bien sur mon FileSystem NFS wtest.txt aparaitre, avec la
chaine dedans (mon prog est donc bien execut=E9), mais aucune trace du
printf....
Alors que tout les printk (kernel space) fonctionne...

Quelqu'un a-t-il une id=E9e de ce qu'il se passe, et de comment d=E9buguer
ce genre de probl=E8me ?
Ou je dois chercher ?
Comment savoir ou le kernel ecrit lors d'un appel userspace a printf ?

Merci pour vos avis

3 réponses

Avatar
YBM
condo4 a écrit :
Quelqu'un a-t-il une idée de ce qu'il se passe, et de comment débuguer
ce genre de problème ?
Ou je dois chercher ?



Tu as quoi dans ton /dev ? Il y a bien tous les ttyN et aussi console ?
Avatar
condo4
On 28 mai, 20:56, YBM wrote:
condo4 a écrit :

> Quelqu'un a-t-il une idée de ce qu'il se passe, et de comment débug uer
> ce genre de problème ?
> Ou je dois chercher ?

Tu as quoi dans ton /dev ? Il y a bien tous les ttyN et aussi console ?



Oui oui :
$ ls -la ttyS*
crw-r----- 1 root root 4, 64 11 mai 11:53 ttyS0
crw-r--r-- 1 root root 4, 65 20 mai 17:26 ttyS1
crw-r--r-- 1 root root 4, 66 20 mai 17:26 ttyS2
crw-r--r-- 1 root root 4, 67 20 mai 17:26 ttyS3
$ ls -la console
crw-rw--w- 1 root tty 5, 1 11 mai 11:53 console

Par contre comment puis-je verifier que 4/66 ça parle bien a mon
driver de port serie ?
Avatar
condo4
On 28 mai, 20:56, YBM wrote:
condo4 a écrit :

> Quelqu'un a-t-il une idée de ce qu'il se passe, et de comment débug uer
> ce genre de problème ?
> Ou je dois chercher ?

Tu as quoi dans ton /dev ? Il y a bien tous les ttyN et aussi console ?



j'oublier :
$ ls -la tty*
crw-rw--w- 1 root tty 5, 0 11 mai 11:53 tty
crw-rw-rw- 1 root root 4, 0 11 mai 11:53 tty0
crw-rw-rw- 1 root root 4, 1 11 mai 11:53 tty1
crw-rw-rw- 1 root root 4, 2 11 mai 11:53 tty2
crw-rw-rw- 1 root root 4, 3 11 mai 11:53 tty3
crw-rw-rw- 1 root root 4, 4 11 mai 11:53 tty4
crw-rw-rw- 1 root root 4, 5 11 mai 11:53 tty5
crw-rw-rw- 1 root root 4, 6 11 mai 11:53 tty6
crw-rw-rw- 1 root root 4, 7 11 mai 11:53 tty7
crw-rw-rw- 1 root root 4, 8 11 mai 11:53 tty8
crw-r----- 1 root root 4, 64 11 mai 11:53 ttyS0
crw-r--r-- 1 root root 4, 65 20 mai 17:26 ttyS1
crw-r--r-- 1 root root 4, 66 20 mai 17:26 ttyS2
crw-r--r-- 1 root root 4, 67 20 mai 17:26 ttyS3
crw-r----- 1 root root 204, 5 11 mai 11:53 ttySA0
crw-rw-rw- 1 root root 4, 8 11 mai 11:53 tty8