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.317 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 fetch1
# portsnap extractInstalamos un gestor de puertos en nustro caso usaremos Portmaster.
1
# cd /usr/ports/ports-mgmt/portmaster/1
# make install clean clean-dependsCopiamos el archivo de configuracion de ejemplo y lo editamos.
1
# cp /usr/local/etc//portmaster.rc.sample /usr/local/etc/portmaster.rc1
# vi /usr/local/etc/portmaster.rcDescomentamos 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_confirmAhora 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 fetch1
# portsnap update1
# portmaster editors/vimEn 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 fetch1
# portsnap update1
# portmaster x11-servers/xorg-server1
# portmaster x11/xinit1
# portmaster x11/xauthInstalamos los Drivers y las fuentes de Xorg. (SI TIENEN UNA TARJETA NVIDIA NO LA INSTALEN DESDE EL PUERTO x11-drivers/xorg-drivers)
1
# portsnap fetch1
# portsnap update1
# portmaster x11-drivers/xorg-drivers1
# portmaster x11-fonts/xorg-fonts1
# portmaster x11-fonts/webfontsCONFIGURACIÓ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.gzDescomprimimos el archivo descargado.
1
# tar -xzvf NVIDIA-FreeBSD-x86_64-410.93.tar.gzNos dirigimos al directorio para instalar el paquete
1
# cd NVIDIA-FreeBSD-x86_64-410.93/Instalamos el paquete.
1
# make1
#make installEliminamos el directorio y paquete que ya no usaremos.
1
# cd1
# rm -r NVIDIA-FreeBSD-x86_64-410.93.tar.gz NVIDIA-FreeBSD-x86_64-410.93Corremos el siguiente comando para generar el archivo de configuración de Xorg.
1
# Xorg -configureMovemos el archivo de configuración a la ubicación donde lo leerá Xorg.
1
# mv /root/xorg.conf.new /etc/X11/xorg.confInstalamos el configurador de NVidia.
1
# portmaster x11/nvidia-xconfigCorremos el script.
1
# nvidia-xconfigSe 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.confConfiguramos 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.confAgregar 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/openboxCambiamos al usuario que va a usar el gestor de ventanas.
1
# su usuarioCreamos el directorio de configuración para todo el gestor de ventanas.
1
$ mkdir ~/.configCreamos el directorio para Openbox.
1
$ mkdir ~/.config/openboxCopiamos 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 ~/.xinitrcEditamos el archivo.
1
$ vim ~/.xinitrcAgregamos la siguiente línea.
1
exec openbox-sessionRegresamos al usuario root.
1
# exitInstalamos el administrador de ventanas o como se dice en Windows la barra de inicio.
1
# portmaster x11/tintCambiamos de usuario al que va a usar el gestor de ventanas.
1
# su usuarioCreamos el directorio donde se alojará la configuración del administrador de ventanas.
1
$ mkdir ~/.config/tint2Copiamos el archivo de configuración del administrador de ventanas.
1
$ cp /usr/local/etc/xdg/tint2/tint2rc ~/.config/tint2/tint2rcEditamos 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
# exitYa 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/wbarCambiamos al usuario que usará Openbox.
1
# su usuarioEditamos 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: urxvtct: urxvtci: /usr/local/share/pixmaps/wbar/music.png
c: urxvt -e mplayer -playlist ~/tera1/Music/RadioStream/soulful.pls
t: soulfulRegresamos al usuario root.
1
$ exit
Instalamos Un visor de imágenes que tambien nos servira para colocar el wallpaper.
1
# portmaster graphics/fehCambiamos al usuario que usará Openbox.
1
# su usuarioCreamos 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