Le pilote du contrôleur série UARTLite est disponible sur le site FTP de Mind. Il suffit donc d'appliquer le correctif :
bash# cd linuxppc-2.4.23 bash# patch -p1 < ../patch-uartlite patching file Documentation/Configure.help patching file drivers/char/Config.in patching file drivers/char/Makefile patching file drivers/char/tty_io.c patching file drivers/char/uartlite.c
Il ne reste qu'à faire une petite modification dans drivers/char/Config.in
:
- if [ "$CONFIG_INSIGHT_V2PRO" = "y" ]; then + if [ "$CONFIG_VIRTEX" = "y" ]; then
Nous pouvons à présent démarrer ce noyau, il affichera alors sur la sortie série :
Linux version 2.4.23 (cedric@lightframe.smp.com) (gcc version 3.4.3) #18 Mon Ju5 On node 0 totalpages: 8192 zone(0): 8192 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: console=ttyS0 root=/dev/ram0 Calibrating delay loop... 99.73 BogoMIPS Memory: 30800k available (1028k kernel code, 268k data, 48k init, 0k highmem) Dentry cache hash table entries: 4096 (order: 3, 32768 bytes) Inode cache hash table entries: 2048 (order: 2, 16384 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 8192 (order: 3, 32768 bytes) POSIX conformance testing by UNIFIX} Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au) devfs: boot_options: 0x1 Installing knfsd (copyright (C) 1996 okir@monad.swb.de). pty: 256 Unix98 ptys configured RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize} NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 2048 bind 4096) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. RAMDISK: Compressed image found at block 0 Freeing initrd memory: 231k freed VFS: Mounted root (ext2 filesystem) readonly. Mounted devfs on /dev Freeing unused kernel memory: 48k init
Il faut faire attention car l'affichage pendant le démarrage du noyau se fait sans contrôleur d'intérruptions externes. Cela signifie que s'il y a un problème, soit dans l'architecture soit dans la configuration du noyau, les processus utilisateurs ne pourront pas afficher correctement, alors que le noyau (au démarrage) n'aura aucun problème.