O documento post-halloween. v0.44 (aka, 2.6 - O que é esperado) Dave Jones Traduzido para o português (pt_BR) por Thiago Rondon (Atualizado para o 2.6.0test4) Este documento explica algumas das novas funcionabilidades que podem ser encontradas no kernel 2.6 do linux. Nota, O "contato foo@bar.com" ao longo do texto significa também que você deve copiar esta mensagem para (cc:) linux-kernel@vger.kernel.org (Esta lista aceita apenas mensagens em ingles). A versão mais recente deste documento pode ser achada em: http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt A versão traduzida mais recente deste documento pode ser achada em: http://nl.linux.org/~thiago/docs/post-halloween-2.6-pt_BR.txt Obrigado a muitas pessoas [são muitos para serem listados] pelo valiozo retorno. Nota, este documento é centrado ao x86, mas a maioria das funções documentadas aqui afetam todas as plataformas de qualquer maneira. Traduções: Português(pt_BR) - http://nl.linux.org/~thiago/docs/post-halloween-2.6-pt_BR.txt Spanish - http://www.terra.es/personal/diegocg/post-halloween-2.6.es.txt German - http://www.kubieziel.de/computer/halloween-german.html Polish - http://soltysiak.com/linux/post-halloween-2.6.pl.txt Aplicando os remendos (patch). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - No 2.4 e versões precedentes, o caminho recomendado é aplicar os remendos usando o comando como ... gzip -cd patchXX.gz | patch -p0 No 2.6, Linus começou adicionando um elementro extra aos 'diffs', assim é necessario usar -p1 no remendo descompactado para o remendo ser aplicado. Falhas conhecidas. ~~~~~~~~~~~~~~~~~~ Certas falhas (bugs) conhecidas que são reportas uma ou outra vez. Aqui estão as soluções. - Tela preta depois de descomprimir o kernel? Tenha certeza que seu .config tem: CONFIG_INPUT=y CONFIG_VT=y CONFIG_VGA_CONSOLE=y CONFIG_VT_CONSOLE=y Varias pessoas descobriram que pegando o .config do 2.4 e executando make oldconfig para ativar as novas opções, notão que algumas opções não são ativadas, principalmente por não ativar o CONFIG_VT. - Um bug adicional que está pertubando algumas pessoas é que o NIC falha para receber pacotes (normalmente por que o NIC não consegue capturar os pacotes do servidor DHCP, apesar do servidor está ativo, por exemplo). Inicializar com as opções "noapic" "acpi=off" ou uma combinação de ambos estão resolvendo o problema para a maioria das pessoas. Falhas adicionais devem ser reportadas para Jeff Garzik (jgarzik@pobox.com) - (Possivelmente relacionado ao bug anterior) O roteamendo com VIA APIC esta quebrado. Inicializar com 'noapic'. - Não consegue carregar os modulos ? Você precisa de atualizações (ver a seção de modulos abaixo). Regressões. ~~~~~~~~~~~ (Coisas que se espera que não funcionam agora mesmo) - As controladoras RAID proprietarias hptraid/promise não estao funcionando, e provavelmente serão convertidas para serem usadas com o mapeador de dispositivos. - Alguns sistemas de arquivos ainda precisam de reparos (Intermezzo, UFS, HFS, HPFS...) - Varios drivers não compilam agora mesmo devido que necessitam trabalho para conversão para as novas APIs. - O sistema de arquivos UMSDOS nao esta disponivel, precisa ser re-escrito. - O formato do /proc/stat foi alterado, que poderar quebrar algumas aplicações que dependem do formato antigo. Atualmente o único aplicativo que sabemos que será quebrado é o java 'DOTS' app. (http://bugme.osdl.org/show_bug.cgi?id=277) - Algumas pessoas parecem ter problemas para executar o rpm, a maioria os usuarios do Red Hat 9. Este é uma falha (bug) conhecido do rpm. Solução temporaria: execute "export LD_ASSUME_KERNEL=2.2.5", antes de executar o rpm. Pensamos que isto é um bug relacionado ao db4 em interação com O_DIRECT. Material que precisa ser portado desde do 2.4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - HFSPlus - SuperH 64 Características removidas. ~~~~~~~~~~~~~~~~~~~~~~~~~~ - khttpd foi retirado. - Foi retirado suporte ao XFree86 4.0 com DRM (Direct Rendering Manager). Atualizar para o XFree86 4.1.0 ou superior. - LVM1 foi removido. Veja 'Device-mapper' abaixo. - A tabela de chamada de sistemas não é mais exportada. Qualquer modulo que se basear nela, não irá mais funcionar. - O suporte ao 'soundmodem hamradio' foi removida. As funcionabilidades realocadas para o espaço usuario. http://www.baycom.org/~tom/ham/soundmodem - Inicializar (boot) diretamente do disquete não é mais suportado. Você deve usar agora um carregador preferencialmente. - Os dispositivos 'callout' (/dev/cua) foram depreciados desde do 2.1.90pre2. O suporte foi removido agora. Características depreciadas. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - O analizador de tempo de inicialização foi alterado, root= ramdisks agora são ram em vez de rd e cm206 agora é cm206cd (em vez de cm206). - usbdevfs não será continuado no 2.7. O mesmo sistema de arquivos pode ser montado como 'usbfs' nas versões recentes do kernel 2.4 e acima de 2.5.52, e é como o sistemas de arquivos será conhecido. - elvtune foi depreciado (assim como as ioctl's que usava). Em vez dele, os parametros de configuração são exportas agora no sysfs (veja abaixo) no diretorio /sys/block//queue/iosched . Jens escreveu um documento explicando os novos parametros em http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/att-deadline- iosched.txt - Chamar as chamadas de sistema por valores números também esta depreciado, o que será retirado da próxima versão em desenvolvimento. Modulos. ~~~~~~~~ - O carregador de modulos 'in-kernel' foi reimplementado. - Você precisa trocar os utilitarios para os modulos em http://www.kernel.org/pub/linux/kernel/people/rusty/modules/ - Um conjuto de utilitarios para modulos esta disponivel na mesma URL em formato RPM. - Usuarios do Debian sid ou Conectiva snapshot podem apenas usar 'apt-get install module-init-tools' - Modulos agora livram o que há marcado com __init ou __initdata. - Usuarios Red Hat, encontraram outro problema em "/etc/rc.sysinit". Durante a inicializacao, o script ajusta o binario usado dinamicamente para carregar os modulos guardados em "/proc/sys/kernel/modprobe". O initscript procura por "/proc/ksyms", mas não existe mais na versão 2.6, o binario usado é "/sbin/true". Isto evitará que os modulos funcionem. Usuarios red hat deverão remendar o "/etc/rc.sysinit" de "/proc/sys/kernel/modprobe" para "/sbin/modprobe", já que não existem mais "/proc/ksyms". - Modulos agora tem o sufixo .ko ao em vez de .o Sistema de construção do kernel. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - O sistema de construção é melhorado muito comparado ao 2.4. Você deve observar construções mais rapidas, reconstrunções mais rápidas de arvorês já construidas também. - Existem agora ferramentas graficas novas. "make xconfig" agora requer a biblioteca qt. "make gconfig" usa a bilbioteca gtk. - make menuconfig/oldconfig não há nenhuma mudança visivel ao usuário a não ser pela velocidade, foram feitas varias melhorias. - Existem novas regras para debug: 'allyesconfig''allnoconfig' 'allmodconfig'. - Nota: O novo sistema de configuração não esta relacionado ao CML2. - Também nota: Algumas ideias foram retiradas de Keith Owens' do projeto kbuild-2.5 que não foi integrado. - "make" agora é o comando preferivel, sem um objetivo (target) ; e modulos. - "make -jN" agora é o modo preferido para executar o make em paralelo. Nao incomode fornecer "MAKE=xxx" - A construção agora é menos detalhada. Se voce quer ver exatamente o que esta acontenecndo, tente "make V=1" ou coloque KBUILD_VERBOSE=1 em seu ambiente. - 'make kernel/mm.o' irá construir ao arquivo referido, supondo que o arquivo fonte exista. Ele também funciona para modulos. (FIXME: quebrado para modulos agora?) - 'make kernel/' irá compilar todos os arquivos no subdiretorio. - Não é necessario mais executar 'make dep' em nenhum estagio. - 'make help' prove uma lista de objetivos (targets) tipicos, incluindo para debug. Subsistema IO. ~~~~~~~~~~~~~~ - Voce deve observar melhorias consideraveis em rendimentos sobre o 2.4 devido a muitas readaptações nas camadas de bloco e das camadas de gerenciamento de memoria. - Qualquer regressão nesta area deve ser reportada para Jens Axboe e Andrew Morton . - Existem dois diferentes modos de 'IO elevator'. O padrão é o 'anticipatory IO scheduler'. Você pode selecionar o 'deadline sheduler' iniciando com 'elevator=deadline' na linha de comando do kernel. - Em alguns cenarios o 'anticipatory scheduler' é cerca de 10% mais lento do que a 'deadline'. Sobre tudo, em cenarios em que o trabalho é executar tudo no disco e sincronizarem o que escrevem. O pessoal que trabalha em databases provalvemente irao querer carregar com 'deadline' para começar para traz este ultimo lance de rendimento. - As mudanças variadas nas camandas de blocos significaram uma limpeza nos dispostivos de blocos para atualização com as novas APIs. - Novo tamanho e alinhamento a pedidos a E/S para O_DIRECT combinam agora com o dispostivo, e não mais com o do sistema de arquivos. Tipicamente, isto significa que você pode executar E/S O_DIRECT com 512 bytes em pedaços pequenos do que uma de 4k. Mas se você depender disto, sua aplicação não irá funcionar no kenel 2.4 e com alguns dispositivos. Suporte para tamanho a dispositivos de blocos. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Obrigado ao trabalho feito por Peter Chubb, os dispositivos de blocos agora podem acessar até 16TB em arquiteturas 32-bit, e 8EB em arquiteturas 64-bit. - Para usar as novas ioctls BLKGETSZ64, voce precisara atualizar o file-utils. (Atualmente somente o jfsutils 1.0.20 contem esta alteracao, remendos para outros sistemas de arquivos ainda estao pendentes para serem incluidos). - A velha 'struct statfs' não pode descrever grandes dispostivios - a chamada de sistema statfs() irá retornar agora -EOVERFLOW para estes dispositivos. Uma nova chamada de sistema nomeada statfs64() com uma nova estrutura foi adicionada para suportar grandes dispostivos. No tempo de descrever este documento não se sabe quantos utilitarios no espaço usuario foram convertidos para aproveitar as vantagens desta chamada de sistema. POSIX ACLs & Tributos extendidos ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Utilitarios disponiveis para o espaço usuario em http://acl.bestbits.at Mudancas na VM. ~~~~~~~~~~~~~~~ - Partições swap com a versão zero não sao mais suportadas (tudo agora utiliza v1 - apenas executar o mkswap novamente para alterar). Linux 2.0.x requer espaco do swap v0, Linux v2.1.117 e superiores suportam v1. mkswap(8) pode formatar com os dois formatos. - A atual parte do 'reverse mappings' de Rik van Riel's rmap vm foi incluida. O compartamento da VM em determinadas cargas deve melhorar. - O mal compartamento da VM deve ser reportada para linux-mm@kvack.org - A VM verifica explicitamente para ver se há arquivos de swap escassos, e aborta se for encontrada. - /proc/sys/vm/swappiness define a preferência do kernel para pagecache sobre a memoria mapeada. Ajustando para 100 (em por centos) trata ambos os tipos de memoria igualmente. Ajustando para zero, o kernel prefere recuperar as pagecache planas do que a memoria mapeada nas tabelas de paginas. - A chamada de sistema bdflush() é agora oficialmente depreciada. A chamada de sistema não faz nada, e imprime uma advertencia para o usuario. A funcionabilidade dele será feita pelo daemon pdflush. - Pelas varias mudanças, os arquivos de swap deveram ser tão rapidas como as particoes de swap. - No 2.4, podesse criar 64 arquivos de swap. No 2.6, este número foi reduzido para 32. Como no 2.4 estes arquivos pode ter tamanho até de 64GB, mas você irá precisar de uma versão recente do util-linux, com o utilitario mkswap que suporte swap maior que 2GB. Multitarefa preventina (preempt) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Foi muito comentado os remendos para multitarefa preventina no kernel 2.6. Com esta inclusao deve notar menores latencias, especialmente em aplicacoes multimedia. - Nota, existem casos onde o preemption deve ser desativado temporariamente onde nos não podemos usar. Isto ocorre onde usam-se dados por CPU. - Se você receber esta mensagem "xxx exited with preempt count=n" no syslog, nao entre em panico, estes não sao fatais, mas isto é algo não muito limpo no kernel (Alguma coisa pediu para travar, e ele esta saindo sem destravar). - Se você observar uma latëncia elevada com o preempt permitida pelo kernel em um codigo especifico, por favor reporte para Andrew Morton e Robert Love . Este reporte deve ser algo como "a latencia em meu aplicativio xyz faz em xxx ms quando ele *foo* ao invez de yyy ms como normalmente", no lugar do foo use algo como "unlink() (removendo) uma grande arvore de diretorio". Melhoras no agendamento de processos. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Outra caracteristica conversada muito. Ingo Molnar trabalhou para que o agendamento de processos usasse o algoritimo O(1). Na pratica, você deve observar nenhuma mudança com cargas baixas, você notaria uma maior estabilidade em uma quantidade grande de processos, especialmente em sistemas SMP. - Os agendamento pode agora gerenciar por "Hyperthreading SMP", ou seja, pode disparar os processos em diferentes CPUs fisicas, ao invez de apenas logicamente. - Robert Love escreveu varios utilitarios para mudar o compartamendo ao agendamento (ligar processos a CPUs etc.) Você pode achar estes utilitarios em http://tech9.net/rml/schedutils - O compartamento do sched_yield() mudou muito. Uma tarefa que usa esta chamada de sistema possivelmente deve esperar muito para dormir. Tarefas que não desejam realmente abandonar o processador não deveram fazer um uso pesado desta função. Infelizmente, agumas programas GUI (como o OpenOffice) fazem uso excessivo desta chamada sob a carga, pois seu desempenho é pobre. Parece que este novo comportamento do 2.6 é otimo, mas para algumas aplicações no espaço usuario deve necessitar de um remendo. - O comentario acima tambem se aplica ao uso do yield() no kernel. - 2.6 adicionou uma chamada de sistema para manipular as afinidades de uma tarefa no processador: sched_getaffinity() e sched_setaffinity() - Problemas devem ser reportados para mingo@redhat.com e rml@tech9.net - Usuários do debian pode encontrar efeitos por exemplo como cortes em mp3, o mouse poderia ter um comportamento estranho, você deve parar o servidor X e ele iniciar com prioridade -10. Para alterar permanetimente basta 'dpkg-reconfigure xserver-common', se você não quer que ele altere o /etc/X11/Xwrapper.config pelo debconf, voce pode editar o arquivo diretamente. - Balanciamento de IRQs entre multiplas CPUs deve ser feita usando o programa irqbalance (http://people.redhat.com/arjanv/irqbalance/). - David Mosberger mantem uma página contendo algumas 'falhas conhecidas' sobre o agendamento O(1) em http://www.hpl.hp.com/research/linux/kernel/o1.php PCI. ~~~~ - Foi adicinado suporte a dominios PCI. Para maioria das pessoas, isto significa apenas que todos slot PCI extendeu seu nome com "0000:" na frente, mas para pessoas com servidores grandes isto significa que poderam acessar todos os seus dispositivos PCI. - Mais dispositivos hotplug foram adicionados, incluindo um dispositivo PCI de hotplug falso, assim pessoas sem ser especialistas poderam testar as características do hotplug. Random. ~~~~~~ - /dev/hwrandom ganhou suporte a mais hardware (agora também esta portado para o 2.4) como HW RNG mais novo em VIA Cyrix CPUs. - rng-tools pode ser encontrado em http://sourceforge.net/projects/gkernel Rápidos mutexes em espaço usuario (Futexes). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Rusty Russel adicionou a funcionabilidade que permite que tenhamos rápidas mutexes em espaço usuário, que usem somente as chamadas de sistema quando ocorrer uma disputa. Usado por NPTL. - Bert Hubert esta escrevendo alguma documentação sobre esta funcionabilidade em http://ds9a.nl/futex-manpages epoll ~~~~~ Davide Libenzi escreveu um substituto baseada em eventos para votação que começou a ser incluida no 2.6. Mas informações em http://www.xmailserver.org/linux-patches/nio-improve.html http://lwn.net/Articles/13587/ Melhoras em Threading. ~~~~~~~~~~~~~~~~~~~~~~ - Ingo Molnar colocou muito trabalho para melhorar o threading no 2.6. Algumas características deste trabalho são: - Alocador generico de PID (número arbitrário dos numeros PIDs sem perda de velocidade, pidhash unificado). - Chamadas de sistema de "Thread Local Storage" (armazenamento local de thread) - Melhoras em sys_clone() (CLONE_SETTLS, CLONE_PARENT_SETTID, CLONE_SETTID, CLONE_CLEARTID, CLONE_DETACHED) - Material de sinais da POSIX thread (atomic signals, shared signals, etc.) - GDT por CPU - Suporte a coredumping em threaded - Aceleramento na sys_exit() (saida O(1)) - Genericos, futexes, vcache melhorados. - Nova característica com threading relacionada ao ptrace. - Cache nas tarefas de exit/fork. - Atualização para threading no /proc - Mudanças nas API para threading. - Os usuários devem observar uma velocidade significante em operações simples com thread. Isto é verdadeiro em uma menor escala para bibliotecas em espaço usuario como a LinuxThreads. - Problemas devem ser envidas para Ingo Molnar e phil-list@redhat.com. Problemas podem ocorrer na area de sinais e semantica relacionada a threading, mais coredumping. - Native Posix Threading Library (NPTL). Ulrich Drepper trabalhou com Ingo nas melhorias de threading, e desenvolveu uma biblioteca de threading modelo 1:1. Você pode encontrar mais sobre a NTPL em http://people.redhat.com/drepper/nptl-design.pdf Melhoras com coredumping. ~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.6 oferece para você a habilidade de configurar os nomes criados atravez do arquivo /proc/sys/kernel/core_pattern. Este arquivo pode conter identificadores que irão afetar no nome criado do core dump. %p - inserir o pid no arquivo. %u - inserir o uid corrente no arquivo. %g - inserir o gid corrente no arquivo. %s - inserir o sinal que causou o coredump no arquivo. %t - inserir o tempo UNIX do momento que ocorreu o coredump no arquivo. %h - inserir o hostname de onde o coredump ocorreu no arquivo. %e - inserir o nome do executavel do coredumping no arquivo. Voce deve ter certeza que a string não passara de 64 bytes. - Processos multithreaded estão com suporte a core dump. Camada de entrada ~~~~~~~~~~~~~~~~~ - Possivelmente as mudanças serão mais vistas para o usuario final. Se não está configurado, você vera que seu dispositivo de entrada como teclado/mouser/outros não irao funciona. 2.6 oferece uma interface muito mais flexivel para dispositivos de entrada, como o teclado. - A parte abaixo sao as opcoes mais confusas. No menu "Input device support", tenha certa que estejam ativas pelo menos estas. --- Input I/O drivers < > Serial i/o support < > i8042 PC Keyboard controller [ ] Keyboards [ ] Mice (Também é relevante a escolha de teclado/mouse de uma lista) - Se voce ver que seu teclado/mouse ainda não funcionam, edite o arquivo drivers/input/serio/i8042.c, e substitue de #undef DEBUG para #define DEBUG Quando inicializar o kernel (boot), voce devera ver mais informacoes para analizar (debug). Envie estas informacoes para Vojtech Pavlik - Se voce usa o alternador KVM e encontrar problemas, inicialize o kernel no inicio com o argumento 'psmouse_noext', isto deve funcionar. - Usuarios que utilizam atalhos sem X para multimidia deverão ver mudanças em como o kernel apelidou estes atelhos. Pessoas que customizaram os keymaps ou keycodes no 2.4 talvez precisam fazer algumas mudancas no 2.6 - Usuarios que necessitam do suporte ao 'PC speaker' necessitam habilitar o CONFIG_INPUT_PCSPKR, ou não escutaram nem um simples 'beep'. - Usuários de 'Synpatics touchpad' talvez estejam interessados em checar http://w1.894.telia.com/~u89404340/touchpad/ Camada PnP. ~~~~~~~~~~~ - O suporte a dispostivos 'plug and play' foram melhoradas bastante como vistas como o ISAPnP. O novo codigo se comporta como o codigo que gerencia os dispostivos PCI (tentar carregar, remover, etc), também foi incluido o codigo de acesso a BIOS PnP. - Reporte qualquer regração com relacao a funcionabilidade do 'plug & play' para Adam Belay ALSA. ~~~~~ - Foi incluida no 2.6 a arquitetura avancada de som no Linux. É oferecida novas funcionabilidades em relação aos antigos drivers OSS, mas requer novas ferramentas no espaço usuario. - Muitas distribuições incluiram o ALSA por um tempo, então talvez você já tenha as ferramentas necessarias. Caso nao tenha, voce pode achar estas em http://www.alsa-project.org/ - ALSA pode emular a interface OSS usando os modulos snd_pcm_oss/snd_pcm_mixer, se o sua placa não reproduz nada, mas fica em silencio, talvez você precise executa alsamixer para desilenciar os canais que /dev/mixer não vê. - Nota, os drivers OSS ainda estão funcionando, e ainda estão presentes. Varias melhorias e concertos que foram incluidas no 2.4 nao seram aplicadas para estes drivers, e iram continuar desta maneira no 2.6 O objetivo em prazo longo é que todos movam para o (superior) ALSA. AGP. ~~~~ - Foram feitas varias limpezas no driver da agpgart, o que implico na divisao dele, no qual existe agora o nucleo 'agpgart core' e drivers para cada chipset. Talvez você deva ter que fazer ajustes na configuração de seus modulos para auto-carregarem os drivers do chipset quando é carregado o modulo agpgart. - Foi incluido o suporte ao generico AGP 3.0 DRI. ~~~~ - A renderização direta no 2.6 não foi muita (se foi) testado nas versao antigas do XFree86. Informações sobre o funcionamento dele no 4.1 serão muito uteis. Chamadas de sistemas rápidas. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Os sistemas que suporte a extensção SYSENTER (Basicamente o Intel-II e superiores e os AMD Athlons) agora tem um metodo rápido para fazer as transações do espaço usuario para o espaço do kernel quando se realiza uma chamada de sistema. - Pentium PRO também tem SYSENTER, mas devido a um erro, não é usado. - Sem a atualização da glibc, esta mudança não será notada. - Usuarios do VMWare4 podem ter problemas com relacao a isto. Zwane Mwaikambo escreveu um remendo para uma opção 'nosysenter' para caso não exista nenhuma atualizaçao do vmware disponivel. - Regresoes devem ser enviadas para torvalds@osdl.org e libc-alpha@redhat.com procps. ~~~~~~~ - No sistemas de arquivo /proc no 2.6 foram alteradas algumas estatisticas, no qual podem causar confusao nas versões antigas do procps. Riv van Riel e Robert Love tem mantido uma versão do procps durante o desenvolvimento do 2.6 que contem as alterações do /proc, no qual você pode achar em http://tech9.net/rml/procps/ - Como alternativa, o procps de Albert Cahalan agora suporta os formatos alterados desde da v3.0.5 -- http://procps.sf.net/ - O formato do /proc/meminfo foi alterado, no qual rompe de maneira estranha o gtop. E seguramente irá quebrar alguns paneis applets do KDE/GNOME. Camada do framebuffer. ~~~~~~~~~~~~~~~~~~~~~~ - James Simmons tem trabalhado novamente na camada framebuffer/console consideravelmente para o 2.6. O suporte em algumas placas estao um pouco atrasada, mas deveram funcionar sem diferenca de como funcionava. - Alguns parametros de inicialização foram alteradas dependendo de seu dirver. Um exemplo desta mudança.. append = "video=radeon:1024x768-24@100" necessita ser convertida para.. append = "video=radeonfb:1024x768-24@100" - As atuais ferramentas em espaco usuario (por exemplo, fbset) nao foram atualizadas ainda, e não estao funcionando como se esperasse. - O VESA framebuffer agora ativa os MTRRs para memoria do framebuffer durante a inicialização (Nota: Somente placas PCI). Se voce verificar algum problema com a tela, por favor reporte isto, com a saida do lspci, então seu driver podera entrar na lista negra. - Qualquer problema deve ser enviado para IDE. ~~~~ - A re-escrita do código IDE tem cido criticado muito nos tempos do 2.5.0, o que colocou muita gente fora dos testes. Este trabalho foi depreciado e voltaram com o código do IDE disponivel no 2.4.18. Desde então o trabalho adicional ocorreu, mas não mais com a intensidade das primeiras tentativas de limpezas. - Problemas que sabemos com o corrente código IDE. o Os dispositivos IDE Simplex (ex.Ali15x3) é perdida o DMA em algumas vezes. o A maioria dos dispositivos PCMCIA existe problemas para descarregar ou existe oopses quando extraidos. o O modulo IDE nao funciona ainda, o modulo IDE PCI as vezes quando carregando há oopses. o ide_scsi esta totalmente quebrado no 2.6 corrente. Sabesse do problema. Se você necessita dele use o mais novo 2.4 ou arrume 8) o Os tradutores da geometria de discos IDE como OnTrack, EZ Partition, Disk Manager não estao mais suportados. O único caminho para fazelos funcionar é removendo o tradutor do driver, e iniciar novamente, ou use parametros na inicialização para que seja remapiado os tipos: hdx=remap63 - adicionar 63 para cada setor (Para o DM OnTrack) hdx=remap - re-mapeia 0->1 (para EZDrive) IDE TCQ. ~~~~~~~~ - Foram inclusos o suporte para Tagged Command Queueing para dispositivos IDE. - Não é toda combinação de controladores a dispostivos que funcionaram, então combine com cuidado. LEIA COMO: ** Não use IDE TCQ com nenhum dado de valor. Seguramente as péssimas combinações serao colocadas em uma lista negra assim que descobertas. - Se você nao escolheu a opçoes 'TCQ on by default', voce pode habilitar usando este comando echo "using_tcq:32" > /proc/ide/hdX/settings (substituindo 32 com 0 desativara o TCQ novamente). - Reportes de historia com sucesso ou falha envie para Jens Axoboe incluindo o hdparm -i /dev/hdX, e a saida do lspci. SCSI. ~~~~~ - Varios drivers SCSI ainda precisam de trabalho, e ainda não compilam. - Varios drivers sofrem da falta de manipulãcao de erros. Este drivers irao causar alertas durante a compilacao enquanto estiveram faltando funcoes de abort: & reset. - Nota, alguns drivers tiveram estes membros removidos, mas ainda faltam com a manipulçao de erros. Alguns que se sabe são os próximos ao ncr53c8xxx e sym53c8xxx. - O suporte maior com o dev_t permite milhares de discos suportados. (o que era 128 ou 256 na serie 2.4) - Grande limpeza no código, inicialmente para suportar a camada de bloco (bio), melhorou em: - Melhor perfomance (?) [menos para manipulação dupla de dados] - bloqueios por HBA (era um simples io_request_lock na serie 2.4) - Interface mais flexivel para os drivers HBA - Melhor suporte ao hotplug, principalmente para dispositivos de armazenamento USB e ieee1394 sbp2 [bem, o trabalho esta em progresso] - Melhorias nos processos de erros e varedura no código (suporte para espacos grandes e espaçados). - Varias informaçoes internas de drivers SCSI por sysfs. v4l2. ~~~~~ - A API video4linux finalmente teve sua grande limpeza esperada. - xawtv, bttv e a maioria de ferramentas para v4l são compativeis com com a nova camanda v4l2. Você não irá notar perda de funcionabilidade. - Veja http://bytesex.org/v4l para maiores informações. Readaptação da quota. ~~~~~~~~~~~~~~~~~~~~~ O novo sistema de quota precisa de ferramentas novas. Suporte a uids de 32 bits. http://www.sf.net/projects/linuxquota/ Gravaçao de CD. ~~~~~~~~~~~~~~~ - Jens Axboe adicinou a habilidade para usar DMA para escrever CDs em dispositivos ATAPI. Escrever CDs deve ser muito mais rápido em comparação como era no 2.4, e também uma menor repetencia para apagar um buffer e coisas assim. - Com o recente cdrecord, você não irá mais precissar do ide-scsi para usar um gravador IDE CD. - Extrair faixas de CD é também usado agora DMA, e isto deve ser mais rápido. Você pode encontrar atualizações para o cdda2wav em: - Ripping audio tracks off of CDs now also uses DMA and should be *.kernel.org/pub/linux/kernel/people/axboe/tools/ - Envie reportes bons/ruins sobre extração de audio com cdda2wav e gravação de cd com cdrecord para Jens Axboe - Atualmente com 'abrir pelo nome do dispositivo' funciona com o cdrecord. cdrecord -dev=/dev/hdX -inq - Mais informações em http://lwn.net/Articles/13538/ & http://lwn.net/Articles/13160/ USB: ~~~~ - Os drivers de controladores USB foram renomeados no 2.6. Agora eles são uhci-hcd para controladores UHCI. ohci-hcd para controladores OHCI. ehci-hcd para controladores EHCI (USB 2.0). - Muita pouca alteração visivel ao usuário, a 'maior' mudança é que agora existe apenas um driver UHCI. Como dito em outro lugar, usbdevfs foi renomeado para usbfs. - Mudanças no comportamento do USB-storage. Um dispositivo que é desconcetado e conectado não será mais reassociado com o antigo nodo em /dev. - Também houveram melhorias de perfomance com o USB-storage. Status do Nanosecond ~~~~~~~~~~~~~~~~~~~~ A chamada de sistema stat64() sofreu alteraçoes e agora jiffies gradativamente. Isto permite que o make(1) crie melhores decisões se precisara ou não recompilar um arquivo. Nem todos os sistemas de arquivos ainda suportam esta precisao. Sistemas de arquivos: ~~~~~~~~~~~~~~~~~~~~~ Foram adicionados varios sistemas de arquivos ao longo do caminho do 2.6. Atualmente são suportados: ext2, ext3, reiserfs, jfs, xfs, minix, romfs, iso9660, udf, msdos, vfat, ntfs (ro), adfs, amiga ffs, apple macintosh hfs, BeOS befs (ro), bfs, efs (ro), cramfs, free vxfs, os/2 hpfs, qnx4fs, sysvfs, ufs. Desta lista houve vários testes foram da arvore, a nivel de teste após a inclusão não é paralela. Tome cuidado para confiar dados a sistemas de arquivos imaturos. Novas melhorias e funcionabilidades também foram adicionadas aos sistemas de arquivos já existentes no 2.4 Reportes e intesivos (stress) testes com varias ferramentas é valioso. Mudanças genericas em VFS. ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Desde do Linux 2.5.1 é possivel mover atomicamente um sub diretorio em outro lugar, o comando é... mount --move velhodiretorio novodiretorio - Desde 2.5.43, dmask=valor aplica o umask somente a diretorios. O fmask=valor aplica somente a arquivos regulares. Novamente, o valor padrão para o umask é do processo corrente. - Diretorios agora podem ser marcados sincronicos usando chattr +S, então todas as mudanças serão imediatamente escritas no disco. Nota, isto não garante atomicamente, ao menos para todos os sistemas de arquivos ou operações. Você *deve* garantir que a chamada de sistema não irá retornar até que alteração seja feita no disco; note que isto deverá ter impactos de perfomance. devfs. ~~~~~~ - devfs teve funcionabilidades duplicadas removidas. Você tem que ativar a opções CONFIG_DEVPTS_FS=y e montar o sistema de arquivos devpts da mesma maneira se você não estivesse usando devfs. EXT2. ~~~~~ - 2.5.49 incluiu uma extensão ao ext2 que permitirá ajustes a estruturas de buffer_head a uma estrutura de arquivos ou direroio pagecache. Isto é para maquinas com highmem. Isto pode ser habilitado com a opção de montagem '-o nobh'. - O sistema de arquivos ext2 agora usa bloqueios 'finos' que produz taxas reduzidas de alterações de contexo e um maior rendimento em maquinas SMP. EXT3. ~~~~~ - O sistema de arquivos ext3 tem agora um suporte a indice no diretorio, que oferece um importante incremento de rendimento em sistemas de arquivos com diretorios contendo um grande número de arquivos. - Para usar a caracteristica htree, voce precisara de pelo menos a versão 1.32 do e2fsprogs. - Sistemas de arquivos existentes podem ser convertidos usando o comando tune2fs -O dir_index /dev/hdXXX - A ultima versão do e2fsprogs pode ser achada em http://prdownloads.sourceforge.net/e2fsprogs - Os sistemas de arquivos ext2 e ext3 tem uma nova politica de alocacao para arquivos (é "Orlov allocator") isto significa que os subdiretorios ficam juntos no disco. E isto tende mais rapidez nas operacoes com um número grande de arquivos em um diretorio, se este diretorio foi criado sobre um kernel 2.6. Reiserfs. ~~~~~~~~~ - Reiserfs agora suporte atributos por inode como immutable. (Também incluido no 2.4.17, então nao é tao 'novo'). - Suporte ao tamanho do journal para realoçao/tamanho (também levado para o 2.4.22pre3) - Suporte para escritas maiores que 4KB em tamanho, que significa aceleramento em escritas de arquivos grandes, especialmente em modo de adicionar. - Suporte a variavel de tamanho de bloco. (Ex. Voce pode escolher qualquer intervalo de 1024 .. PAGE_CACHE_SIZE, deve ser uma potencia de 2). NFS. ~~~~ - Foi adicionado suporte basico para o NFSv4 (servidor e cliente) - Adicionalmente, kNFSD agora suporte transporte sobre TCP. Este caracteristica experimental foi levada para o 2.4.20 - Reportes de interoperiodade com outros sistemas operacionais é valioso. - v1.0.3 do nfs-utils suporte as mudanças novas do 2.6, sobre o kdev_t. Você pode encontrar em http://nfs.sourceforge.net - Problemas envie para nfs@lists.sourceforge.net NTFS. ~~~~~ - Foi incluida a nova re-escritura do NTFS no 2.6. Estas sao os beneficios em relacao ao antigo driver: - Seguro SMP e reentrante. - Suporta cluster de tamanho maior que 4 kB - Suporte total para arquivos extendidos em W2K/XP/W2K3 - Suporte de mmap() - Mais estavel, e muito mais rapido do que a versão anterior do NTFS. - Ainda somente leitura, mas com suporte a uma segura reescrita do arquivo sem mudancas com o tamanho do arquivo. - Mais informacoes estao disponiveis em http://linux-ntfs.sf.net sysfs. ~~~~~~ Em simples termos, o sistema de arquivos sysfs é uma maneira sensata que os controladores exportem suas interioridades do que o /proc. Este sistema de arquivo sempre esta compilado, e voce podera montar como outros sistemas de arquivos virtuais. Não é preciso de nenhuma ferramentas em espaço usuario. mount -t sysfs none /sys Veja Documentation/filesystems/sysfs.txt para mais informaçoes. JFS. ~~~~ O JFS da IBM foi incluido no 2.6 (E foi elvado para 2.4.20, mas ainda existem novas caracteristicas aqui. Você pode encontrar mais sobre o JFS em http://www-124.ibm.com/developerworks/oss/jfs/index.html) XFS. ~~~~ O sistema de arquivos da SGI, o XFS foi incluido, e existe uma novas caracteristicas em espaco usuario. Se anima aos usuarios a ler http://oss.sgi.com/projects/xfs para maiores informacoes. Varios utilitarios para criacao e manipulacao de volumes XFS podem ser achados nos servidores de ftp da SGI: ftp://oss.sgi.com/projects/xfs/download/download/cmd_tars/xfsprogs-2.5.4.src.ta r.gz CIFS. ~~~~~ Utilitarios de suporte e documentacao para o sistema de arquivos Common Internet File System (CIFS) pode ser encontrado em http://us1.samba.org/samba/Linux_CIFS_client.html FAT. ~~~~ O suporte ao CVF (VFAT comprimido) foi removido. Isto significa que voce não podera mais acessar particoes DriveSpace. HugeTLBfs. ~~~~~~~~~~ Arquivos neste sistema de arquivos sao levados por grandes paginas se a CPU suportar eles. Veja Documentation/vm/hugetlbpage.txt para mais detalhes. Sistemas de arquivos internos. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /proc/filesystem irá conter varios sistemas de arquivos que não poderam ser montados no espaco usuario, mas sao usados internamente pelo kernel para guardar coisas. A maioria destes sistemas de arquivos sao futexfs e eventpollfs. Suporte a E/S asincronica no kernel (AIO) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ O suporte ao AIO no kernel foi incluida no 2.6. AIO permite a uma única thread de uma aplicação para operacionar em E/S com outros processos, isto prove uma interface para submeter uma ou mais requisicoes de E/S em uma chamada de sistema (io_submit) sem ter que esperar por completo, e separa a interface (io_getevents) para ler a operação completada de E/S associada com um grupo com o determinado dado. Um resumido rapido do que se espera que funcione hoje: - leitura e escrita AIO em raw (e O_DIRECT em blockdev) - leitura e escruta AIO em arquivos abertos com O_DIRECT em ext2, ext3, jfs, xfs E o que é esperado que não funcione ou atualmente não é suportado: - Leitura e escrita AIO em arquivos abertos sem O_DIRECT (ex. sistema de arquivos AIO com um sistema de arquivo IO normalmente protegido) Em ext2, ext3, jfs, xfs e nfs, nao é esperado nenhum retorno ou erro, mas opera sileciosamente por padrao ao comportamento sincronico non-AIO (ex. io_submit espera por uma completa E/S nestes casos). Para outros sistemas de arquivos, -EINVAL é reportado. - fsync AIO (não é suportado por nenhum sistema de arquivos) - leitura e escrita AIO em sockets (não é retorna nenhum erro explicito, mas opera sileciosamente por padrao ao comportamento sincronico non-AIO) Você necessita instalar o libaio-0.3.92 (disponivel em http://www.kernel.org/pub/linux/kernel/people/bcrl/aio/) Se voce estiver escrendo aplicacoes AIO que usam interfaces AIO nativas. Mais informaçoes disponives em http://lse.sf.net/io/aio.html Perfilar (profiling). ~~~~~~~~~~~~~~~~~~~~~ - Foi incluido um sistema de perfilador de rendimento (Oprofile) no 2.6. Com esta opcao compilada, voce terá um sistema de arquivos oprofilefs que você podera montar, existe utilitraios para o espaco usuario que voce podera conversar. Voce pode encontrar mais em http://oprofile.sf.net/ - Voce precisa rementar o utilitario readprofile para o 2.6. Presente no util-linux desde da versao 2.11z Suporte a tabela de BIOS melhorada. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Linux agora suporta varias novas extensões de BIOS. Suporte a opcao simples para carregador (boot) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A especificaçaõ SBF que é uma extensão para BIOS x86 permite melhorar a velocidade de carregamento. Isto faz com que o campo CMOS diga 'Eu arranquei (inicializei) sem problemas, esqueça o POST no próximo boot'. Utilitarios em espaço usuario em http://www.codemonkey.org.uk/projects/sbf/sbf.c Maiores informacoes sobre SBF em http://www.microsoft.com/hwdev/resources/specs/simp_bios.asp Suporte EDD. ~~~~~~~~~~~~ - Adicionado suporte para servicos de disco melhorado de BIOS (Enhanced Disk Drive Services) (EDD), o que permite exportar informações do que a BIOS pensa na inicializacao (boot) e outras informaçoes interessantes para /sys/firmware/edd. - Matt Domsch é interessado em escutar sucesso e falhas neste código ; algum testes simples ele descreve em http://domsch.com/linux/edd30/results.html Monitoração de sistema melhorado. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - lm_sensors. - Incluido nos kernels de distribuições por anos, lm_sensors agora faz parte do kernel oficial. Mas, existe uma interface diferente ( /sysfs em vez de /proc) - http://www.xs4all.nl/~thospel/ASIS/bin/psensors é um otimo script para verificar os campos do novo sysfs. - IPMI. (Interface de Gerenciamento de plataforma inteligente) - IMPI é o padrão para monitoracao de hardware em um sistema. - Página principal do projeto: http://openipmi.sourceforge.net - Especificações: http://www.intel.com/design/servers/ipmi/spec.htm Detecção de CPU x86. ~~~~~~~~~~~~~~~~~~~~ - O código de detecção de CPU sofreu grandes mudanças. Para estar seguro de que se aplicaram todas aplicacoes necessarias, verifique se foi detectado corretamente. cat /proc/cpuinfo irá lhe falar o que o kernel pensa. - Igualmente, o controlador MTRR do x86 sofreu mudanças consideraveis. Comprove que o XFree86 configurou os MTRRs da mesma maneira que fazia no 2.4 (Falhas serao guardadas em /var/log/XFree86.log) - Os processadores PII Xeon e possivelmente outros PII necessitam de atualizações pela BIOS ou o driver microcode irá ter falhas (bugs) com relação ao O(1) shedules (agendamento) na CPU. Você pode achar utilitarios para microcode em - Qualquer regresão em ambas devera ir para mochel@osdl.org Cc: davej@codemonkey.org.uk Extra tainting. ~~~~~~~~~~~~~~~ Rodar certos processadores AMD em equipamentos SMP esta fora da especificação, o kernel irá marcar com a bandeira (flag) 'S'. Rodar 2 Athlon XPs por exemplo pode parecer funcionar sem problemas, mas também poderia dificultar para concertas falhas. Com o tempo, seguramente, esta bandeira se extenderá para cubrir outros casos que estão fora de especificaçao. Adicionalmente, a nova interface de modulos irá avisar o kernel se voce tentar 'forcar' o modulo para ser carregado com -f. Gerenciamento de energia. ~~~~~~~~~~~~~~~~~~~~~~~~~ - 2.6 contem uma copia mais atualizada do driver APCI. Caso voce teve experiencia com algum problema na inicialização (boot), tente inicializar com o argumento 'acpi=off' para descartar qualquer interação com ACPI. ACPI tem um papel envolvido em trazer o sistema para cima no 2.6 do que no 2.4. - A antiga opção de inicialização 'acpismp=force' agora é obsoleta, e será ignorada, já que o antigo analizador 'mini ACPI' foi removido. - Suspensão por software ainda esta em desenvolvimento, e precisa de mais trabalho. O uso com SMP ou/e PREEMPT não é aconselhado. - O código ACPI fará alguns testes de sanidades na estrutura DMI na BIOS para determinar a data em que foi escrita. Assumindo que as BIOSes mais velhas do que o ano de 2000 estão quebradas. Em algumas circustancias, assumir isto é um erro. Se voce ver a mensagem do ACPI dizendo que foi desabilitado por esta razao, tente inicializar com a opção 'acpi=force'. Se as coisas funcionarem sem problemas, envie a saida do dmidecode (http://www.nongnu.org/dmidecode/) para acpi-devel@lists.sf.net com uma explicação de por que sua BIOS não deve estar em uma lista negra. Escala de frequencia da CPU. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Certos processadores tem a facilidade de escalar suas voltagens/frequencias. 2.6 introduz uma interface com esta caracteristica, veja Documentation/cpufreq para mais informações. Esta funcionabilidade também cobre as caracteristicas como a SppedStep da Intel, e a Powernow! presentes em moveis AMD Athlons. Em adição as variantes da x86, este também suporta varias CPUs ARM. Você pode achar um daemon que monitore a vida da bateria e ajuste consequentimente em: http://sourceforge.net/projects/cpufreqd Por traz do MCE. ~~~~~~~~~~~~~~~~ O alimentador de verificações foi extendido de modo que comprove regularmente por qualquer problema em AMD Athlon, e sistemas Intel Pentium 4. Isto pode resultar em excessoes com mais frequencias ocorridas durante o 2.4 que estão fora da especificação dos sistemas. (Overclocking/ ventilação inadequada/fonte de alimentação com pouca energia etc..). LVM2 - DeviceMapper. ~~~~~~~~~~~~~~~~~~~~ O código do LVM1 teve seu código removido na maior parte, e foi substituido por um muito melhor chamado de 'mapeador de dispositivo' (device mapper) - Esta compativel com formato de disco do LVM1. - O mapeador de dispositivo requer novas ferramentas para gerenciar os volumes. Você podera pega-los em ftp://ftp.sistina.com/pub/LVM2/tools/ Opções para depuração. ~~~~~~~~~~~~~~~~~~~~~~ Durante o periodo de estabilização, é provavel que as opções de depuração no menu 'kernel hacking' irá trazer poucos problemas. Por favor, reporte qualquer um destes problemas para linux-kernel@vger.kernel.org em vez de desabilitar apenas as opcoes CONFIG_ relevantes. Incluindo kksymoops significa que o kernel irá colocar para fora automaticamente os oopses decodificados (que alimentam o ksymoops). Por esta razão, voce deve sempre habilitar a opcao no menu 'kernel hacking' chamada 'Load all symbols for debugging/kksymoops'. Testando com CONFIG_PREEMPT irá aumentar o número de informações para deburação do kernel. O preemption no kernel nos da a habilidade enorme para deburação, verificações de erros como dormir com os fechamentos prendidos, agendando quando atomico, retirar fechamentos na saida, etc. Problemas com compiladores. ~~~~~~~~~~~~~~~~~~~~~~~~~~~ - O compilador recomendado (para x86) ainda é o 2.95.3. - Quando compilado com um modermo gcc (Ex. gcc 3.x), 2.6 usara otimizações adicionais que no 2.4 não havia. Talvez isto pode causar bugs com o compilador que no 2.4 nao havia. - Nao use o gcc 3.0.x em x86 pelo fato de uma falha ponteiro de pilha. - gcc 2.96 não é suportado com a opção CONFIG_FRAME_POINTER=y devido a uma falha no ponteiro de pilha. (stack pointer) Assuntos de segurança. ~~~~~~~~~~~~~~~~~~~~~~ Varios problemas de segurança resolvidos no 2.4 não foram portados para o 2.6. Por esta razao os kernel 2.6.x nao devem ser testado em sistemas nao confiaveis. Testes com conhecidos exploits no 2.4, o reporte é muito útil. SELinux. ~~~~~~~~ A melhora de segurança da NSA (SElinux) foi incluida no 2.6. Esta desativada por padrão e pode ser habilitada no tempo de boot com o parametro selinux=1. Você pode obter as ferramentas de configuração e exemplos de configuração de politicas em http://www.nsa.gov/selinux Redes. ~~~~~~ - ebtables O codigo de 'brigding firewall' foi incluido. Para gerenciar isto, voce devera das ferramentas do ebtables que estao disponiveis em http://users.pandora.be/bart.de.schuymer/ebtables/ Mais sobre bridge-nf pode ser achado em http://bridge.sourceforge.net - Agora o iptables pode ver pacotes 'bridged'. - IPsec Linux finalmente tem o IPsec suportado no kernel oficial. Use o KAME, o porte da ferramenta. http://sourceforge.net/projects/ipsec-tools Para mais informações http://www.lib.uaa.alaska.edu/linux-kernel/archive/2002-Week-44/1127.html Bert Hubert também tem um howto em http://lartc.org/howto/lartc.ipsec.html Adicionalmente, ipsec-utils esta em http://sourceforge.net/projects/ipsec-tools Herbert Xu também tem remendos denovo para o FreeWAN 2.00 que permite ser usado as funcionabilidades no 2.6 do IPEC. Ele pode ser pego em http://gondor.apana.org.au/~herbert/freeswan/ Como howto adicional em http://www.ipsec-howto.org - Alguns aplicativos fazem que o kernel guspisse alguns alertas como 'processo xx esta usando um obsoleto setsockopt SO_BSDCOMPAT'. - Bind 9.2.2 checa por #ifdef SO_BSDCOMPAT em corretamente, então só recompilar é tudo que é preciso. - bind9-host do debian testing faz gerar isto, enquanto o pacote 'host' não. - process `snmpd' usa o obsoleto setsockopt SO_BSDCOMPAT - process `snmptrapd' usa o obsoleto setsockopt SO_BSDCOMPAT - ntop usa obsoletos (PF_INET,SOCK_PACKET) - Usuarios de maquinas com mais de 1 NIC devem achar isto, por exemplo se referir em oposto ao 2.4 a eth0 e ao eth1. Este bug foi arrumado antes do 2.6.0. Uma opção (solucao temporaria) para isto foi usar 'nameif' no nome da interface ethernet. Existe um HOWTO que cobre sobre isto em - Suporte a novas RFCs. - RFC3173 (IP Payload Compression). - RFC3041 (IPv6 Privacy Extensions). - RFC2473 (IPv6 in IPv6 tunnels). - RFC2960 (SCTP - ver abaixo). - Linux alega um colapso de congestionamento quando existe uma carga pesada de rede. NAPI concerta esta entre outras coisas e melhora a perfomace na rede. Mais informações em http://www.cyberus.ca/~hadi/usenix-paper.tgz e ftp://robur.slu.se/pub/Linux/net-development/NAPI/ - IPVS (Servidor Virtual IP) http://www.linuxvirtualserver.org/ - SCTP (Stream Control Transport Protocol) SCTP é um protocolo de controle de congestionamento orientado a mensagens baseado ao IP, suporta multi-homing transparente e multiplos fluxos ordernados a mensagens. RFC2960 define o protocolo básico. Mais informações sobre o protocolo pode ser achado em http://www.ietf.org/rfc/rfc2960.txt e mais sobre a implementação no kernel do Linux http://lksctp.sourceforge.net Crypto ~~~~~~ - Foi incluida a generica API de criptografia, oferencendo suporte a varios algoritimos (HMAC,MD4,MD5,SHA-1,SHA256,SHA384,SHA512,DES,Triple DES EDE, Blowfish, Twofish, Serpent, AES, CAST5, CAST6) - Estas funcionabilidades são usadas pelo IPsec e o crypto-loop. É possivel mais tarde também disponibilizar o uso em espaço usuario atravez de um dispositivo, possivelmente compativel com o espaço usuario do OpenBSD. - O dispositivo loopback do kernel agora pode ser criptografado usando a CryptoAPI. Podera necessitar de ferramentas novas no espaço usuario. Portes. ~~~~~~~ - 2.6 suporta novas arquiteturas. - x86-64 (AMD Hammer) - ppc64 - UML (Linux em modo de usuario) (User mode Linux) Veja http://user-mode-linux.sf.net para mais informações. - uCLinux: m68k(w/o MMU), h8300 and v850. sh também foi adicinado como uma opção uCLinux - O porte de 64 bit do s390x é portado como unico, aparecendo como uma opção na configuração como arquitetura base s390. - Em direção oposta, o arm26 foi retirado de arm. - Arquiteturas x86 também tem suporte a 'subarquiteturas' para suportar maquinas x86 'estranhas' (principalmente brinquetos de meninos grandes). As arquiteturas suportadas atualmente: - ES7000 - PC9800 (incompleto) - VISWS (Esta no 2.4, mas esta na hora de mantelo novamente) - Voyager. (http://www.hansenpartnership.com/voyager/) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Outros links. http://www.kernelnewbies.org/status/ http://bugzilla.kernel.org/ http://www.kniggit.net/wwol26.html