Universidad Nacional San Antonio Abad Del Cusco Carrera Profesional de Ingeniería Informática Y de Sistemas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 21

UNIVERSIDAD NACIONAL SAN ANTONIO ABAD DEL

CUSCO

CARRERA PROFESIONAL DE INGENIERÍA INFORMÁTICA


Y DE SISTEMAS

“AVANCE DE LA IMPLEMENTACIÓN DEL SISTEMA


OPERATIVO LFS”

CURSO : SISTEMAS OPERATIVOS


DOCENTE : CARRASCO POBLETE, EDWIN
ALUMNOS : VELASQUEZ DURAN, HANS ROBERT 182937
QUISPE PICHUILLA, AYRTON 120895
MENDOZA MAYTA, ANDRE MARCELO 200825

SEMESTRE : 2023-II

CUSCO-PERÚ
1.- PREPARACIÓN DEL SISTEMA
Para empezar la implementación de nuestro S.O., ubuntu debe tener descargados los
paquetes necesarios como:

y para verificar que paquete nos falta se escribe el comando: bash version-check.sh
ahí nos mostrará la siguiente ventana:
como se puede observar todos los paquetes están instalados, en tal forma podemos
ingresar sin problemas el codigo:
cat > version-check.sh << "EOF"
#!/bin/bash
# A script to list version numbers of critical development tools
# If you have tools installed in other directories, adjust PATH here AND
# in ~lfs/.bashrc (section 4.4) as well.
LC_ALL=C
PATH=/usr/bin:/bin
bail() { echo "FATAL: $1"; exit 1; }
grep --version > /dev/null 2> /dev/null || bail "grep does not work"
sed '' /dev/null || bail "sed does not work"
sort /dev/null || bail "sort does not work"
ver_check()
{
if ! type -p $2 &>/dev/null
then
echo "ERROR: Cannot find $2 ($1)"; return 1;
fi
v=$($2 --version 2>&1 | grep -E -o '[0-9]+\.[0-9\.]+[a-z]*' | head -n1)
if printf '%s\n' $3 $v | sort --version-sort --check &>/dev/null
then
printf "OK: %-9s %-6s >= $3\n" "$1" "$v"; return 0;
else
printf "ERROR: %-9s is TOO OLD ($3 or later required)\n" "$1";
return 1;
fi
}
ver_kernel()
{
kver=$(uname -r | grep -E -o '^[0-9\.]+')
if printf '%s\n' $1 $kver | sort --version-sort --check &>/dev/null
then
printf "OK: Linux Kernel $kver >= $1\n"; return 0;
else
printf "ERROR: Linux Kernel ($kver) is TOO OLD ($1 or later required)\n" "$kver";
return 1;
fi
}
# Coreutils first because-sort needs Coreutils >= 7.0
ver_check Coreutils sort 7.0 || bail "--version-sort unsupported"
ver_check Bash bash 3.2
ver_check Binutils ld 2.13.1
ver_check Bison bison 2.7
ver_check Diffutils diff 2.8.1
ver_check Findutils find 4.2.31
ver_check Gawk gawk 4.0.1
ver_check GCC gcc 5.1
ver_check "GCC (C++)" g++ 5.1
ver_check Grep grep 2.5.1a
ver_check Gzip gzip 1.3.12
ver_check M4 m4 1.4.10
ver_check Make make 4.0
ver_check Patch patch 2.5.4
ver_check Perl perl 5.8.8
ver_check Python python3 3.4
ver_check Sed sed 4.1.5
ver_check Tar tar 1.22
ver_check Texinfo texi2any 5.0
ver_check Xz xz 5.0.0
ver_kernel 4.14

if mount | grep -q 'devpts on /dev/pts' && [ -e /dev/ptmx ]


then echo "OK: Linux Kernel supports UNIX 98 PTY";
else echo "ERROR: Linux Kernel does NOT support UNIX 98 PTY"; fi
alias_check() {
if $1 --version 2>&1 | grep -qi $2
then printf "OK: %-4s is $2\n" "$1";
else printf "ERROR: %-4s is NOT $2\n" "$1"; fi
}
echo "Aliases:"
alias_check awk GNU
alias_check yacc Bison
alias_check sh Bash
echo "Compiler check:"
if printf "int main(){}" | g++ -x c++ -
then echo "OK: g++ works";
else echo "ERROR: g++ does NOT work"; fi
rm -f a.out
EOF
bash version-check.sh

2.- CREAMOS Y MONTAMOS LAS PARTICIONES


Definimos el punto de montaje con el usuario LFS, debemos verificar cada vez que
volvamos a seguir con el proyecto que el nombre sigue
De esta parte se debe mantener de corrido la implementación del LFS, por preferencia para
no estar repitiendo los procedimientos otra vez. Ahora pasaremos a montar las particiones
con el Usuario LFS

Utilizamos el comando swapon para la partición de intercambio:

Verificamos si el montaje fue el correcto:


3.- INSTALACIÓN DE PAQUETES Y LOS DIRECTORIOS
En esta parte de la implementación la descarga de paquetes fue rápida, pero la instalación
nos tomo buen tiempo alrededor de una hora demoro el paquete GCC. A partir de este
capitulo tomamos el dia sin interrupciones para terminar la instalación
Corregimos el error que aparecio
4.- INSTALACIÓN DE CROSS Y BINUTILS
Como se menciono aqui seguimos con la compilación de corrido confiando que todo esta
bien, y sin mirar atrás. Tambien instalamos los API headers
5.- COMPILACIÓN DE UTILIDADES
Instalamos las utilidades necesarias para vinculadas con las bibliotecas instaladas.
La última parte de nuestra compilación es el cambio de propiedad, cambiamos la propiedad
de los directorios al usuario Raiz,durante un arranque normal de un sistema LFS, el kernel
monta automáticamente el sistema de archivos devtmpfs en el directorio /dev; el kernel crea
nodos de dispositivo en ese sistema de archivos virtual durante el proceso de arranque, o
cuando se detecta o se accede a un dispositivo por primera vez. El dominio udev puede
cambiar la propiedad o los permisos de los nodos de dispositivo creados por el kernel y
crear nuevos nodos de dispositivo o enlaces simbólicos para facilitar el trabajo de los
mantenedores de la distribución y los administradores del sistema.

También podría gustarte