Hi there, this post is just for remember what things i do, trying to creating a Customized Live Version of Slackware64 15.0.
Some Screnshots Links:
https://i.postimg.cc/k42t25BD/Slack-14-2-001.png
https://i.postimg.cc/KYvTyfbP/Slack-14-2-002.png
https://i.postimg.cc/Z5m3wZDD/Slack-14-2-003.png
https://i.postimg.cc/rsCys6CK/Slack-Xephyr-003.png
https://i.postimg.cc/J7JGvvJw/Slack-Xephyr-004.png
https://i.postimg.cc/zDRg53sc/Slack-Xephyr-005.png
https://i.postimg.cc/RCQvcBK0/Slack-Xephyr-006.png
https://i.postimg.cc/B60d6jhB/Slack-Xephyr-007.png
https://i.postimg.cc/DZwPBFmK/Slack-Xephyr-008.png
https://i.postimg.cc/Tw0H3C5T/Slack-Xephyr-009.png
https://i.postimg.cc/MGyFhWWM/Slack-Xephyr-010.png
https://i.postimg.cc/6p4Sfrgh/Slack-Xephyr-011.png
https://i.postimg.cc/XvQvc6TF/Slack001-ampm.png
https://i.postimg.cc/Vvy55BxH/Slack002-ampm.png
1 : Well the first is prepare QEmu, i just skip that, because i just use "aqemu" for prepare "Disk Image" and mount "cd-rom" and boot from there for start "Slackware Live 15.0 Xfce" to install to virtual hard disk drive.
2 : Commands in a terminal for start download the iso :
Code:
mkdir -p /media/Compartido/Slack64-15.0
Slacklive="/media/Compartido/Slack64-15.0"
cd "$Slacklive"
wget -c 'https://slackware.nl/slackware-live/latest/slackware64-live-xfce-current.iso.asc'
wget -c 'https://slackware.nl/slackware-live/latest/slackware64-live-xfce-current.iso.md5'
wget -c 'https://slackware.nl/slackware-live/latest/slackware64-live-xfce-current.iso'
3 : After i had set the configuration for QEmu Virtual Machine via "aqemu", i prepare a "USB" / "Pendrive" with some configuration files like ".bashrc" for just replace it in each user.
i start with the follow command :
Code:
/usr/bin/qemu-system-x86_64 \
-monitor stdio \
-cpu kvm64 \
-soundhw es1370 \
-k es \
-machine accel=kvm \
-m 1024 \
-cdrom "/media/Compartido/Slack64-15.0/slackware64-live-xfce-current.iso" \
-hda "/home/inukaze/.aqemu/Slack64-15.0.qcow2" \
-boot once=c,menu=off \
-net nic,model=ne2k_pci \
-net user \
-usb -device usb-ehci,id=ehci \
-device usb-host,bus=ehci.0,hostbus=1,hostport=1 \
-rtc base=localtime \
-name "SlackLive64 14.2"
I use the command given in the options but removing the "vlan" parameters because that are making imposible start the virtual machine.
4 : Install distro normally
5 : Boot the installed distro, and use the follow commands
Code:
sudo su
slackpkg update
#This ask something about download GPG, write YES and press Enter to continue.
6 : Starting to Remove Package i really don't need for my custom version
Code:
slackpkg remove \
xsane \
geeqie \
mousepad \
hexchat \
MPlayer\
v4l-utils \
xterm \
blueman
# Just for i conside is very useful i try to ran xfce4-clipman:
# xfce4-clipman : does not start : first try to find which libraries need
ldd /usr/bin/xfce4-clipman | grep 'not found'
#on my case i just need "libqrencode.so.4", searching on Slackware Package site, searching by content :
#i need the package "qrencode"
Code:
slackpkg install qrencode
7 : Install packages i want :
This iso include the follow package, i just take note, for if i need on future :
Code:
slackpkg install dmidecode # Tool for dumping a computer's DMI table (some say SMBIOS) contents in a human-readable format
Code:
slackpkg install dhcpcd # Tool for configures the network interface automatically
Code:
slackpkg install iproute2 # IP Routing Utilities (/sbin/ip, is the main program i need)
Code:
slackpkg install iputils # A Collection of common network tools (/bin/ping, is the main program i need)
Code:
slackpkg install net-tools # Linux networking utilities (/bin/netstat, /sbin/ifconfig)
Code:
slackpkg install wireless_tools # Utilities for wireless networking (/sbin/iwconfig)
Code:
slackpkg install bind # DNS server and utilities (/usr/bin/dig)
Code:
slackpkg install openssh # Secure Shell daemon and clients (/usr/bin/ssh)
Code:
slackpkg install sshfs # SSH filesystem client (/usr/bin/sshfs)
Code:
slackpkg install e2fsprogs # ext2/3/4 filesystems utilities, (/sbin/fsck.ext{2,3,4})
Code:
slackpkg install dosfstools # tools for working with FAT filesystems (/sbin/fsck.fat , /sbin/mkfs.fat)
Code:
slackpkg install seamonkey # An open-source web browser suite
--------------------------------------------------------------------------------------------------------------
#Programs (not included in the iso) :
Code:
slackpkg install btrfs-progs # Btrfs filesystem utilities (/sbin/btrfs , /sbin/mkfs.btrfs)
Code:
slackpkg install exfatprogs # exFAT filesystem utilities (/sbin/fsck.exfat , /sbin/mkfs.exfat )
Code:
slackpkg install ntfs-3g # NTFS read-write filesystem driver (/bin/ntfs-3g , /bin/ntfsfix )
Code:
slackpkg install reiserfsprogs # Reiserfs filesystem utilities (/sbin/reiserfsck , /sbin/mkreiserfs)
Code:
slackpkg install xfsprogs # tools to use the XFS filesystem (sbin/mkfs.xfs , sbin/fsck.xfs , sbin/xfs_repair )
Code:
slackpkg install gpm # Enable Mouse Pointer on Console Mode
Code:
slackpkg install joe # Powerfull Text Editor
Code:
slackpkg install nmap # Tool for (intra/inter) test ports for example.
Code:
slackpkg install mc # Midnight Commander is a Console File Manager "Norton Commander" clone.
Code:
slackpkg install audacious # A relatively powerful media player
# Basically the build essentails (programs and libraries for compile source code) :
Code:
slackpkg install glibc gcc gccmakedep makedep make guile gcc-g++ automake autoconf m4 gettext gettext-tools readline
slackpkg install nasm yasm pkg-config zlib intltool dev86 flex gtk+ gtk+2 gtk+3 gtk4 pcre cmake patch patchelf lua
slackpkg install git
# Additional things for build packages :
slackpkg install meson ninja bison
#---------------------------------Xephyr-------------------------------------
#Mounting the Virtual Hard Disk Drive on my main distro Slackware64 14.2
#For make this i just base the mount process from my script for Slackware(32) 14.2 via chroot
Code:
su
mkdir -p /media/ddvirt
modprobe nbd max_part=8
qemu-nbd --connect=/dev/nbd0 /home/inukaze/.aqemu/Slack64-15.0.qcow2
... etc . . .
My Script for mount via chroot and start it in a window using Xephyr :
https://www.linuxquestions.org/quest...97#post6366697
#---------------------------------Xephyr-------------------------------------
# First install extra-official package manager "slpkg" ( can resolve deps )
Code:
cd /tmp
slackpkg install python-pip python-setuptools libyaml
pip install pyyaml
pip install pyglet
pip install greenlet
pip install sqlalchemy
wget -c 'https://gitlab.com/dslackw/slpkg/-/archive/4.1.3/slpkg-4.1.3.tar.gz'
tar xfz slpkg-4.1.3.tar.gz
cd slpkg-4.1.3
./install.sh
ldconfig
slpkg update
Code:
slpkg install lshw #Hardware Lister --> https://ezix.org/project/wiki/HardwareLiSter
# Deps for Feh & Fim :
Code:
slackpkg install libspectre libid3tag curl slang1
Code:
slpkg install fish #Friendly Interactive Shell --> https://fishshell.com/
#fish # Potentially conflict with the
# /usr/games/fish binary from
# The y/bsdgames package
Code:
slpkg install fbgrab #Tool for take screenshoot of tty's --> https://github.com/GunnarMonell/fbgrab
# fbgrab example if you are on tty7
# an want take screenshot of tty6
# directly use this command :
#
#su -c "fbgrab -C6 -i -s6 tty6.png" root
# Deps for mpd :
Code:
slackpkg install libnsl (#This solve "ERROR : Compiler cc can not compile programs")
slackpkg install expat liburing libtool
Code:
slackpkg install doxygen #Dep for libmpdclient
Code:
slackpkg install taglib
#Dep for ncmpcpp
Code:
slpkg install soxr xa(libsidplayfp dep) #Connection Refused : i can't install it using this.
Code:
slpkg install chromaprint libnfs yajl libmms zziplib libshout libgme libmodplug libopenmpt libsidplayfp libsidplay2 twolame sphinx
echo 'If you wish you can download and compile manually : libpipewire, sndio, adplug, faad, mpdec, wildmidi, shine'
#MPD
#If during compiling of ncmpcpp saw the message "WARNING: could not figure out which toolset name to use for g++" try the follow commands only if you make manual compilation :
Code:
slackpkg install pkg-config ; ldconfig
autoreconf -i -f
Alternative if you don't like "mc" :
* # Problems trying to compile :
echo 'i do not install "sphinx" because depend of some MySQL package but i don't know which'
#Installing VLC :
#deps solution :
Code:
slackpkg install qt xcb-util-{cursor,errors,image,renderutil,wm}
slpkg install vlc
#Medit :
Solution :
Code:
slackpkg install python2 python2-module-collection
slpkg install medit
Clock does not show "AM/PM" value
Code:
echo -ne '\n# Establecer la localidad y el idioma del sistema :
export LC_CTYPE=es_VE.UTF-8
export LC_MESSAGES=es_VE.UTF-8
export LC_ALL=es_VE.UTF-8
# Zona Horaria :
TZ='"'America/Caracas'"'
export TZ' >> "$HOME/.profile"
#Changing the Session Manager
Code:
sudo su
slpkg install lxdm
slackpkg remove xdm
Code:
nano /etc/rc.d/rc.4
#Add the follow lines, after 'echo "Starting up X11 session manager"' :
Code:
if [ -x /usr/sbin/lxdm ]; then
/usr/sbin/lxdm -nodaemon
fi
Error "putfont: KDFONTOP: Invalid argument" (if you use lilo this problem does not appear XD)
Trying to Solve :
Code:
sudo su
setconsolefont #Select the Font you want
/usr/share/mkinitrd/mkinitrd_command_generator.sh #This script give you the command for regenerate the initram
#On my case the command was :
Code:
mkinitrd -c -k 5.15.38 -f ext3 -r /dev/sda1 -m jbd2:mbcache:crc32c_intel:crc32c_generic:ext4 -u -o /boot/initrd.gz
i restart and the error persist, i start my session normally and open a terminal, for check the initram image.
Code:
mkdir "$HOME/initramfs" ; cd "$HOME/initramfs"
sudo su
cat /boot/initrd.gz | gunzip -c | cpio -i --no-absolute-filenames
cd bin
ls -l setfont
cd ../sbin
ls -l setfont
echo 'well is there, i suppose adding to mkinitrd.conf BINARIES array can solve it'
Code:
ls -l /etc/mkinitrd.conf #Return file does not exist
Code:
echo 'SOURCE_TREE="/boot/initrd-tree"
#CLEAR_TREE="0"
OUTPUT_IMAGE="/boot/initrd.gz"
KERNEL_VERSION="$(uname -r)"
KEYMAP="es"
MODULE_LIST="jbd2:mbcache:crc32c_intel:crc32c_generic:ext4"
#LUKSDEV="/dev/sda2"
#LUKSTRIM="/dev/sda2" # verify support with 'hdparm -I $dev | grep TRIM'
#LUKSKEY="LABEL=TRAVELSTICK:/keys/alienbob.luks"
ROOTDEV="/dev/sda1"
ROOTFS="ext3"
#RESUMEDEV="/dev/sda2"
#RAID="0"
#LVM="0"
UDEV="1"
#MODCONF="0"
#MICROCODE_ARCH="/boot/intel-ucode.cpio"
WAIT="0"
BINARIES=(setfont)' | tee /etc/mkinitrd.conf
#Install gksu
Code:
slackpkg install libgtop
slpkg install murrine gksu
#Customizing /etc/initscript :
Code:
echo 'PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH
# Fix the rlimit for Windows Shares :
ulimit -n 16384 &>/dev/null
ulimit -Hn -Sn &>/dev/null
# Execute the program.
eval exec "$4"' /etc/initscript
Code:
echo '#vm.mmap_min_addr = 98304# Valor Predeterminado
vm.mmap_min_addr = 4096
net.ipv4.ip_forward=1 #Permitir el redireccionamiento
#Deshabilitar IPv6:
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1' | tee /etc/sysctl.conf
#Xfce & Samba :
#Samba Configuration :
Code:
echo '[global]
client lanman auth = yes
client ntlmv2 auth = no
dns proxy = no
domain master = no
lanman auth = yes
local master = no
map to guest = Bad user
max log size = 2064
name resolve order = lmhosts hosts host wins bcast
obey pam restrictions = yes
pam password change = yes
panic action = /usr/share/samba/panic-action %d
passdb backend = tdbsam
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
preferred master = yes
security = user
server role = standalone server
server string = %U
socket options = TCP_NODELAY IPTOS_LOWDELAY
tls enabled=no
unix password sync = no
username map = /etc/samba/smbpasswd
usershare allow guests = yes
usershare max shares = 777
usershare owner only = no
usershare path = /var/lib/samba/usershares
wins support = yes
workgroup = REDLOCAL
interfaces = 192.168.1.0/24 eth0 lo
hosts allow = 192.168.1.0/24' | tee /etc/samba/smb.conf
#Samba Shares :
Code:
su
USER=inukaze
useradd "$USER" -m -G users
groupadd sambashare
gpasswd -a "$USER" sambashare
mkdir -p "/var/lib/samba/usershares/"
chown root:sambashare /var/lib/samba/usershares ; \
chmod 01770 -R /var/lib/samba/usershares
# Xfce & Samba Shares : i just add some Custom Actions for Thunar like
Code:
Name : "Allow Read Access"
Command : net usershare add %n %f "" Everyone:R guest_ok=y && gvfs-set-attribute %f -t stringv metadata::emblems emblem-shared
Condition : *, Folders
Code:
Name : "Allow Read & Write Access"
Command : net usershare add %n %f "" Everyone:F guest_ok=y && chmod 777 %f && gvfs-set-attribute %f -t stringv metadata::emblems emblem-shared
Condition : *, Folders
Code:
Name : "Remove Acess"
Command : net usershare delete %n && chmod 755 %f && gvfs-set-attribute %f -t stringv metadata::emblems none
Contidion : *, Folders
# That is just for using the Right Click on a Folder, i select if i want Share for Read/Write or not more access.
#Fuse Configuration :
Code:
echo '# The file /etc/fuse.conf allows for the following parameters:
#
# user_allow_other - Using the allow_other mount option works fine as root, in
# order to have it work as user you need user_allow_other in /etc/fuse.conf as
# well. (This option allows users to use the allow_other option.) You need
# allow_other if you want users other than the owner to access a mounted fuse.
# This option must appear on a line by itself. There is no value, just the
# presence of the option.
user_allow_other
# mount_max = n - this option sets the maximum number of mounts.
# Currently (2014) it must be typed exactly as shown
# (with a single space before and after the equals sign).
#mount_max = 1000' | tee /etc/fuse.conf
Fix /etc/machine-id :
Option 1 : Generate it
Option 2 :
Code:
ls /var/lib/dbus/machine-id
cp /var/lib/dbus/machine-id /etc/machine-id
Customizing Look&Feel -
Theme Controls : Windows XP Royale
Theme Icon Set : Korla
Theme Font : Roboto
Theme Font Size : 11
Theme PPP : 96
Theme Smooth Bordes Type : Medium
Theme Subpixel Order : BGR or AVR
* Panel :
A) Things i use : Whisker Menu, DockbarX / DockLike , Orage, qasmixer + pnmixer or volumeicon,
Panel Custom Color : #00A2FF
Panel Icon Size : 108
Panel Elements : Whisker Menu, Transparent Separator, DockBarX, Transparent Separator, Notification Area, Orage Clock
Orage First Line : %I:%M:%S %p %n %d/%m/%Y %n %A / %B
Orage Second Line : %A %d de %B del %Y
Orage Custom Font : Bree Serif
Orage Custom Font Color : #000000
Orage Custom Font Size : 13
Orage Custom Bck Color : #00A2FF
B) Download & Install DockLike
Code:
su
#DockLike :
cd /tmp
git clone https://gitlab.xfce.org/panel-plugin...ike-plugin.git
cd xfce4-docklike-plugin
./autogen.sh
make
make install
cp -rf /usr/lib/xfce4/panel/plugins/libdocklike.so /usr/lib64/xfce4/panel/plugins/libdocklike.so
cp -rf /usr/lib/xfce4/panel/plugins/libdocklike.la /usr/lib64/xfce4/panel/plugins/libdocklike.la
ldconfig
#MenuLibre : Menu Editor
Code:
slpkg install menulibre
#MugShot : User Info Editor :
Code:
su
cd /tmp
pip3 install pexpect
git clone https://github.com/bluesabre/mugshot
cd mugshot
python3 setup.py build
python3 setup.py install
glib-compile-schemas /usr/share/glib-2.0/schemas/
ldconfig
#PDF Viewer :
Code:
slpkg install qpdfview
#slpkg 3.9.9
#echo slpkg 4.1.3 : just access to sbo repository ¬¬, well i prefer use multiple repos :
Code:
su
pip3 install urllib3
slpkg update
slpkg -s sbo install python3-pythondialog
slpkg repo-enable
#Now choose the repositories you want active, i use : slack, sbo, alien, slonly, multi
Well after i edit and arrange this post, but now i am thinking on the follow:
1 - How i can compile Slackware "Esential & Base System" (The programs just for mount, generated initrd, grub2, lilo,nano / joe,fsck, dhclient, boot partition, and slackpkg, without graphical env,no X / Mir / Wayland / Xfce, just the base)
2 - I think the first point because is just i need to make my own custom iso, instead reinstall all removed package from the iso of xfce live i had downloaded and recompile lost deps.
3 -i want make a customization inside the /boot parttion,like put inside a minial chroot env.
4 - well after i finish with my customizations,i read again how i should use the SlackLive scripts for know how ican put my custom version inside a USB Partition.