Como construir nuestro Sistema Operativo Básico a base de FreeBSD
FreeBSD
Actualizado el 21 de Febrero del 2019 por Yandri (Publicado el 29 de Enero del 2019)
2.012 visualizaciones desde el 29 de Enero del 2019
En este curso vamos a construir nuestro Sistema Operativo Básico a base de FreeBSD.
Después de la instalación de FreeBSD debemos descargar la base actualizada de puertos.
Instalamos un gestor de puertos en nustro caso usaremos Portmaster.
Copiamos el archivo de configuracion de ejemplo y lo editamos.
Descomentamos las siguientes opciones.
Ahora antes de cada instalación debemos actualizar el árbol de puertos y utilizar Portmaster para la instalación.
Instalamos un editor de textos en este caso usaremos Vim.
En las opciones de instalacion dejamos todo por defecto.
COMANDOS ÚTILES DE VIM
Todos los comandos sirven en modo comando que es cuando se presiona la tecla 'Esc'.
Instalamos Xorg.
Instalamos los Drivers y las fuentes de Xorg. (SI TIENEN UNA TARJETA NVIDIA NO LA INSTALEN DESDE EL PUERTO x11-drivers/xorg-drivers)
CONFIGURACIÓN DE XORG:
Normalmente la configuración por defecto de Xorg es correcta pero en algunos casos se necesita otra resolución o distribución del teclado y si tienen una tarjeta de video NVidia tamnbien deben configurarla correctamente, en este ejemplo vamos a configurar una tarjeta NVidia.
Instalamos el controlador NVidia.
Buscar el driver correspondiente en la página oficial de NVidia https://www.geforce.com/drivers, cuando lo localicen en la palabra DOWNLOAD hacen clic derecho para copiar el link lo pegan en un documento y pueden descargar.
Descargamos el controlador con fetch.
Descomprimimos el archivo descargado.
Nos dirigimos al directorio para instalar el paquete
Instalamos el paquete.
Eliminamos el directorio y paquete que ya no usaremos.
Corremos el siguiente comando para generar el archivo de configuración de Xorg.
Movemos el archivo de configuración a la ubicación donde lo leerá Xorg.
Instalamos el configurador de NVidia.
Corremos el script.
Se nos generará un nuevo archivo xorg.con y el anterior se nos guardará en xorg.conf.backup.
Editamos el archivo de configuración de Xorg.
Configuramos nuestra distribución del teclado en Section "InputDevice".
Y para la resolución de añadir la línea "Modos '1366x768'" en Section "Screen". Si usted tiene múltiples profundidad de simplemente eliminarlos y dejar el "Depth 24".
Guardar y salir.
Editar el archivo loader.conf
Agregar la siguiente línea.
Guardar y Salir.
Ahora es momento de instalar el gestor de ventanas y vamos a usar Openbox.
Cambiamos al usuario que va a usar el gestor de ventanas.
Creamos el directorio de configuración para todo el gestor de ventanas.
Creamos el directorio para Openbox.
Copiamos el archivo de configuración para el menú de openbox que estará visible cuando presione el botón derecho del mouse en el escritorio.
Copiamos el archivo de configuración para el propio openbox.
Creamos el archivo de auto-inicio para que se inicien los puertos a usar, que siempre se ejecuta al iniciar sesión.
Damos permisos de ejecución.
Editamos el archivo de auto-inicio.
Agregar la siguiente línea para reconocer que es un archivo ejecutable.
Por ahora lo dejaremos en la configuración predeterminada.
Finalmente necesitamos decirle a Xorg que use openbox.
Creamos el archivo de inicio de Xorg.
Editamos el archivo.
Agregamos la siguiente línea.
Regresamos al usuario root.
Instalamos el administrador de ventanas o como se dice en Windows la barra de inicio.
Cambiamos de usuario al que va a usar el gestor de ventanas.
Creamos el directorio donde se alojará la configuración del administrador de ventanas.
Copiamos el archivo de configuración del administrador de ventanas.
Editamos el archivo de configuración de auto-inicio del gestor de ventanas.
Agregamos la siguiente línea.
Salimos y Guardamos.
Editamos el archivo de configuración de openbox.
Buscamos la sección <margins> y cambiamos lo siguiente.
Salimos y Guardamos.
Regresamos al usuario root.
Ya tenemos la posibilidad de lanzar aplicaciones a través del menú de openbox, pero podemos usar una barra de inicio rápido para esta tarea o como se dice en Windows una Dock Bar.
Instalamos wbar y en la configuración de instalación eliminamos WBARCONFIG.
Cambiamos al usuario que usará Openbox.
Editamos el archivo de auto-inicio.
Agregamos la siguiente línea.
Guardamos y Salimos.
Cuando inicie por primera vez Openbox se creará un archivo de configuración predeterminado ~/.wbar. Más adelante puede editar ese archivo para adaptarlo a sus necesidades. La configuración es bastante sencilla. Solo tiene que especificar la ruta al icono, comando y texto que se mostrará.
Ejemplo:
Regresamos al usuario root.
Instalamos Un visor de imágenes que tambien nos servira para colocar el wallpaper.
Cambiamos al usuario que usará Openbox.
Creamos un directorio para almacenar imagenes.
Cambiamos de directorio.
Descargamos la imagen para usar como wallpaper.
Cambiamos el nombre al archivo descargado.
Editamos el archivo de auto-inicio para agregar el wallpaper.
Agregamos la siguiente línea.
Guardamos y Salimos.
Regresamos al usuario root.
Instalamos un emulador de terminal.
Después de la instalación de FreeBSD debemos descargar la base actualizada de puertos.
1
# portsnap fetch
1
# portsnap extract
Instalamos un gestor de puertos en nustro caso usaremos Portmaster.
1
# cd /usr/ports/ports-mgmt/portmaster/
1
# make install clean clean-depends
Copiamos el archivo de configuracion de ejemplo y lo editamos.
1
# cp /usr/local/etc//portmaster.rc.sample /usr/local/etc/portmaster.rc
1
# vi /usr/local/etc/portmaster.rc
Descomentamos las siguientes opciones.
1
2
3
4
5
6
7
8
9
10
# Always delete stale distfiles without prompting (-d)
ALWAYS_SCRUB_DISTFILES=dopt
# Be verbose (-v)
PM_VERBOSE=vop
# Install packages for build-only dependencies (--packages-build)
PM_PACKAGES_BUILD=pmp_build
# Delete build-only dependencies when finished (--delete-build-only)
PM_DEL_BUILD_ONLY=pm_dbo
# Suppress the build confirmation message (--no-confirm)
PM_NO_CONFIRM=pm_no_confirm
Ahora antes de cada instalación debemos actualizar el árbol de puertos y utilizar Portmaster para la instalación.
Instalamos un editor de textos en este caso usaremos Vim.
1
# portsnap fetch
1
# portsnap update
1
# portmaster editors/vim
En las opciones de instalacion dejamos todo por defecto.
COMANDOS ÚTILES DE VIM
Todos los comandos sirven en modo comando que es cuando se presiona la tecla 'Esc'.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
i → Sirve para empezar a escribir.
:wq + ‘enter’ → Sirve para guardar los cambios hechos en el documento y salir de éste.
:w + ‘enter’ → Sirve para guardar los cambios hechos en el documento.
:q + ‘enter’ → Sirve para solamente salir del documento sin guardar cambios (Si se hicieron cambios y no se guardaron previamente, mandará un error al ejecutar este comando).
:q! + ‘enter’ → Sirve para salir del archivo sin guardar ningún cambio hecho.
:w NOMBRE_ARCHIVO → Funciona como un similar al ya conocido ‘guardar como’, es decir, hace una copia del archivo actual y da la opción de ponerle un nombre y/o extensión diferentes.
ZZ → Sirve para guardar y salir, exactamente igual que :wq con la diferencia de que no se escriben los dos puntos (:) ni se presiona ‘enter’ al final.
: x + ‘enter’ → Sirve para salir del archivo sin guardar ningún cambio hecho (No hay diferencia con el comando :wq). Los dos puntos y la equis van juntos.
/<<textoABuscar>> + ‘enter’ → Sirve para buscar coincidencias de texto dentro del archivo abierto con VI, se debe estar en modo comando, teclear una diagonal (/) seguido de la palabra a buscar y presionar ‘enter’ después. Por ejemplo para buscar la palabra “startup” el comando debe ser el siguiente: /startup seguido de ‘enter’.
n → Una vez que se llegó a la primer coincidencia buscada, se presiona n para ir a la coincidencia siguiente.
N → Una vez que se llegó a la primer coincidencia buscada, se presiona n para ir a la coincidencia anterior.
yy → Sirve para copiar toda la línea actual donde está colocado el prompt.
#yy → Sirve para copiar ‘#’ número de líneas a partir de donde está colocado el prompt hacia abajo (La línea actual cuenta como la línea 1). Por ejemplo si se desean copiar 4 líneas contando la actual donde está el prompt, el comando sería: 4yy
yw → Sirve para copiar una palabra (la más próxima a donde está colocado el prompt).
#yw → Sirve para copiar # número de palabras (Se cuenta como 1 a la palabra más próxima a donde está colocado el prompt). Por ejemplo, si se desean copiar 4 palabras el comando sería: 4yw
p → Sirve para pegar lo que se haya copiado previamente, esto se agregará debajo de la línea actual donde se encuentre el prompt.
P → Sirve para pegar lo que se haya copiado previamente, esto se agregará arriba de la línea actual donde se encuentre el prompt.
$ → Sirve para mover el prompt al final de la línea actual.
^ → Sirve para mover el prompt al inicio de la línea actual.
gg → Sirve para mover el prompt al inicio de la primer línea de todo el documento
G → Sirve para mover el prompt al inicio de la última línea de todo el documento.
#gg → Sirve para mover el prompt a la línea número # del documento.
#G → Sirve para mover el prompt a la línea número # del documento. (Funciona igual que el comando #gg).
o → Sirve para insertar una línea en blanco debajo de la línea actual donde está el prompt.
O → Sirve para insertar una línea en blanco arriba de la línea actual donde está el prompt.
~ → Sirve para cambiar de mayúscula a minúscula o viceversa, según como se encuentre, el caracter donde se esté actualmente el prompt.
u → Funciona como un similar al ya conocido CTRL+Z, es decir, la función de deshacer. DESHACE EL ÚLTIMO CAMBIO
CTRL + R → Funciona como un similar al ya conocido CTRL+Y o CTRL+SHIFT+Z, es decir, la función de rehacer; dicho de otra forma: lo contrario a CTRL+Z. REHACE EL ÚLTIMO CAMBIO
:help COMANDO + ‘enter’ → Sirve para mostrar la ayuda incluida en VI o VIM acerca de cada comando existente para el mismo. La información se dará en inglés, para salir debes presionar :q seguido de ‘enter’.
:help NUMERO_DE_ERROR + ‘enter’ → Cuando ocurre algún error al intentar ejecutar un comando, VI nos muestra alguna leyenda acompañada de un número de error, help también nos ayuda a saber más información de ese error haciendo uso de la palabra seguido del número del error. La información se dará en inglés, para salir debes presionar :q seguido de ‘enter’.
:set showmode + ‘enter’ → Si por alguna razón VI no muestra la leyenda –INSERT– cuando apretes ‘i’, y eso hace que te pierdas entre saber si estás o no en modo comando o modo insert, es posible que el showmode esté desactivado, para activarlo usa este comando.
:help index + ‘enter’ → Para listar absolutamente todos los comandos se usa esta variante de help. La información se dará en inglés, para salir debes presionar :q seguido de ‘enter’.
Instalamos Xorg.
1
# portsnap fetch
1
# portsnap update
1
# portmaster x11-servers/xorg-server
1
# portmaster x11/xinit
1
# portmaster x11/xauth
Instalamos los Drivers y las fuentes de Xorg. (SI TIENEN UNA TARJETA NVIDIA NO LA INSTALEN DESDE EL PUERTO x11-drivers/xorg-drivers)
1
# portsnap fetch
1
# portsnap update
1
# portmaster x11-drivers/xorg-drivers
1
# portmaster x11-fonts/xorg-fonts
1
# portmaster x11-fonts/webfonts
CONFIGURACIÓN DE XORG:
Normalmente la configuración por defecto de Xorg es correcta pero en algunos casos se necesita otra resolución o distribución del teclado y si tienen una tarjeta de video NVidia tamnbien deben configurarla correctamente, en este ejemplo vamos a configurar una tarjeta NVidia.
Instalamos el controlador NVidia.
Buscar el driver correspondiente en la página oficial de NVidia https://www.geforce.com/drivers, cuando lo localicen en la palabra DOWNLOAD hacen clic derecho para copiar el link lo pegan en un documento y pueden descargar.
Descargamos el controlador con fetch.
1
# fetch https://us.download.nvidia.com/XFree86/FreeBSD-x86_64/410.93/NVIDIA-FreeBSD-x86_64-410.93.tar.gz
Descomprimimos el archivo descargado.
1
# tar -xzvf NVIDIA-FreeBSD-x86_64-410.93.tar.gz
Nos dirigimos al directorio para instalar el paquete
1
# cd NVIDIA-FreeBSD-x86_64-410.93/
Instalamos el paquete.
1
# make
1
#make install
Eliminamos el directorio y paquete que ya no usaremos.
1
# cd
1
# rm -r NVIDIA-FreeBSD-x86_64-410.93.tar.gz NVIDIA-FreeBSD-x86_64-410.93
Corremos el siguiente comando para generar el archivo de configuración de Xorg.
1
# Xorg -configure
Movemos el archivo de configuración a la ubicación donde lo leerá Xorg.
1
# mv /root/xorg.conf.new /etc/X11/xorg.conf
Instalamos el configurador de NVidia.
1
# portmaster x11/nvidia-xconfig
Corremos el script.
1
# nvidia-xconfig
Se nos generará un nuevo archivo xorg.con y el anterior se nos guardará en xorg.conf.backup.
Editamos el archivo de configuración de Xorg.
1
# vim /etc/X11/xorg.conf
Configuramos nuestra distribución del teclado en Section "InputDevice".
1
2
3
4
5
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "es"
EndSection
Y para la resolución de añadir la línea "Modos '1366x768'" en Section "Screen". Si usted tiene múltiples profundidad de simplemente eliminarlos y dejar el "Depth 24".
1
2
3
4
5
6
7
8
9
10
11
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1366x768"
EndSubSection
EndSection
Guardar y salir.
Editar el archivo loader.conf
1
# vim /boot/loader.conf
Agregar la siguiente línea.
1
nvidia_load="YES"
Guardar y Salir.
Ahora es momento de instalar el gestor de ventanas y vamos a usar Openbox.
1
# portmaster x11-wm/openbox
Cambiamos al usuario que va a usar el gestor de ventanas.
1
# su usuario
Creamos el directorio de configuración para todo el gestor de ventanas.
1
$ mkdir ~/.config
Creamos el directorio para Openbox.
1
$ mkdir ~/.config/openbox
Copiamos el archivo de configuración para el menú de openbox que estará visible cuando presione el botón derecho del mouse en el escritorio.
1
$ cp /usr/local/etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml
Copiamos el archivo de configuración para el propio openbox.
1
$ cp /usr/local/etc/xdg/openbox/rc.xml ~/.config/openbox/rc.xml
Creamos el archivo de auto-inicio para que se inicien los puertos a usar, que siempre se ejecuta al iniciar sesión.
1
$ touch ~/.config/openbox/autostart.sh
Damos permisos de ejecución.
1
$ chmod +x ~/.config/openbox/autostart.sh
Editamos el archivo de auto-inicio.
1
$ vim ~/.config/openbox/autostart.sh
Agregar la siguiente línea para reconocer que es un archivo ejecutable.
1
#!/bin/sh/
Por ahora lo dejaremos en la configuración predeterminada.
Finalmente necesitamos decirle a Xorg que use openbox.
Creamos el archivo de inicio de Xorg.
1
$ touch ~/.xinitrc
Editamos el archivo.
1
$ vim ~/.xinitrc
Agregamos la siguiente línea.
1
exec openbox-session
Regresamos al usuario root.
1
# exit
Instalamos el administrador de ventanas o como se dice en Windows la barra de inicio.
1
# portmaster x11/tint
Cambiamos de usuario al que va a usar el gestor de ventanas.
1
# su usuario
Creamos el directorio donde se alojará la configuración del administrador de ventanas.
1
$ mkdir ~/.config/tint2
Copiamos el archivo de configuración del administrador de ventanas.
1
$ cp /usr/local/etc/xdg/tint2/tint2rc ~/.config/tint2/tint2rc
Editamos el archivo de configuración de auto-inicio del gestor de ventanas.
1
$ vim ~/.config/openbox/autostart.sh
Agregamos la siguiente línea.
1
(sleep 2 && tint2) &
Salimos y Guardamos.
Editamos el archivo de configuración de openbox.
1
$ vim ~/.config/openbox/rc.conf
Buscamos la sección <margins> y cambiamos lo siguiente.
1
2
3
4
5
6
<margins>
<top>0</top>
<bottom>30</bottom>
<left>0</left>
<right>0</right>
</margins>
Salimos y Guardamos.
Regresamos al usuario root.
1
# exit
Ya tenemos la posibilidad de lanzar aplicaciones a través del menú de openbox, pero podemos usar una barra de inicio rápido para esta tarea o como se dice en Windows una Dock Bar.
Instalamos wbar y en la configuración de instalación eliminamos WBARCONFIG.
1
# portmaster x11/wbar
Cambiamos al usuario que usará Openbox.
1
# su usuario
Editamos el archivo de auto-inicio.
1
$ vim ~/.config/openbox/autostart.sh
Agregamos la siguiente línea.
1
(sleep 2 && wbar) &
Guardamos y Salimos.
Cuando inicie por primera vez Openbox se creará un archivo de configuración predeterminado ~/.wbar. Más adelante puede editar ese archivo para adaptarlo a sus necesidades. La configuración es bastante sencilla. Solo tiene que especificar la ruta al icono, comando y texto que se mostrará.
Ejemplo:
1
2
3
4
5
6
7
i: /usr/local/share/pixmaps/wbar/terminal.png
c: urxvtc
t: urxvtc
i: /usr/local/share/pixmaps/wbar/music.png
c: urxvt -e mplayer -playlist ~/tera1/Music/RadioStream/soulful.pls
t: soulful
Regresamos al usuario root.
1
$ exit
Instalamos Un visor de imágenes que tambien nos servira para colocar el wallpaper.
1
# portmaster graphics/feh
Cambiamos al usuario que usará Openbox.
1
# su usuario
Creamos un directorio para almacenar imagenes.
1
$ ~/imagenes
Cambiamos de directorio.
1
$ ~/imagenes
Descargamos la imagen para usar como wallpaper.
1
$ fetch https://jiubens.files.wordpress.com/2011/12/a_1280x10241.jpg
Cambiamos el nombre al archivo descargado.
1
$ mv a_1280x10241.jpg fondo.jpg
Editamos el archivo de auto-inicio para agregar el wallpaper.
1
$ vim ~/.config/openbox/autostart.sh
Agregamos la siguiente línea.
1
feh --bg-scale fondo.jpg &
Guardamos y Salimos.
Regresamos al usuario root.
1
$ exit
Instalamos un emulador de terminal.
Comentarios... (0)
No hay comentarios