Bacharel em Informática pela Universidade Católica do Salvador (UCSal). Consultor, Desenvolvedor, técnico, tradutor e docente em tecnologias da informação e comunicação (TIC). Atuou em Programas de Inclusão e Cultura Digital do Governo Federal como Casa Brasil (ITI/CNPq), GESAC (Ministério das Comunicações) e no Pontão de Cultura Digital juntaDados.org (Universidade do Estado da Bahia). Nestes participou do desenvolvimento e customização das distribuições GNU/Linux utilizada pelo programa GESAC e juntaDados.org e realizou oficinas e palestras técnicas sobre desenvolvimento de software, planejamento e montagem de infraestrutura. Ministrou aulas no Serviço Nacional de Aprendizagem Industrial (SENAI) da Bahia nos cursos de Certificação Linux LPI-1 e Certificação Conectiva/Mandriva. Já trabalhou com infraestrutura de redes de computadores, administração de servidores, desenvolvimento e analise de sistemas, pesquisa e desenvolvimento científico, docência técnica dentre outros.
Meus Projetos: https://gitlab.com/marcelo-soares-souza
Campanha para o Financiamento Coletivo do Mapa da Agroecologia - Saberes e Práticas (Crowdfunding)
19 de Novembro de 2021, 13:57 - sem comentários aindaO Mapa da Agroecologia Saberes e Práticas é uma plataforma tecnológica que permite o mapeamento e a troca de experiências Agroecológicas com o objetivo de aproximar pessoas (em todos os cantos e recantos, do campo a cidade) afim de fortalecer, e criar novas, redes de colaboração que potencialize o compartilhamento de experiências reais (e imaginárias).
Desde o assentamento, quilombos, pequenos proprietários rurais, passando por hortas urbanas, indo muito além, plantando ideias (e sonhos) para colher bem estar, sustentabilidade e preservação.
Esta é uma ação que brotou durante o preparatório do X Congresso Brasileiro de Agroecologia, do VI Congresso Latino-americano de Agroecologia e do V Seminário de Agroecologia do Distrito Federal e Entorno, realizados em Brasília/DF, no período de 12 a 15 de setembro de 2017. Esta proposta foi apresentada durante o encontro onde foram registrados mais de 150 experiências.
O Mapa da Agroecologia desde então tem sido mantido por voluntários e nosso desejo agora é trazer melhorias e novas funcionalidades, incluindo um aplicativo para dispositivos móveis permitindo que mais pessoas participem ativamente desta rede. Nosso objetivo aqui também é o de redesenhar toda a interface para que esta se torne mais intuitiva e fácil.
O Mapa da Agroecologia é um Software Livre, ou seja todo o código-fonte (conhecimento), além de seus dados, são livres e podem ser (re) utilizados e compartilhados livremente. Acreditamos que os ideais do movimento Software Livre de construir tecnologia "Socialmente Justa, Economicamente Viável e Tecnologicamente Sustentável" estão em perfeita sinergia e sincronia com as tantas ideias e práticas da Agroecologia.
Acreditamos na liberdade, solidariedade e sustentabilidade. E gostaríamos de continuar nossa caminhada com a sua ajuda. Juntos, caminhando e plantando, respeitosamente, arduamente para colher novos frutos, conhecimentos, práticas e assim construir soluções sustentáveis e justas.
Conheça mais: https://opencollective.com/agroecology-map/contribute
Nova versão da plataforma livre para o mapeamento de iniciativas em agroecologia
4 de Abril de 2018, 22:47 - sem comentários ainda
A plataforma Mapa da Agroecologia, uma ferramenta livre que permite o mapeamento de iniciativas em Agroecologia, disponibilizou uma nova versão. Esta traz correções e melhorias diversas, incluindo aprimoramentos na interface, adição de novos campos e a opção de tradução da interface (Português, Espanhol e Inglês).
A plataforma esta em constante evolução e é livre, estamos sempre buscando parceiros para aprimorar o sistema, não somente fornecendo informações sobre os locais que já realizam experiências em agroecologia mas com sugestões e dicas de como melhorar a plataforma em si. Por ser um Software Livre você pode contribuir com código, documentação e tradução da interface.
Esta plataforma esta disponível como Software Livre, sobre a licença GPLv3, e foi oficialmente apresentada durante o VI Congresso Latino-americano de Agroecologia (#Agroecologia2017) que ocorreu em Brasília, DF em 2017.
Conheça a Plataforma em funcionamento em https://mapadaagroecologia.org/ e adicione o Local e a Experiência que esta realizando para que possamos fomentar novas redes de colaboração.
Através do código-fonte é possível customizar a plataforma e implantá-la em qualquer iniciativa que deseje mapear experiências de agroecologia no Brasil.
O Código-fonte esta disponível em https://gitlab.com/ITBio3/agroecologia e foi desenvolvido utilizando Ruby on Rails.
Relatos e Mapeamento da Agroecologia no Brasil e mundo esta disponível
21 de Setembro de 2017, 15:06 - sem comentários ainda
Os temas de Agroecologia, Agricultura Familiar, Economia Solidária dentre outros foram amplamente debatidos durante o Congresso Brasileiro e Latino-americano de Agroecologia (#Agroecologia2017) que ocorreu em Setembro de 2017 em Brasília.
Os relatos deste encontro podem ser acessados no Link: https://relatosagroecologia2017.itbio3.org/atividades/.
O Mapa da Agroecologia, desenvolvido e disponibilizado como Software Livre, contemplando os Produtores, Pesquisadores e Núcleos de Apoio a Agroecologia esta sendo hospedado em https://agroecologia.itbio3.org
Plataforma Livre Agroecologia Saberes e Práticas será apresentada no Congresso Latino-americano de Agroecologia
8 de Setembro de 2017, 13:02 - sem comentários aindaA plataforma Agroecologia Saberes e Práticas é uma ferramenta que permite o mapeamento e registro de iniciativas, experiências e práticas em Agroecologia em todas as suas vertentes. A agroecologia é o estudo dos agroecossistemas abrangendo todos os elementos humanos e ambientais e a proposta desta plataforma é potencializar estes aspectos através de interações entre os diversos fomentadores destes sistemas agroecológicos.
Esta plataforma é desenvolvida e disponibilizada como Software Livre e estará sendo oficialmente apresentada durante o VI Congresso Latino-americano de Agroecologia (#Agroecologia2017) que ocorrera em Brasília (DF) entre os dias 12 e 15 de Setembro de 2017.
Conheça a Plataforma em https://agroecologia.itbio3.org/
Código-fonte disponível em https://gitlab.com/ITBio3/agroecologia
Plataforma Social Livre busca Financiamento Coletivo
1 de Dezembro de 2016, 16:46 - sem comentários aindaA Plataforma Faz Bem Fazer o Bem constitui-se em um ambiente que aproxima de um lado os interessados em ajudar o próximo, sejam eles indivíduos, grupos organizados ou empresas buscando atuar com ações de apoio social; e do outro, instituições que prestam serviços sociais, sejam apoiando crianças, idosos, portadores de doenças, indivíduos rejeitados pela sociedade, entre outros grupos de apoio.
A proposta é que esta plataforma tenha como premissas fundamentais: promover um meio de doação facilitada, basilar as relações e atividades executadas na máxima transparência, fornecer um processo de doação mais igualitário, isto é, nele todas as instituições terão a mesma possibilidade de receber doação, sejam elas as instituições mais conhecidas/tradicionais ou as menos conhecidas da sociedade.
A solução é totalmente livre, sobre a GPLv3, e o código-fonte esta disponível em: https://github.com/marcelo-soares-souza/fazbemfazerobem.org
Estamos buscando apoio através de Financiamento Coletivo (crowdfunding): https://www.catarse.me/fazbem_fazerobem
GNU/Linux juntaDados 5.0.3
16 de Dezembro de 2013, 13:52Uma nova versão da distribuição GNU/Linux, voltada para produção audiovisual, juntaDados foi disponibilizada, agora baseada no Debian GNU/Linux 7.3.0 (Wheezy).
Entre as principais novidades do GNU/Linux juntaDados 5.0.3 estão a adoção do Debian GNU/Linux 7.3.0 (Wheezy) como base, Ardour 3.5.74, Blender 2.69, LibreOffice 4.1.2, Firefox 26, FFmpeg 1.0.8, Muan 12.0.5, GIMP 2.8.2 e muito mais. O Kernel Linux foi atualizado para a versão 3.12.5.
Download Espelho juntaDados
http://juntadados.org/sites/default/files/juntadados/5.0.3/juntaDados-5.0.3-amd64.iso (64 bits)
http://juntadados.org/sites/default/files/juntadados/5.0.3/juntaDados-5.0.3-i386.iso (32 bits)
Download Espelho Estúdio Livre
http://estudiolivre.org/files/juntadados/5.0.3-amd64/juntaDados-5.0.3-amd64.iso (62 bits)
http://estudiolivre.org/files/juntadados/5.0.3-i386/juntaDados-5.0.3-i386.iso (32 bits)
Torrent
http://juntadados.org/sites/default/files/juntadados/5.0.3/juntaDados-5.0.3-amd64.torrent (64 bits)
http://juntadados.org/sites/default/files/juntadados/5.0.3/juntaDados-5.0.3-i386.torrent (32 bits)
O que é?
Um Sistema Operacional completo e livre baseado nas ideias e ideais do projeto GNU e da FSF e que tem como objetivo simplificar e facilitar as atividades de produção audiovisual dos Pontos de Cultura, ações de Inclusão Digital e Cultura Digital.
Esta distribuição possui as principais ferramentas para produção de conteúdo de Áudio, Vídeo, Imagem e Texto escolhidas através de levantamento feito em Pontos de Cultura e ações de Inclusão Digital.
Observação
Esta distribuição é uma customização do Debian GNU/Linux 7.3.0 (Wheezy) com pacotes do SnowLinux. Todos os códigos fontes estão disponíveis nos repositórios do Debian (apt-get source).
Esta imagem é iso-hybrid e pode ser gravada em uma mídia de DVD e/ou Pendrive (usando o WinDD ou dd). Aconselhamos o uso de uma Pendrive para maior performance e comodidade no uso no modo Live ou para a instalação.
Dúvidas e Sugestões nos envie um e-mail: juntadados@juntadados.org
Nos siga na Rede Social Livre Diaspora*: https://diaspora.juntadados.org/u/juntadados
Conheça e se Cadastre no Mapa da Cultura Brasileira: https://mapadacultura.org/
Venha fazer Escambo com o juntaDados: http://escambo.org.br/profile/juntadados
GNU/Linux juntaDados 5.0.1 agora baseado no Debian Wheezy
23 de Julho de 2013, 0:00A equipe de desenvolvimento do GNU/Linux juntaDados disponibilizou uma nova versão estável, agora baseada no Debian GNU/Linux, da distribuição voltada para a produção audiovisual.
Entre as principais novidades do GNU/Linux juntaDados 5.0.1 estão a adoção do Debian GNU/Linux 7.1.0 (Wheezy) como base, Ardour 3.2, Blender 2.68, LibreOffice 4.0.4.2, Firefox 22, FFmpeg 1.0.7, Audacity 2.0.1, LiVES 1.6.2, VLC 2.0.6, OpenShot 1.4.2, Inkscape 0.48.3.1 e muito mais. O Kernel Linux foi atualizado para a versão 3.10.2 com os escalonadores de processos BFS (ck1) e de E/S BFQ. O ambiente gráfico padrão agora é o Cinnamon, baseado no GNOME 3.
Download Espelho 1: juntaDados-5.0.1-amd64.iso (juntaDados)
Download Espelho 2: juntaDados-5.0.1-amd64.iso (Estúdio Livre)
Torrent: juntaDados-5.0.1-amd64.torrent
O que é?
Um Sistema Operacional completo e livre baseado nas ideias e ideais do projeto GNU e da FSF e que tem como objetivo simplificar e facilitar as atividades de produção audiovisual dos Pontos de Cultura, ações de Inclusão Digital e Cultura Digital.
Esta distribuição possui as principais ferramentas para escritório e de produção de conteúdo de Áudio, Vídeo, Imagem e Texto escolhidas através de levantamento feito em Pontos de Cultura e Ações de Inclusão Digital.
Observação
Esta distribuição é uma customização do Debian 7.1.0 (Wheezy) GNU/Linux Live com pacotes do SnowLinux. Todos os códigos fontes estão disponíveis nos repositórios do Debian (apt-get source).
Esta imagem é iso-hybrid e pode ser gravada em uma mídia de DVD e/ou Pendrive (usando o WinDD ou dd).
Dúvidas e Sugestões nos envie um e-mail: juntadados@juntadados.org
Nos siga na Rede Social Livre Diaspora*: https://diaspora.juntadados.org/u/juntadados
Conheça e se Cadastre no Mapa da Cultura Brasileira: https://mapadacultura.org/
Mapa da Cultura será apresentado no Festival Latino Americano de Instalação de Software Livre do Distrito Federal
23 de Abril de 2013, 0:00No dia 27 de Abril de 2013 (Sábado) o Mapa da Cultura será apresentado no Festival Latino Americano de Instalação de Software Livre (FLISOL) do Distrito Federal.
A palestra sobre o Mapa da Cultura será realizada às 11h na Sala Espaço BackTrack - Sala BA02 - Bloco B, no FLISOL-DF 2013 no Campus IESB OESTE - Ceilândia Norte QNN 31 - Áreas Especiais B/C/D/E. Ceilândia - DF.
Veja a programação e inscreva-se nas atividades do FLISOL-DF 2013: http://flisoldf.blog.br/2013/?page_id=25
Durante a apresentação será distribuído a nova versão do GNU/Linux juntaDados 4.04r4. O GNU/Linux juntaDados traz as principais ferramentas para produção de conteúdo de Áudio, Vídeo, Imagem e Texto escolhidas através de levantamento feito em Pontos de Cultura e Ações de Inclusão Digital. Conheça mais sobre o GNU/Linux juntaDados 4.04r4: http://juntadados.org/index.php?q=node/688
Se você é um Artista, Produtor Cultural, Pesquisador, faz parte de um Ponto de Cultura ou Entidade Cultural cadastre-se no Mapa da Cultura pois iremos enviar uma cópia do Live DVD do juntaDados: https://mapadacultura.org/entidade_equipamentos/new
Siga as ações do juntaDados na rede social livre Diaspora*: https://diaspora.juntadados.org/u/juntadados
GNU/Linux juntaDados 4.04r4
22 de Abril de 2013, 0:00Foi disponibilizado a quarta revisão da versão estável 4.04 do GNU/Linux juntaDados.
O GNU/Linux juntaDados é uma distribuição voltada para a produção Audiovisual com foco nas atividades realizadas em Pontos de Cultura, ações de Inclusão Digital e Cultura Livre.
Entre as principais novidades do GNU/Linux juntaDados 4.04r4 estão o Kdenlive 0.9.6, Blender 2.66a, Ardour 3.0, LibreOffice 4.0.2, Firefox 20, OGMRip 1.0, AviDemux 2.5.6 e a adição do Cinepaint ferramenta utilizada na finalização de grandes produções cinematográficas. O Kernel do Linux foi atualizado para a versão 3.8.7-ck1-bfq-juntadados (Com os escalonadores de processos BFS e de E/S BFQ).
Download Espelho 1: juntaDados-4.04r4-amd64.iso (Projeto de Cultura Digital juntaDados)
Download Espelho 2: juntaDados-4.04r4-amd64.iso (Estúdio Livre)
Torrent: juntaDados-4.04r4-amd64.torrent
Se você é um Artista, Produtor Cultural, Pesquisador, faz parte de um Ponto de Cultura ou Entidade Cultural cadastre-se no Mapa da Cultura pois iremos enviar uma cópia do DVD do GNU/Linux juntaDados 4.04r4.
O que é?
Um Sistema Operacional completo e livre baseado nas ideias e ideais GNU e que tem como objetivo simplificar e facilitar as atividades de produção audiovisual dos Pontos de Cultura, ações de Inclusão Digital e Cultura Digital.
Esta distribuição possui as principais ferramentas para escritório e de produção de conteúdo de Áudio, Vídeo, Imagem e Texto escolhidas através de levantamento feito em Pontos de Cultura e Ações de Inclusão Digital.
Esta ação é uma parceria entre o Projeto de Cultura Digital juntaDados e a Organização Não Governamental Artéria Cultura e Cidadania.
Observação
Esta distribuição é uma customização do Lubuntu 12.04.2 LTS (Precise Pangolin). Todos os AdWare/SpyWare e ferramentas que possam comprometer sua privacidade fornecendo informações a terceiros foram removidos. Todos os códigos-fontes, das ferramentas livres, disponibilizadas nesta imagem, incluindo o Kernel do Linux, estão disponíveis nos repositórios do Lubuntu e em diversos sites/repositórios na Internet. Algumas das ferramentas disponibilizadas nesta distribuição não são consideradas Software Livre ou de código-fonte aberto tal como o Plugin do Adobe Flash ou Firmware de Terceiros.
Dúvidas e Sugestões nos envie um e-mail: juntadados@juntadados.org
Nos siga na Rede Social Livre Diaspora*
Tutorial Instalando o Mapa da Cultura no Debian 7.0 (Wheezy) com o NGINX usando o Phusion Passenger
22 de Abril de 2013, 0:00Este tutorial mostrara como instalar a plataforma para mapeamento cultural Mapa da Cultura. O Mapa da Cultura é um Software Livre sobre a licença GPLv3, desenvolvido em Ruby on Rails 3.2.13 com base de dados em PostgreSQL e que utiliza o OpenLayers (Open Street Map).
Utilizaremos o Phusion Passenger, um módulo para deploy de aplicativos Web desenvolvido em Ruby sobre o Servidor Web de alta performance NGINX usando o sistema operacional GNU/Linux Debian 7.0 Wheezy.
1) Preparando o Ambiente
Primeiro vamos instalar as dependências para o Mapa da Cultura. Para realizar este tutorial é necessário esta logado como administrador do sistema (root) e que a máquina tenha acesso a Internet.
1.1) Edite o arquivo contendo os repositórios
nano /etc/apt/sources.list
1.2) Acrescente as seguintes linhas no final do arquivo sources.list, salve (CTRL + o) e saia do nano (CTRL + x)
deb http://ftp.br.debian.org/debian wheezy main contrib
deb-src http://ftp.br.debian.org/debian wheezy main contrib
1.3) Atualize a base de pacotes local
apt-get update
1.4) Instale as dependências iniciais para o Mapa da Cultura
apt-get install git ruby1.9.1-full rubygems postgresql default-jre libcurl4-gnutls-dev postgresql-server-dev-9.1 libxml2-dev libxslt-dev imagemagick ffmpeg libgraphicsmagick1-dev libgraphicsmagick++1-dev libmagick++-dev build-essential
* Opcionalmente limpe o cache dos pacotes baixados com o comando: apt-get clean
2) Instalando o Mapa da Cultura
2.1) Baixe o Código Fonte do Mapa da Cultura do repositório no Gitorious
- Clonado o repositório do Mapa da Cultura
git clone https://git.gitorious.org/mapa-da-cultura/mapa-da-cultura.git /var/lib/mapa-da-cultura
- Instale as depedências do Ruby on Rails para o Mapa da Cultura
cd /var/lib/mapa-da-cultura
gem install bundle
bundle install
2.2) Configurando o Banco de Dados PostgreSQL
nano /etc/postgresql/9.1/main/postgresql.conf
- Descomente a linha (Retirar o #)
#listen_addresses = 'localhost'
- Alterar modo de acesso ao Banco de Dados
nano /etc/postgresql/9.1/main/pg_hba.conf
- Alterar a linha
host all all ::1/128 md5
- Para
host all all ::1/128 trust
- Re-inicie o PostgreSQL
service postgresql restart
2.3) Configurando o acesso ao Banco de Dados do Noosfero
nano /var/lib/mapa-da-cultura/config/database.yml
- Adicionar ao arquivo config/database.yml
development:
adapter: postgresql
database: mapadacultura_development
username: postgres
password:
host: localhost
test: &TEST
adapter: postgresql
database: mapadacultura_test
username: postgres
password:
host: localhost
production:
adapter: postgresql
database: mapadacultura_production
username: postgres
password:
host: localhost
3) Iniciando o Mapa da Cultura
3.1) Criando o Banco de Dados
RAILS_ENV=development bundle exec rake db:create
RAILS_ENV=development bundle exec rake db:migrate
3.2) Iniciando o Apache Solr (Indexador)
RAILS_ENV=development bundle exec rake sunspot:solr:start
3.3) Preenchendo os Dados Iniciais do Mapa da Cultura
- Populando o Banco de Dados (Credenciais e Parâmetros iniciais)
RAILS_ENV=development bundle exec rake db:seed
4) Configurando o Nginx com o Phusion Passenger
4.1) Instaland o Phusion Passenger
- Instalando a Gem
gem install passenger -v='3.0.19'
- Instalando e Compilando o NGINX com o Módulo Phusion Passenger
passenger-install-nginx-module
* Observação: Selecione a Opção 1 e deixe o diretório /opt/nginx como destino
4.2) Configurando o NGINX
- Apague a configuração antiga do nginx.conf
rm /opt/nginx/conf/nginx.conf
- Crie/Edite um novo arquivo de configuração
nano /opt/nginx/conf/nginx.conf
- Acrescente ao arquivo de configuração nginx.conf
user www-data;
worker_processes 1;
events { worker_connections 256; }
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 15;
passenger_root /var/lib/gems/1.9.1/gems/passenger-3.0.19;
passenger_ruby /usr/bin/ruby1.9.1;
server {
listen 80;
server_name localhost;
passenger_enabled on;
rails_env development;
root /var/lib/mapa-da-cultura/public;
error_log /opt/nginx/logs/mapa-da-cultura.error.log;
access_log /opt/nginx/logs/mapa-da-cultura.access.log;
error_page 500 502 503 504 /50x.html;
location = /50x.html { root html; }
}
}
- Redefina Dono/Grupo do Mapa da Cultura
chown www-data.www-data /var/lib/mapa-da-cultura -R
4.2) Iniciando o Servidor Web Nginx e testando a aplicação em Ruby on Rails
- Inicie o Nginx
/opt/nginx/sbin/nginx
5) Acesse a nova instalação do Noosfero
- No Navegador
http://localhost
Login: admin@localhost.org
Senha: 123456789
Mapa da Cultura - Mapeando a Cultura Brasileira usando Software Livre
22 de Abril de 2013, 0:00O Mapa da Cultura é uma ferramenta interativa e livre, desenvolvida pela Artéria Cultura e Cidadania, em parceria com a Secretária de Cultura do Governo do Distrito Federal através do Fundo de Apoio a Cultura, que tem como objetivo dar visibilidade à produção Cultural além de produzir indicadores e diagnósticos sobre a dinâmica Cultural no Brasil
A primeira versão do Mapa da Cultura foi disponibilizada pela ONG Artéria em 2008, através do projeto Cartografia da Cultura Candanga, e agora este instrumento, totalmente reformulado, traz um importante avanço: a possibilidade de auto mapeamento de Artistas, Entidades, Equipamentos, Trabalhadores(as) e Pesquisadores(as) da Cultura Brasileira.
Isso significa que além das pesquisas de campo realizadas pela equipe da Artéria, Artistas, Profissionais da Cultura, Empresas e Grupos Culturais das mais diversas áreas poderão se inserir no mapa e disponibilizar registros das suas atividades. E dessa forma pretende-se divulgar a rica diversidade cultural do Brasil além de fornecer dados para melhor entendimento da sua dinâmica.
Ganham com esse projeto: o respeitável público - moradores e visitantes das mais diversas regiões que terão acesso a informações detalhadas sobre o cenário cultural dos diversos territórios e às suas especificidades; o setor cultural, que terá um sólido instrumento para identificação e divulgação de suas atividades. Além da sociedade civil, também ganha o Estado, que terá uma ferramenta eficiente para fornecer dados que irão subsidiar a elaboração de políticas públicas e ações pertinentes ao campo da cultura.
O Mapa da Cultura é um Software Livre sobre a licença GPLv3, desenvolvido em Ruby on Rails 3.2.12 com base de dados em PostgreSQL, utilizando o OpenLayers (Open Street Map).
Conheça o Mapa da Cultura: https://mapadacultura.org
Código-Fonte do Mapa da Cultura no Gitorious: https://gitorious.org/mapa-da-cultura
Dúvidas e/ou Sugestões: contato@mapadacultura.org
Em breve no Kernel Linux 3.7 - Parte 5 - CPU e Arquitetura
3 de Dezembro de 2012, 0:00Autor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1758293
Lendo nas entrelinhas do e-mail de lançamento do[1] Linux 3.7-rc6, parecia que tudo apontava para a data de lançamento do Linux 3.7 por volta da primeira semana de Dezembro. O e-mail de lançamento da sétima versão de pré-lançamento[2], por contraste, sugere que talvez haja mais um candidato de lançamento. Cada candidato de lançamento (RC) geralmente adiciona uma semana a data final de lançamento, mais atrasos ocorrerão apenas se os desenvolvedores do kernel precisarem realizar extensas correções exigindo uma nova fase de testes.
A descrição das mudanças ao código de processadores e plataforma que se segue, conclui o nosso "Em Breve no Kernel Linux 3.7". Os primeiros quatro artigos da série mostram as mudanças adicionadas dentro do Linux 3.7 nas áreas de sistemas de arquivos e armazenamento, redes, infraestrutura e drivers.
ARM 64-bit
O Kernel do Linux agora suporta o conjunto de instruções ARM de 64-bit[7] (veja em 1[8], 2[9], 3[10], 4[11] e outros). O código para este conjunto de instruções, oficialmente[12] conhecido como AArch64, foi desenvolvido em grande parte pelos funcionários da ARM[13] e foi colocado em um diretório separado "arch/arm64/" no código fonte do kernel, como sugerido por[14] um grande número de desenvolvedores do kernel quando o código foi inicialmente apresentado.
Isto garante que o código esta separado do código para os processadores ARM de 32-bit. O suporte para os processadores Power de 32- e 64-bit também ficaram separados inicialmente, antes, em ambos os casos, de serem combinados. Alguns desenvolvedores tinham, portanto, questionado sobre a necessidade de separação do código ARM de 32- e 64-bit, mas no final, a opinião de vários líderes, dos desenvolvedores do código ARM, de que isto séria a melhor abordagem[15] prevaleceu. Linus Torvalds também parece ter tido reservas sobre a separação, conforme demonstrou em um comentário no e-mail de disponibilização[16] do primeiro candidato de lançamento da versão Linux 3.7.
Quando consultado, usando programas tais como uname, porém, o kernel retorna[21] "AArch64", ao invés de ARM64, e isto é o que é esperado em ferramentas envolvidas no suporte ao conjunto de comandos ARM de 64-bit. Isto inclui o binutils, que suporta o AArch64 desde a versão 2.23.51.0.2[22]. O Glibc irá suportar o AArch64 a partir da versão 2.17[23], que deve ser disponibilizada em breve. O suporte a AArch64[24] também foi adicionada na árvore principal de desenvolvimento do GCC e deve fazer parte do GCC 4.8.
O conjunto de instruções do ARM 64-bit foi anunciado[25], juntamente com a micro-arquitetura ARMv8, no Outono de 2011. A ARM recentemente mostrou seus primeiros processadores 64-bit na forma do Cortex A53 e A57[26]. Um grande número de empresas pretendem lançar estes processadores. A AppliedMicro já implementou um núcleo ARMv8 em um FPGA e promete o primeiro chip X-Gene antes do final do ano. a empresa esta trabalhando com a ARM e a Red Hat em uma distribuição contendo o Linux ARM64[27]. Um grupo de trabalho da Linaro[28] envolvendo diversas empresas também esta trabalhando em tecnologias para esta distribuição.
ARM Multi-Plataforma
A curto prazo, muito mais importante para o ARM no Linux do que o suporte para ARM 64-bit é o suporte a multi-plataformas ARM[29] dentro do Linux 3.7. Este permite a criação de imagens do kernel capazes de rodar[30] um grande número de diferentes plataformas ARM de 32-bit.
No 3.7, esta imagem do kernel suporta as implementações Highbank, Mvebu, Picoxcell, Socfpga e Vexpress. O código para outras plataformas serão convertidas nas próximas versões do kernel, com o objetivo de termos uma imagem do kernel capaz de rodar muitas plataformas ARM diferentes ARM, assim como no mundo x86. Este foi um dos objetivos da extensa arrumação e reestruturação que o time de desenvolvedores ARM esta trabalhando já há algum tempo. Informações sobre este projeto podem ser encontrados em artigos no LWN.net[31] e em uma apresentação em vídeo[32] pelo desenvolvedor da Linaro Arnd Bergmann.
O time de desenvolvimento do Kernel também adicionou suporte ao SoC Broadcom BCM2835, um SoC equipado com um núcleo ARM que, entre outros usos, é base do Raspberry Pi (1[33], 2[34], 3[35], 4[36] e outros).
Virtualização
Em conjunto com as versões de desenvolvimento[37] do Xen hypervisor 4.3, o Linux agora pode rodar máquinas virtuais com a ajuda de algumas funcionalidades de virtualização oferecidas por alguns dos últimos núcleos ARM (1[38], 2[39] e outros). O suporte KVM a estas funcionalidades de virtualização do ARM ainda estão sendo desenvolvidas.
Máquinas guests Linux podem utilizar alguns drivers do Microsoft Hyper-V para compartilhar informações de configuração de rede com o Microsoft hypervisor (1[40], 2[41] e outros). Extensões para a troca de informação deste tipo foram adicionadas ao serviço hv_kvp_daemon.c, que esta incluso no diretório de ferramentas do Kernel do Linux (1[42], 2[43] e outros). Como as etapas de configurações para a leitura de configurações da rede é diferente em todas as principais distribuições Linux, parte do trabalho do daemon utiliza scripts, que são facilmente adaptáveis a diferentes condições. Scripts de exemplo para configura a interface de rede[44] pra ler configurações de DNS [45] também foram adicionados ao Kernel.
O parâmetro use_bio=1 pode agora ser utilizado para ativar um modo alternativo de operação para o driver de bloco virtio-blk, que possibilita a aceleração de transferência de dados entre convidados e hospedeiros em dispositivos de armazenamento rápido. Isto é ilustrado por medições feitas usando ramdisk e um Fusion IO PCIe Flash card[46]. Com um disco SATA normal, porém esta nova abordagem é mais lenta. A requisição de git pull para o código KVM do Linux[47] de suporte ao Xen[48] discute outras mudanças significativas no campo da virtualização.
Tracing de Processos
A infraestrutura de tracing ganhou o perf-kvm[49], uma ferramenta de análise de eventos que pode ser utilizada para analisar as razões do porque e a frequência que guests KVM trocam de sistema hospedeiro ("VM exit"). Esta é apenas uma das muitas melhorias[50] ao código de tracing. Existe também uma nova ferramenta de tracing do sistema, perf-trace[51], que provê funcionalidades iniciais comparáveis com a "venerável" ferramenta strace. A nova ferramenta, contudo, utiliza a infraestrutura perf do kernel, o que deve possibilitar a este oferecer um grande número de funções.
O Kernel probes (kprobes) pode agora[52] usar checkpoints ftrace estáticos (caso existam) ao invés de breakpoints. Isto deve reduzir o overhead durante a análise. Também como novidade esta o suporte básico[53] no perf para a unidade de monitoramento de perfomance (performance monitoring unit - PMU) em co-processadores Intel Xeon Phi.
Compartimentação
O Kernel do Linux agora suporta a funcionalidade de segurança SMAP (supervisor mode access prevention) (1[54], 2[55], 3[56] e outros). A Intel esta planejando introduzir esta funcionalidade nos processadores Haswell, que estão previstos para suceder a geração Ivy Bridge em meados de 2013.
O SMAP protege as páginas de memória usadas por programas de mudanças pelo kernel. Algumas vezes alguns exploits de erros no Kernel podem ser usados para alterar a memória usada por programas que rodam com privilégios de root, afim de aumentar o seu privilégio no sistema. Detalhes destas funcionalidades podem ser encontrados na página 408 do documento de referência de conjunto de instruções de arquitetura da Intel[57], em uma mensagem no fórum grsecurity[58] e em artigos na LWN.net[59].
Diversos
Com a maioria das versões do Linux lançadas no último ano, no Linux 3.7 os desenvolvedores do kernel otimizaram alguns algorítimos de criptografia do kernel. Melhorias no driver aesni_intel, por exemplo, devem garantir até três vezes mais rendimento, conforme mostrado nos resultados de benchmark[60] realizados por tcrypt.
O Turbostat, uma aplicação de diagnostico inclusa no kernel, agora tem opções[61] para mostrar o número de SMI (System Management Interrupts). Este também provê mais informações sobre a máxima frequência permitida pelo turbo boost[62].
Se a tabela de ACPI contém a descrição de componentes do sistema, esta pode ser lida do diretório sysfs para os componentes relevantes usando o arquivo firmware_node/description[63].
O diretório "tools/power/acpi/" no código do kernel agora contém a ferramenta de diagnostico acpidump, que salva as tabelas ACPI em um arquivo ASCII. Estas informações podem ajudar aos desenvolvedores que não tem acesso a sistema com ferramentas de debugging.
O código do Sparc agora suporte o Niagara 4.
O código do Power e PowerPC agora suporta a ferramenta uprobes[64] e, em alguns processadores, pode endereçar até 64TB de memória[65] - porém este ainda não foi testado.
Links destes artigo:
[1] http://article.gmane.org/gmane.linux.kernel/1395793
[2] http://article.gmane.org/gmane.linux.kernel/1400265
[3] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-1-Filesystems-storage-1750000.html
[4] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-2-Networking-1752099.html
[5] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-3-Infrastructure-1755953.html
[6] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-4-Drivers-1757358.html
[7] http://www.h-online.com/news/item/ARM-targets-64-bit-servers-1368839.html
[8] http://git.kernel.org/linus/8c2c3df31e3b87cb5348e48776c366ebd1dc5a7a
[9] http://git.kernel.org/linus/38074229de4774597ea09315ae78a550cada5ba6
[10] http://git.kernel.org/linus/3dd681d944f6d861f12ee03aff17a14342963330
[11] http://git.kernel.org/linus/9703d9d7f77ce129621f7d80a844822e2daa7008
[12] http://infocenter.arm.com/help/topic/com.arm.doc.aeg0014e/ABCDEFGH.html#BABJBIJF
[13] http://thread.gmane.org/gmane.linux.kernel/1367774
[14] http://www.h-online.com/news/item/64-bit-ARM-support-for-Linux-AArch64-1634610.html
[15] http://thread.gmane.org/gmane.linux.kernel/1324121/focus%3D1324278
[16] http://article.gmane.org/gmane.linux.kernel/1375496
[17] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-1-Filesystems-storage-1750000.html
[18] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-2-Networking-1752099.html
[19] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-3-Infrastructure-1755953.html
[20] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-7-Part-4-Drivers-1757358.html
[21] https://www.youtube.com/watch?v=GEcvSq4SDkc&t=0m30s
[22] http://article.gmane.org/gmane.comp.lib.glibc.alpha/25023/
[23] http://sourceware.org/git/?p=glibc.git;a=blob_plain;f=NEWS;hb=HEAD
[24] http://gcc.gnu.org/viewcvs/trunk/gcc/config/aarch64/
[25] http://www.h-online.com/news/item/Processor-Whispers-About-big-ARMs-and-long-legs-1372392.html
[26] http://www.h-online.com/news/item/ARM-introduces-Cortex-A53-and-Cortex-A57-64-bit-processor-cores-1740889.html
[27] http://phx.corporate-ir.net/preview/phoenix.zhtml?c=78121&p=irol-newsArticle&ID=1750154&highlight
[28] http://www.h-online.com/news/item/Linaro-creates-ARM-enterprise-server-group-1742127.html
[29] http://thread.gmane.org/gmane.linux.kernel/1368173/focus%3D1368179
[30] http://git.kernel.org/linus/387798b37c8dd0ae24c0ac12ba456dd76865bca3
[31] http://lwn.net/Articles/496400/
[32] http://linuxplumbers.ubicast.tv/videos/news-from-the-arm-architecture/
[33] http://git.kernel.org/linus/ec9653b8476bf526dde7bdefbc2be6b7aaa34db7
[34] http://git.kernel.org/linus/89214f009c1d38568456dcf997d93977928fe2c3
[35] http://git.kernel.org/linus/ee4af5696720bb5b9de2e3b18be42089bed1e638
[36] http://git.kernel.org/linus/75fabc3f64489aa2c52eec54cd433ea269a25e05
[37] http://article.gmane.org/gmane.linux.kernel/1369834
[38] http://git.kernel.org/linus/4c071ee5268f7234c3d084b6093bebccc28cdcba
[39] http://git.kernel.org/linus/c43cdfbc4cebdf1a7992432615bf5155b51b8cc0
[40] http://git.kernel.org/linus/03db7724af1315f644ddc26e9539789eac4a016a
[41] http://git.kernel.org/linus/9b5957803cb444a99275355eb2309b6fecc63c5f
[42] http://git.kernel.org/linus/32061b4d3830e61975ede409df389804507fd220
[43] http://git.kernel.org/linus/16e87100e62330cb1e58ee772cacb7d4e6d5b61b
[44] http://git.kernel.org/linus/1fbdba4edd071daffbba1c172abb44bbe6a4344a
[45] http://git.kernel.org/linus/d82c37ce6896734a4a2a9b74c22084fe47824466
[46] http://git.kernel.org/linus/a98755c559e0e944a44174883b74a97019e3a367
[47] http://article.gmane.org/gmane.linux.kernel/1369806
[48] http://article.gmane.org/gmane.linux.kernel/1368526
[49] http://git.kernel.org/linus/bcf6edcd6fdb8965290f0b635a530fa3c6c212e1
[50] http://thread.gmane.org/gmane.linux.kernel/1367671
[51] http://git.kernel.org/linus/514f1c67c2fdae7b334fdc5adee63a484781241a
[52] http://git.kernel.org/linus/ae6aa16fdc163afe6b04b6c073ad4ddd4663c03b
[53] http://git.kernel.org/linus/e717bf4e4fe8adc519f25c4ff93ee50ed0a36710
[54] http://git.kernel.org/linus/52b6179ac87d33c2eeaff5292786a10fe98cff64
[55] http://git.kernel.org/linus/63bcff2a307b9bcc712a8251eb27df8b2e117967
[56] http://git.kernel.org/linus/40d3cd6695014bf3c44e2ca66b610b18acaf923d
[57] http://software.intel.com/sites/default/files/319433-014.pdf
[58] http://forums.grsecurity.net/viewtopic.php?f=7&t=3046
[59] https://lwn.net/Articles/517475/
[60] http://git.kernel.org/linus/023af608254add7ba037cd634cc5f2fb21ff6420
[61] http://git.kernel.org/linus/f9240813e61cb3e5838c9ab0237af831c61df7cf
[62] http://git.kernel.org/linus/6574a5d5053cd3b8e7c088900b80a9ff51895450
[63] http://git.kernel.org/linus/d1efe3c324ead77d3f6cd85093b50f6bd2e17aba
[64] http://git.kernel.org/linus/8b7b80b9ebb46dd88fbb94e918297295cf312b59
[65] http://git.kernel.org/linus/048ee0993ec8360abb0b51bdf8f8721e9ed62ec4
Em breve no Kernel Linux 3.7 - Parte 4 - Drivers
30 de Novembro de 2012, 0:00Autor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1757358
Os desenvolvedores do driver Nouveau realizaram grandes mudanças na parte do kernel relacionado aos drivers das placas NVIDIA (1[1], 2[2], 3[3], 4[4], 5[5], 6[6] e outros). Este deve se adequar muito melhor aos chips NVIDIA, os quais os desenvolvedores tem se aprofundado através de engenharia reversa ao longo dos anos. O objetivo principal é uma arquitetura do driver mais limpa e simples, que torne a implementação de novas funcionalidades mais fáceis, tais como o NVIDIA Scalable Link Interface (SLI), que ainda não é suportado no Nouveau. Outra adição ao Linux 3.7 é um suporte rudimentar[7] para configuração do gerenciador da ventoinha para núcleos gráficos das séries NV40 a NV50[8], que é utilizadas nas séries 6xxx até 300 de placas GeForce. Para algumas placas de vídeo GeForce 600 com a GPU Kepler (NVE0[9]), o driver Nouveau agora utiliza[10] o seu próprio firmware[11], porém ainda não suporta funcionalidades de aceleração.
O código para a configuração de saída de vídeo[12] será mais robusta e flexível graças a uma grande mudança no driver i915 da Intel. Agora o Sysfs pode ser usado para obter informações sobre a frequência do processador gráfico e para definir limites para que, por exemplo, limite a quantidade máxima de consumo de energia (1[13], 2[14], 3[15] e outros). Os usuários devem utilizar o parâmetro preliminary_hw_support no driver para ativar o suporte em alguns núcleos gráficos em alguns processadores que ainda não estão disponíveis.
No Linux 3.7, a não ser que alguma coisa mude, isto será necessários para os núcleos gráficos tais como os de codinome Haswell e ValleyView, que devem sair no próximo ano. Exigir o parâmetro deve prevenir que usuários acidentalmente usem estes processadores gráficos com um driver incompleto. Outras mudanças para o driver Intel no Linux 3.7 podem ser encontrado no blog do mantenedor Daniel Vetter[16].
Mudanças realizadas no código de configuração de monitor, no driver gráfico Radeon irá, em alguns casos, permitir aos novos núcleos gráficos da AMD gerenciarem mais de dois monitores com mais de um phase-locked loop[19] (PLL), permitindo a combinação de mais múltiplos-monitores e diminuindo o consumo de energia[20] para algumas configurações (1[21], 2[22], 3[23], 4[24]).
Outra nova funcionalidade, traz o suporte a "2-level VM pagetables"[25], e pode diminuir o consumo de memória. Novas funcionalidades no driver Radeon incluem um gerenciador de backlight e melhorias na interação com o firmware do sistema através da ACPI, o que deve permitir que a regulação de brilho funcione melhor em notebooks (1[26], 2[27], 3[28], 4[29]).
Áudio
O suporte a mecanismo de redução de consumo de energia, em tempo de execução[30], nos drivers para chips de áudio HD não estão mais marcados como experimentais e serão ativados por padrão. Os desenvolvedores do kernel também expandiram o suporte[31], ao gerenciamento de energia em tempo de execução, no driver HDA, assim estes dispositivos PCI/PCIe podem entrar em estado de sleep.
Outra adição ao kernel é uma API de mapeamento de canais para melhor consulta e configuração de canais de áudio, o que deve ser útil quando utilizado a funcionalidade de som surround (1[32], 2[33], 3[34], 4[35], 5[36]).
Existe também um novo driver para o chip CMI8328 da C-Media [37], que pode ser encontrado em placas de áudio AudioExcel AV500.
A versão do driver ALSA[38] no kernel não pode mais ser vista através do sistema de arquivos proc; como explica o comentário de envio deste commit, a informação não necessariamente corresponde a versão dos pacotes de drivers que o projeto ALSA disponibiliza.
Multimídia
O subsistema de mídia traz uma nova API para controladores DVB conectados por USB; um grande número de drivers do kernel foram modificados para usar a API DVB USB v2. Espera-se que esta mudança corrija um grande número de erros e garanta um comportamento adequado durante a suspensão e resumo do sistema. Os desenvolvedores também mudaram o local do driver dentro dos diretórios do kernel ('drivers/media/'), movendo muitos drivers para novos subdiretórios (1[39], 2[40], 3[41], 4[42] e outros).
Juntamente com as mudanças no driver Nouveau e a separação da API do espaço de usuário, esta é uma das principais razões da análise diffstat mostrar tantas mudanças quando comparada ao Linux 3.6.
Outras adições incluem suporte a multistream para o DVB-T2[43], ao driver adv7604[44] e para o decodificador ADV7604.
O driver coda[45], para o codificador de vídeo Chips&Media e o suporte para receptores de infravermelho TechnoTrend[46] estão disponíveis pela primeira vez. O driver ngene agora funciona com o[47] Terratec Cynergy 2400i Dual DVB-T; af9035[48], com o Asus MyCinema U3100Mini Plus.
Outro acréscimo ao kernel é o driver stk1160[49] para o chip USB de áudio e vídeo de mesmo nome, que é usado, por exemplo, pelo dispositivo Easycap DVR USB. Este dispositivo foi anteriormente suportado pelo driver easycap na área de avaliação.
Área de avaliação
Uma adição a área de avaliação, devido ao seu código ainda em desenvolvimento, é o driver silicom[51] para as placas de rede Silicom's "Bypass", que junta duas ou quatro portas.
O Ramster, que pode transferir partes da RAM para outro sistema em um cluster e que foi adicionado no Linux 3.5, foi redesenhado (1[52], 2[53], 3[54] e outros). O novo código usa o Zcache2, projetado pelo desenvolvedor do Ramster; a implementação é uma reescrita do Zcache, que pode comprimir espaços de swap e partes da memória do sistema e que esta atualmente na área de avaliação.
Os desenvolvedores das duas variantes do Zcache ainda não chegaram a um acordo[55] sobre qual das implementações é melhor para uma determinada solução fora da área de avaliação.
Diversos
O subsistema human interface devices (HIDs) agora suporta o controle remoto do Sony PS3 Blue-ray Disc[56]. O driver para o wiimote pode agora trabalhar com o Nintendo Balance-Board[57], enquanto um novo framework[58] foi adicionado para suportar sensores HID.
O subsistema de entrada agora suporta mais de 32 dispositivos de entrada[59] - um limite que ocasionalmente é atingido.
Utilizando o SR-IOV, o driver Infiniband mlx4 pode agora transferir parte das funções suportadas por HBAs Mellanox para sistemas virtualizadas (1[60], 2[61] e outros).
Links para este artigo:
[1] http://git.kernel.org/linus/ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69
[2] http://git.kernel.org/linus/77145f1cbdf8d28b46ff8070ca749bad821e0774
[3] http://git.kernel.org/linus/cb75d97e9c77743ecfcc43375be135a55a4d9b25
[4] http://git.kernel.org/linus/3863c9bc887e9638a9d905d55f6038641ece78d6
[5] http://git.kernel.org/linus/9274f4a9ba7e70d1770e237fca16d52f27f0c728
[6] http://git.kernel.org/linus/70790f4f819875e8f390871fd15bbbf823f28e1b
[7] http://git.kernel.org/linus/2f951a5db5b55f65eb02d9a90aa7cecafde9f8b8
[8] http://nouveau.freedesktop.org/wiki/CodeNames
[9] http://nouveau.freedesktop.org/wiki/CodeNames#NVE0
[10] http://git.kernel.org/linus/e5bf578ce61aecd4612d16e60235c11ed5f92c0e
[11] http://git.kernel.org/linus/1978a2f280563427bb675b3197391745aef73424
[12] http://blog.ffwll.ch/2012/08/new-modeset-code.html
[13] http://git.kernel.org/linus/df6eedc81d43c2245885c6baeb28d488c8a4dea4
[14] http://git.kernel.org/linus/ac6ae347a50bfb4667438272c0d48f4fd41154db
[15] http://git.kernel.org/linus/46ddf194776500e132693dd2c11b28a971070cc0
[16] http://blog.ffwll.ch/2012/10/neat-drmi915-stuff-for-37.html
[17] http://article.gmane.org/gmane.linux.kernel/1400265
[18] http://article.gmane.org/gmane.linux.kernel/1395793
[19] http://en.wikipedia.org/wiki/Phase-locked_loop
[20] http://article.gmane.org/gmane.comp.video.dri.devel/74665
[21] http://git.kernel.org/linus/19eca43e5a52a8e47fdd40e940912b2417c7c055
[22] http://git.kernel.org/linus/f3dd8508d459a2d0d0bc426144b92f1696d4fe86
[23] http://git.kernel.org/linus/57b35e29cf4e45eb163631c4ece10dbc259ddf30
[24] http://git.kernel.org/linus/2f454cf1261ba913e2f660b7555864b340502c60
[25] http://git.kernel.org/linus/fa87e62d357ccf73831cd52ed316593d0968020d
[26] http://git.kernel.org/linus/9e05b2f49eb9484e857e9b6c70dea3bbbe564290
[27] http://git.kernel.org/linus/f3728734ba78310525bf4a361c7787c7c6fa5d40
[28] http://git.kernel.org/linus/fda4b25c55a59ba12378e4b9e4553f6ea57d802d
[29] http://git.kernel.org/linus/37e9b6a62fb775276f8edb5bd2b9f13a3102b9dd
[30] http://git.kernel.org/linus/83012a7ccbb90dee33c97a004b3e374f988612af
[31] http://git.kernel.org/linus/b8dfc4624162c0547d7f36a9df48da2d9b4bd58a
[32] http://git.kernel.org/linus/be84bbcccc757b86449daaf924e72f95c95dc00e
[33] http://git.kernel.org/linus/7b31d0095e87221dc32c95642a2a714ea08259aa
[34] http://git.kernel.org/linus/080108c4747c7378c3601b8584237484f977d8a8
[35] http://git.kernel.org/linus/9c9a5175e65b2667001e6a3b6dedddebeee82aa2
[36] http://git.kernel.org/linus/2ea3c6a2c779e5a6487d2b436770232162dfbbe3
[37] http://git.kernel.org/linus/f9933487468c760b8cd9b4e9f7ec4e494f711a0a
[38] http://git.kernel.org/linus/4266274836e81575ee82498d84f4bd08ab7a7378
[39] http://git.kernel.org/linus/0c0d06cac63ee327ceaab4b5ffe2206574ab86bd
[40] http://git.kernel.org/linus/b285192a43f0432d82c2c10974204e78af0da596
[41] http://git.kernel.org/linus/2c3fb08b3f74b8792004095a1f6881a3296ff643
[42] http://git.kernel.org/linus/25aee3debe0464f6c680173041fa3de30ec9ff54
[43] http://git.kernel.org/linus/287cefd096b124874dc4d6d155f53547c0654860
[44] http://git.kernel.org/linus/54450f591c9927496b3d41c041fa802d0ef96885
[45] http://git.kernel.org/linus/186b250a07253770717f41eee911b8c5467be04e
[46] http://git.kernel.org/linus/0938069fa08970f1c898970c1331a029efe9a1ce
[47] http://git.kernel.org/linus/397e972350c42cbaf3228fe2eec23fecf6a69903
[48] http://git.kernel.org/linus/d67ceb3398d7ae7fda78ec753639296f442ecf66
[49] http://git.kernel.org/linus/9cb2173e6ea8f2948bd1367c93083a2500fcf08f
[50] http://git.kernel.org/linus/062ef0d4bb66e975a79dec4d5cc3ef1bf584efef
[51] http://git.kernel.org/linus/7040e556c90aefd7b0e1341f7490de20a33340d7
[52] http://git.kernel.org/linus/c857ce1659b058c087bce9874cb4eeb5adbf04c5
[53] http://git.kernel.org/linus/14c9fda5c477305ccf0d82ccbdfd47f66a557d65
[54] http://git.kernel.org/linus/faca2ef77abf1983e87d36b14bc181efb983979a
[55] http://thread.gmane.org/gmane.linux.kernel.mm/85248/focus%3D86798
[56] http://git.kernel.org/linus/5844c1cdb630b537a2ecdf74dab2985e51dc1bd9
[57] http://git.kernel.org/linus/5ad67fbc2a0f5b7e744ce2263a2340b7ebe92e00
[58] http://git.kernel.org/linus/401ca24fb34aee0cedf9c4fef361e533224f15a1
[59] http://git.kernel.org/linus/7f8d4cad1e4e11a45d02bd6e024cc2812963c38a
[60] http://git.kernel.org/linus/37bfc7c1e83f1589bcdc5918c7216422662644ee
Em breve no Kernel Linux 3.7 - Parte 3 - Infraestrutura
27 de Novembro de 2012, 0:00Autor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1755953
Agora o Kernel do Linux 3.7 pode assinar módulos do kernel, e verificar estas assinaturas e, portanto, a integridade destes módulos antes de carregá-los (1[1], 2[2], 3[3], 4[4], 5[5], 6[6], 7[7]). Algumas distribuições "enterprise" tiveram funcionalidades similares por um tempo[8] - por exemplo, para garantir que os módulos usados para soluções de problemas são realmente da distribuição do kernel. Desenvolvedores tem trabalhado na integração destas funcionalidades dentro do Linux com algumas distribuições que carregam apenas módulos assinados[9] necessários quando o sistema é iniciado com o boot seguro UEFI - isto agora é possível com o código que foi integrado no Kernel.
Outra nova funcionalidade é a extensão para avaliação de integridade[10] para a Integrity Measurement Architecture[11] (IMA), que o kernel já suporta há algum tempo (1[12], 2[13]). O IMA pode armazenar hashes assinados para arquivos e utilizá-los para reconhecer[14] quando binários da instalação do Linux forem alterados. A extensão de avaliação de integridade pode agora verificar os hashes e prevenir o acesso caso este tenha sido alterado. O comportamento do mecanismo pode ser configurado com um novo parâmetro de boot. O IMA pode utilizar uma Trusted platform module (TPM) para assinar e assim salvar os hashes; os desenvolvedores do kernel continuam trabalhando no suporta para o TPMs (1[15], 2[16]).
Independência
O Kernel pode agora carregar arquivos de firmware diretamente do disco sem depender do udev (1[17], 2[18]). Isto é consequência de uma mudança recente na forma que o udev lida com firmwares e que causava um atraso durante a inicialização do sistema sobre certas circunstâncias; este comportamento levou a uma longa discussão[19] no qual Linus Torvalds criticou[20] os desenvolvedores do udev - que por sua vez, não só levou ao desenvolvimento de um carregador de firmware para o kernel, mas também levaram ao fork do próprio udev (eudev[21]). Desde então, uma alteração foi feita no udev e que também corrige o problema; além disso, o mantenedor do udev, Kay Sievers escreveu [22], mesmo antes da mundaça do kernel, que ele pensava que o kernel deveria ser capaz de carregar arquivos de firmware - ele nos contou que é mais fácil e muito mais confiável do que fazer o udev lidar com isto no espaço do usuário.
Separação
Eric W. Biederman integrou um grande patch[23] que aprimora o suporte para namespaces, que é um recurso útil para a separação de IDs de usuários e grupos entre hosts e containers (1[24], 2[25], 3[26], 4[27]). As mudanças aprimoram melhorias do "user namespace" que Biederman contribuiu para o Linux 3.5; ele descreve[28] esta mudança como uma correção de curso para o user namespaces. Estas mudanças deve significar que agora tudo deve funcionar, de acordo com esta nova abordagem[29] - exceto nos mais complexos sistemas de arquivos tais como CIFS, NFS, OCFS2 e XFS. Suporte para estes sistemas de arquivos estão sendo desenvolvidos[30] e devem ser incluído no Linux 3.8. Biederman está trabalhando em outras correções[31] que dever unir toda a reconstrução do código do namespace; a nova infraestrutura deve fica completa e deve permitir aos usuários configurar e usar o namespace.
A infraestrutura do cgroups - muitas vezes usadas em containers mas que também podem ser usados em outras situações - agora notifica[32] aos usuários quando este cria uma hierarquia aninhada no control group que utiliza um controlador que não suporte o aninhamento; esta questão é apenas uma[33] de muitos problemas[34] no código do cgroups que o mantenedor do cgroups Tejun Heo esta trabalhando na correção[35]. Outra adição é o suporte a atributos estendidos em sistemas de arquivos virtuais do cgroup (1[36], 2[37]), uma funcionalidade que o desenvolvedor do systemd, Lennart Poettering, tem na sua lista de “correções desejadas”[38], afim de ser capaz de salvar metadados para serviços em segundo plano.
Diversos
Linus Torvalds removeu[39] o arquivo Documentation/feature-removal.txt usado para anunciar as remoções de funcionalidades do kernel. Em seu comentário, Torvalds descreve o documento como estúpido, dizendo que se um recurso não é usado, então este só poderia ser removido; caso contrário, não há razão para removê-lo.
A opção do make para configurar todas as configurações não utilizadas por padrão é agora chamada "olddefconfig[40]" - o desenvolvedor que fez a mudança relata que o antigo parâmetro, "oldnoconfig", confundia os usuários porque não fazia o que o nome sugeria.
A extensão Yama security extension pode agora ser usada[41] com outros LSMs (Linux Security Modules), de modo que as funções de segurança do Yama pode ser combinadas, por exemplo com o SELinux.
Devido às alterações[42] no acesso aos dados de coordenação usando o RCU (read copy update), os threads do kernel como rcu_sched, rcu_preempt e rcu_bh agora estão aparecendo na lista de processos - e consumindo mais tempo de CPU em alguns sistemas, de acordo com programas como ps e top. Na verdade, o código do RCU necessitava o mesmo tempo de CPU antes, porém os processos estavam dentro do thread de ksoftirqd. O mantenedor do RCU, Paul McKenney, explica a situação e dar outras informações em um artigo LWN.net[43].
Para Hackers do Kernel
O kernel esta agora linkando o debugfs, que é tipicamente encontrado no /debug/ ou /sys/kernel/debug/, com as permissões 0700 por padrão[44], de modo que, em geral, apenas usuários root podem ler estes arquivos.
Uma implementação genérica[45] para a tabela simples de hash[46] foi adicionado ao kernel. Nas últimas versões do Kernel, é esperado que esta mudança[47] substitua um grande número de outras implementações[48] que apareceram em vários subsistemas do kernel e que agora realizam a mesma função de múltiplas maneiras.
Workqueues são agora "não-reentrante" por padrão[49] - isto é, estes não são executados com o mesmo código em múltiplos processos ao mesmo tempo. Muitos desenvolvedores não tinham conhecimento[50] da execução concorrente e por isso foram surpreendidos pois o código do workqueue não funcionava conforme esperado neste cenário.
Os desenvolvedores do Kernel iniciaram o armazenamento dos cabeçalhos dos arquivos com definições de tipo de dados usados por ferramentas em diretórios chamados "uapi" localizado no diretório include/ e arch/<arch>/include/ (1[51], 2[52], 3[53]). Esta mudança deve facilitar a diferenciação entre estes de definições usadas dentro do kernel e tomar conta[54] de alguns problemas de integração de arquivos de cabeçalhos. Esta reestruturação[55] é uma das principais razões o porque do diffstat mostrar tantas mudanças[56] comparado ao Linux 3.6.
Links deste artigo:
[1] http://git.kernel.org/linus/80d65e58e93ffdabf58202653a0435bd3cf2d82e
[2] http://git.kernel.org/linus/106a4ee258d14818467829bf0e12aeae14c16cd7
[3] http://git.kernel.org/linus/e2a666d52b4825c26c857cada211f3baac26a600
[4] http://git.kernel.org/linus/85ecac79457e30b19802bbfaeba1856ad00945b0
[5] http://git.kernel.org/linus/631cc66eb9eaa7296e303197ff1eb0f55e32b61d
[6] http://git.kernel.org/linus/d441108c6f77541bb66fcd5b3389415b4c232008
[7] http://git.kernel.org/linus/ea0b6dcf71d216dc11733ac19b26df0f5d0fd6c2
[8] http://lwn.net/Articles/515007/
[9] http://www.h-online.com/news/item/State-of-Secure-Boot-detailed-1741460.html
[10] http://sourceforge.net/apps/mediawiki/linux-ima/index.php?title=Main_Page#IMA-appraisal
[11] http://linux-ima.sourceforge.net/
[12] http://git.kernel.org/linus/2fe5d6def1672ae6635dd71867bf36dcfaa7434b
[13] http://git.kernel.org/linus/07f6a79415d7d502ee0c7d02ace6594a7be7429a
[14] http://lwn.net/Articles/488906/
[15] http://git.kernel.org/linus/aad628c1d91a6db57e572e4c1f35e863d81061d7
[16] http://git.kernel.org/linus/132f7629474424418a5cdd666796ad3cfa4dc0c5
[17] http://git.kernel.org/linus/abb139e75c2cdbb955e840d6331cb5863e409d0e
[18] http://git.kernel.org/linus/10bd4c7572b6c6eb97f1c15dedd2d36c63907f91
[19] http://lwn.net/Articles/518942/
[20] http://thread.gmane.org/gmane.linux.drivers.video-input-infrastructure/49758/focus%3D55168
[21] http://www.h-online.com/news/item/Gentoo-developers-start-udev-fork-1752421.html
[22] http://thread.gmane.org/gmane.linux.kernel/1369664
[23] http://article.gmane.org/gmane.linux.kernel.containers/23940
[24] http://git.kernel.org/linus/e8a3e4719b7ec19288c56f22623f537cb78885c1
[25] http://git.kernel.org/linus/7064d16e162adf8199f0288b694e6af823ed5431
[26] http://git.kernel.org/linus/5f3a4a28ec140a90e6058d1d09f6b1f235d485e5
[27] http://git.kernel.org/linus/9a56c2db49e7349c7963f0ce66c1ef578d44ebd3
[28] http://www.h-online.com/open/features/Kernel-Log-Coming-in-3-5-Part-5-Infrastructure-1635017.html
[29] https://lwn.net/Articles/491310/
[30] http://thread.gmane.org/gmane.linux.kernel.containers/24561
[31] http://thread.gmane.org/gmane.linux.kernel.containers/24484
[32] http://git.kernel.org/linus/8c7f6edbda01f1b1a2e60ad61f14fe38023e433b
[33] http://thread.gmane.org/gmane.linux.kernel.mm/86748
[34] http://thread.gmane.org/gmane.linux.kernel.containers/23698
[35] http://lwn.net/Articles/516908/
[36] http://git.kernel.org/linus/03b1cde6b22f625ae832b939bc7379ec1466aec5
[37] http://git.kernel.org/linus/19ec2567e0a5fe64f4404ad6df697894aec8c493
[38] http://www.h-online.com/open/features/Kernel-Log-Linux-3-1-approaches-1358320.html
[39] http://git.kernel.org/linus/9c0ece069b32e8e122aea71aa47181c10eb85ba7
[40] http://git.kernel.org/linus/fb16d8912db5268f29706010ecafff74b971c58d
[41] http://git.kernel.org/linus/c6993e4ac002c92bc75379212e9179c36d4bf7ee
[42] http://article.gmane.org/gmane.linux.kernel/1367653
[43] http://lwn.net/Articles/518953/
[44] http://git.kernel.org/linus/82aceae4f0d42f03d9ad7d1e90389e731153898f
[45] http://git.kernel.org/linus/d9b482c8ba1973a189f2d4c8175d405b87fbf2d7
[46] http://en.wikipedia.org/wiki/Hash_table
[47] http://thread.gmane.org/gmane.linux.kernel.mm/88612/focus%3D15785
[48] http://lwn.net/Articles/510202/
[49] http://git.kernel.org/linus/dbf2576e37da0fcc7aacbfbb9fd5d3de7888a3c1
[50] https://lwn.net/Articles/511421/
[51] http://git.kernel.org/linus/abbf1590de22a6d2240a59383477da50d1402f6a
[52] http://git.kernel.org/linus/ec28b7f250b19f31e14b69b015d61d0818bf43a0
[53] http://git.kernel.org/linus/607ca46e97a1b6594b29647d98a32d545c24bdff
[54] http://lwn.net/Articles/507794/
[55] http://article.gmane.org/gmane.linux.kernel/1367929
[56] http://www.h-online.com/news/item/Main-development-phase-of-Linux-3-7-completed-1729556.html
Kernel Linux 3.6.8
27 de Novembro de 2012, 0:00A nova versão estável da série 3.6 do Kernel do Linux traz 82 mudanças. Destacando-se 9 correções no subsistema ALSA, 4 correções no subsistema USB, 3 correções no driver r8169, 4 correções no sistema de arquivos reiserfs e muito mais.
Lista completa de mudanças no Kernel do Linux 3.6.8
ACPI video: Ignore errors after _DOD evaluation.
ALSA: hda - Add a missing quirk entry for iMac 9,1
ALSA: hda - Add new codec ALC668 and ALC900 (default name ALC1150)
ALSA: hda: Cirrus: Fix coefficient index for beep configuration
ALSA: HDA: Fix digital microphone on CS420x
ALSA: hda - Fix empty DAC filling in patch_via.c
ALSA: hda - Fix invalid connections in VT1802 codec
ALSA: hda - Force to reset IEC958 status bits for AD codecs
ALSA: hda - Improve HP depop when system enter to S3
ALSA: usb-audio: Fix crash at re-preparing the PCM stream
ARM: at91/AT91SAM9G45: fix crypto peripherals irq issue due to sparse irq support
ARM: dt: tegra: fix length of pad control and mux registers
ARM: imx: ehci: fix host power mask bit
ASoC: core: Double control update err for snd_soc_put_volsw_sx
ASoC: cs42l52: fix the return value of cs42l52_set_fmt()
ASoC: dapm: Use card_list during DAPM shutdown
ASoC: wm8978: pll incorrectly configured when codec is master
Bluetooth: Fix having bogus entries in mgmt_read_index_list reply
cifs: Do not lookup hashed negative dentry in cifs_atomic_open
cifs: fix potential buffer overrun in cifs.idmap handling code
crypto: cryptd - disable softirqs in cryptd_queue_worker to prevent data corruption
drm/i915/sdvo: clean up connectors on intel_sdvo_init() failures
drm/radeon: fix logic error in atombios_encoders.c
ext4: fix metadata checksum calculation for the superblock
fanotify: fix missing break
GFS2: Don't call file_accessed() with a shared glock
i2c-mux-pinctrl: Fix probe error path
intel-iommu: Fix lookup in add device
ipv4: avoid undefined behavior in do_ip_setsockopt()
ipv4/ip_vti.c: VTI fix post-decryption forwarding
ipv6: setsockopt(IPIPPROTO_IPV6, IPV6_MINHOPCOUNT) forgot to set return value
iwlwifi: handle DMA mapping failures
KVM: x86: Fix invalid secondary exec controls in vmx_cpuid_update()
libata-acpi: Fix NULL ptr derference in ata_acpi_dev_handle
m68k: fix sigset_t accessor functions
mac80211: call skb_dequeue/ieee80211_free_txskb instead of __skb_queue_purge
mac80211: don't send null data packet when not associated
mac80211: sync acccess to tx_filtered/ps_tx_buf queues
memcg: fix hotplugged memory zone oops
memcg: oom: fix totalpages calculation for memory.swappiness==0
mm: bugfix: set current->reclaim_state to NULL while returning from kswapd()
module: fix out-by-one error in kallsyms
net: correct check in dev_addr_del()
netfilter: nf_conntrack: fix rt_gateway checks for H.323 helper
netfilter: nf_nat: don't check for port change on ICMP tuples
netfilter: xt_TEE: don't use destination address found in header
net-rps: Fix brokeness causing OOO packets
NFC: Use dynamic initialization for rwlocks
PCI/PM: Fix proc config reg access for D3cold and bridge suspending
PCI/PM: Resume device before shutdown
pstore: Fix NULL pointer dereference in console writes
ptp: update adjfreq callback description
r8169: allow multicast packets on sub-8168f chipset.
r8169: Fix WoL on RTL8168d/8111d.
r8169: use unlimited DMA burst for TX
regulator: fix voltage check in regulator_is_supported_voltage()
reiserfs: Fix lock ordering during remount
reiserfs: Move quota calls out of write lock
reiserfs: Protect reiserfs_quota_on() with write lock
reiserfs: Protect reiserfs_quota_write() with write lock
Revert "serial: omap: fix software flow control"
Revert "Staging: Android alarm: IOCTL command encoding fix"
s390/gup: add missing TASK_SIZE check to get_user_pages_fast()
s390/signal: set correct address space control
SCSI: isci: Allow SSP tasks into the task management path.
selinux: fix sel_netnode_insert() suspicious rcu dereference
tcp: fix retransmission in repair mode
tcp: handle tcp_net_metrics_init() order-5 memory allocation failures
tg3: unconditionally select HWMON support when tg3 is enabled.
tmpfs: change final i_blocks BUG to WARNING
tmpfs: fix shmem_getpage_gfp() VM_BUG_ON
ttm: Clear the ttm page allocated from high memory zone correctly
UBIFS: fix mounting problems after power cuts
UBIFS: introduce categorized lprops counter
USB: keyspan: fix typo causing GPF on open
USB: option: add Alcatel X220/X500D USB IDs
USB: option: add Novatel E362 and Dell Wireless 5800 USB IDs
USB: usb_wwan: fix bulk-urb allocation
virtio: Don't access index after unregister.
wireless: allow 40 MHz on world roaming channels 12/13
xen/events: fix RCU warning, or Call idle notifier after irq_enter()
xfs: drop buffer io reference when a bad bio is built