Linux OS executando um único aplicativo [closed]

3

Eu quero construir um sistema operacional baseado em Linux que seja personalizado para apenas um aplicativo e seja totalmente leve e use recursos mínimos do sistema. Como eu faço isso?

Desmontar um sistema operacional já existente como o Ubuntu seria uma boa ideia?

    
por sreeraag 17.01.2013 / 10:21

4 respostas

2

Se você quiser construir um SO baseado em Linux que execute apenas o que é necessário para o computador funcionar, e se você tiver tempo para isso, dê uma olhada no LFS. href="http://www.linuxfromscratch.org/"> link
É um livro que explica tudo o que você precisa saber sobre como compilar o kernel do Linux. Claro que leva muito tempo, mas no final é sempre uma boa ideia dar uma olhada. Depois de fazer sua distribuição Linux personalizada, você pode ler BLFS (além do Linux From Scratch) para adicionar alguns aplicativos. No processo de criação de sua distribuição Linux, você verá como iniciar os aplicativos na inicialização.

A propósito, a bifurcação do Ubuntu é a PIOR idéia de todos os tempos. Não é absolutamente leve e executa um monte de aplicativos na inicialização. Eu recomendaria o Archlinux. É muito mais leve que o Ubuntu. Espero que ajude.

Archlinux Link: link Como o título diz, é uma distribuição leve, pode ser exatamente o que você procura. Em vez de criar sua própria distribuição, basta dar uma olhada no Arch e fazer com que seu aplicativo seja executado na inicialização, não é tão complicado.

    
por 21.01.2013 / 09:49
1

Eu tenho pensado nisso também, pois há muitas maneiras que um grande aplicativo pode falhar na segurança, como um navegador, já que sempre tem bugs / vulnerabilidades a serem resolvidos.

Eu acredito que você tenha que começar a compilar um kernel para um emulador de máquina virtual, drivers para aquela placa de vídeo específica, drivers para apenas uma placa ether, sem necessidade de senhas sombreadas, suporte a usb, bluetooth, drivers wireles, sistemas exotéricos coisas que existem.

Você também precisa da quantidade mínima de / bin / / sbin / / usr / e dos arquivos de hierarquia de diretório para inicializar o sistema.

Então você acaba criando um sistema muito fino, sem nenhuma das complexidades que um sistema Linux completo tem.

Na verdade, eu acredito que há muita gente necessitando de uma distro e seria muito fácil continuar atualizando, eu definitivamente contribuiria para um projeto como esse com dinheiro.

Separe os aplicativos grandes e perigosos do sistema principal e execute-os isolados em uma VM.

O sistema inferior pode ser um sistema mais rigoroso de segurança, como o OpenBSD ou o FreeBSD.

Além disso, eu gostaria que houvesse também uma distro do OpenBSD WORKSTATION (não uma distro do servidor OpenBSD) para rodar estas distros do Linux no OpenBSD com o Qemu.

Por quê ?! Porque o sistema básico para o OpenBSD é auditado e nenhum código do Linux é, na maioria das vezes (não completamente seguro).

Muitos aplicativos grandes e arriscados de segurança podem ser executados nessa distro leve, como: gimp, libreoffice, todos os tipos de navegadores (código aberto e fechado), java ides, aplicativos p2p de todos os tipos e muitos outros.

Outra coisa é que a distro base pode ser distribuída como uma imagem do qemu ou com todos os outros tipos de formatos de imagem de disco da VM, e também as imagens da aplicação, com tudo o que é necessário para executar uma aplicação específica como uma imagem.

Desta forma, vamos acabar com um kernel, uma imagem do sistema de arquivos linux base e muitas imagens de aplicativos, e todos eles podem ser atualizados em separado.

A distro pode ser carregada com uma imagem para a distro linux base em um drive virtual, a imagem do aplicativo em outro drive de disco virtual e voilà!

Sand boxing, detendo e executando com segurança todos os tipos de aplicações!

    
por 25.05.2014 / 18:35
0

Este pode ser um tipo de resposta oposta.

Dê uma olhada no DSL (Damn Small Linux) . Isso pode ser o que você precisa. Este é realmente construído para ser usado em um sistema com baixa configuração de hardware, como pouca memória. Ele vem com componentes básicos como apenas vim e nano editor, um navegador, um visualizador de desktop remoto e alguns outros recursos básicos. Confira este link wiki para mais informações sobre ele.

    
por 17.01.2013 / 10:51
0

A ideia básica seria iniciar sua aplicação como init (mas tenha cuidado, o processo 1 é muito especial). Talvez comece com uma das mini-distribuições e trabalhe a partir daí? Ou até mesmo configurar um initramfs com o que é necessário e nunca deixá-lo?

Considere também com cuidado se a economia de não ter sequer uma área de usuário mínima disponível vale a impossibilidade absoluta de solucionar problemas / ajustes.

    
por 21.01.2013 / 06:10