Há muitos anos, os desenvolvedores expressaram a sua preocupação, em relação a quantidade enorme de drivers inclusos no kernel Linux. Na época (não me lembro exatamente qual foi o ano), a quantidade de linhas de código designadas para o suporte ao hardware, era algo estimado em torno de 2/3 da base de código do kernel! Um belo exemplo posterior a esta época, foi remoção ao suporte para a arquitetura i386, a qual foi a primeira oficialmente a ser suportada…
“Torvalds described as ‘slightly less usual’ the removal of old IDE support in this cut of the kernel. Even removing the ‘few tens of thousands of lines of legacy code” related to IDE couldn’t stop the kernel growing, when measured by the number of lines of code it contains. Removing the IDE code did, however, make a lot of 40-pin ribbon cables redundant unless users adopt the libata code that remains in the kernel. Those still wedded to storage tech that uses those cables were given around two years’ warning of IDE’s demise in the kernel.”
— by The Register.
E agora, chegou a vez do antigo padrão IDE de legado, o qual era utilizado pelo sistema para se comunicar com as controladoras dos antigos HDs PATA. Tempos depois, com o lançamento do padrão SATA e o modo AHCI (voltado para tirar proveito desta conexão), ela foi sendo gradualmente substituída. Por ser uma tecnologia para lá de antiga (já obsoleta), não faz mais sentido manter as milhares de linhas de código que oferece suporte ao padrão. A partir do kernel 5.14, estes códigos serão removidos e os novos sistemas não irão mais reconhecer estas unidades de armazenamento, que ainda são utilizadas por antigas placas-mãe. Porém, devemos levar em consideração dois cenários típicos, em que esta tecnologia ainda poderá estar sendo usada…
O primeiro está no fato de muitos equipamentos (também antigos) oferecem o suporta a unidades SATA, mas com o modo IDE Legacy ativo (por questões de compatibilidade com sistemas operacionais mais antigos) e por isto, devem ser reconfiguradas na BIOS para suportar o modo AHCI (voltado para o padrão SATA, mais moderno e que oferece bem mais recursos). Como sabemos, ainda existem muitos PCs desktops antigos que trocaram o Windows Vista/7 por distribuições Linux mais leves. Mesmo já suportando o padrão SATA, estas máquinas ainda mantém ativa o IDE Legacy para fins de compatibilidade ou ainda, foram esquecidas nestas definições para suportarem o antigo Windows XP.
O segundo está no fato de que muitas distribuições não funcionam muito bem em “hardware virtualizado”, obrigando-nos a criar VMs com definições de hardware mais antigas, para driblar os problemas de compatibilidade e possibilitar a sua instalação. Por exemplo, no Hyper-V sou obrigado a utilizar VMs de Geração 1 (com suporte a BIOS e controladores IDE) para que certas distribuições (e até mesmo o próprio Windows) funcionem sem maiores dificuldades. Já no VirtualBox, as VMs criadas adicionam automaticamente o drive de DVD virtual, além de “conectá-los” a uma controladora IDE virtual, o que certamente irá impossibilitar realizar a instalação destes sistemas a partir da imagem ISO.
Mesmo com a remoção destes drivers, o kernel Linux continua crescendo… &;-D