LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 01-24-2022, 09:12 AM   #1
tuxuser1
Member
 
Registered: Nov 2021
Posts: 165

Rep: Reputation: Disabled
Slackware with Runit


Hi all,

I'm trying Slackware on qemu/kvm to learn the distribution before to install it on the real hardware as daily driver.
I was be able to fully replace sysvinit with Runit using the Void Linux init scripts.
It works like a charm except single user mode which just run sulogin.
For some reason the service goes in loop not showing the su login prompt.
This is the service:

/etc/sv/sulogin/run

Code:
#!/bin/sh
[ -r conf ] && . ./conf
read -r tty < /sys/class/tty/console/active
tty=/dev/${tty##* }
exec /usr/bin/setsid /sbin/sulogin ${OPTS:=-p} < $tty >$tty 2>&1
I can't understand what i am wronging.
Could you help me?
Regards
 
Old 01-24-2022, 11:18 AM   #2
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 906

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
I don't use runit, but maybe you can look here for clues:

https://git.slackbuilds.org/slackbui...e/system/runit
 
Old 01-24-2022, 11:39 AM   #3
tuxuser1
Member
 
Registered: Nov 2021
Posts: 165

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by drumz View Post
I don't use runit, but maybe you can look here for clues:

https://git.slackbuilds.org/slackbui...e/system/runit
I added a strace to see the errors. This is the output:

Code:
execve("/usr/bin/setsid", ["setsid", "sulogin", "-p"], 0x7ffc5d5adc80 /* 3 vars */) = 0
brk(NULL)                               = 0x1b3b000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=203828, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 203828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f1cf9a8a000
close(3)                                = 0
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`A\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0;\0\0\0\0\0\0\0"..., 48, 848) = 48
pread64(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\3\0\0\0\2\0\0\0\0\0\0\0", 32, 896) = 32
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2173576, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1cf9a88000
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 1963304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f1cf98a8000
mprotect(0x7f1cf98ca000, 1765376, PROT_NONE) = 0
mmap(0x7f1cf98ca000, 1433600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f1cf98ca000
mmap(0x7f1cf9a28000, 327680, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x180000) = 0x7f1cf9a28000
mmap(0x7f1cf9a79000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d0000) = 0x7f1cf9a79000
mmap(0x7f1cf9a7f000, 34088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f1cf9a7f000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1cf98a6000
arch_prctl(ARCH_SET_FS, 0x7f1cf9a89580) = 0
mprotect(0x7f1cf9a79000, 16384, PROT_READ) = 0
mprotect(0x403000, 4096, PROT_READ)     = 0
mprotect(0x7f1cf9aeb000, 8192, PROT_READ) = 0
munmap(0x7f1cf9a8a000, 203828)          = 0
brk(NULL)                               = 0x1b3b000
brk(0x1b5c000)                          = 0x1b5c000
getpgrp()                               = 791
getpid()                                = 813
setsid()                                = 813
execve("/bin/sulogin", ["sulogin", "-p"], 0x7ffe061d9bf8 /* 3 vars */) = 0
brk(NULL)                               = 0x18cb000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=203828, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 203828, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f5452fb9000
close(3)                                = 0
openat(AT_FDCWD, "/lib64/libcrypt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\21\0\0\0\0\0\0"..., 832) = 832
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=48784, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5452fb7000
mmap(NULL, 233984, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5452f7d000
mprotect(0x7f5452f7e000, 36864, PROT_NONE) = 0
mmap(0x7f5452f7e000, 24576, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7f5452f7e000
mmap(0x7f5452f84000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7f5452f84000
mmap(0x7f5452f87000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x7f5452f87000
mmap(0x7f5452f89000, 184832, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f5452f89000
close(3)                                = 0
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`A\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\1\0\1\300\4\0\0\0;\0\0\0\0\0\0\0"..., 48, 848) = 48
pread64(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\3\0\0\0\2\0\0\0\0\0\0\0", 32, 896) = 32
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2173576, ...}, AT_EMPTY_PATH) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 1963304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f5452d9d000
mprotect(0x7f5452dbf000, 1765376, PROT_NONE) = 0
mmap(0x7f5452dbf000, 1433600, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f5452dbf000
mmap(0x7f5452f1d000, 327680, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x180000) = 0x7f5452f1d000
mmap(0x7f5452f6e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1d0000) = 0x7f5452f6e000
mmap(0x7f5452f74000, 34088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f5452f74000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f5452d9a000
arch_prctl(ARCH_SET_FS, 0x7f5452d9a740) = 0
mprotect(0x7f5452f6e000, 16384, PROT_READ) = 0
mprotect(0x7f5452f87000, 4096, PROT_READ) = 0
mprotect(0x405000, 4096, PROT_READ)     = 0
mprotect(0x7f545301a000, 8192, PROT_READ) = 0
munmap(0x7f5452fb9000, 203828)          = 0
ioctl(0, TCGETS, {B38400 opost -isig -icanon -echo ...}) = 0
ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0
brk(NULL)                               = 0x18cb000
brk(0x18ec000)                          = 0x18ec000
close(0)                                = 0
close(1)                                = 0
close(2)                                = 0
openat(AT_FDCWD, "-p", O_RDWR)          = -1 ENOENT (No such file or directory)
exit_group(1)                           = ?
+++ exited with 1 +++
I can't to understand why it exits with 1.....
 
Old 01-24-2022, 12:09 PM   #4
kjhambrick
Senior Member
 
Registered: Jul 2005
Location: Round Rock, TX
Distribution: Slackware64 15.0 + Multilib
Posts: 2,159

Rep: Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512
tuxuser1 --

Not sure where the 'file' named '-p' comes from:
Code:
openat(AT_FDCWD, "-p", O_RDWR)          = -1 ENOENT (No such file or directory)
But it appears that program `sulogin` failed when it tried to open a file called '-p'

HTH

-- kjh
 
Old 01-24-2022, 12:17 PM   #5
tuxuser1
Member
 
Registered: Nov 2021
Posts: 165

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by kjhambrick View Post
tuxuser1 --

Not sure where the 'file' named '-p' comes from:
Code:
openat(AT_FDCWD, "-p", O_RDWR)          = -1 ENOENT (No such file or directory)
But it appears that program `sulogin` failed when it tried to open a file called '-p'

HTH

-- kjh
Yeah, I already fixed it....I didn't know that sulogin can be different between the distributions.
Now, after I enter the root password , i get the following errors:

Code:
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
-bash: no job control in this shell
Probably It is related to setsid which is different on Slackware as well
I only have this error. Just fixed it, i'll share these scripts. It's fast as thunderbolt and fully independent by sysvinit.
I also uninstalled sysvinit.
 
Old 01-24-2022, 12:20 PM   #6
kjhambrick
Senior Member
 
Registered: Jul 2005
Location: Round Rock, TX
Distribution: Slackware64 15.0 + Multilib
Posts: 2,159

Rep: Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512Reputation: 1512
tuxuser1 --

See drumz' post #2

There is an runit.SlackBuild at SBo with a nice Long README File ...

Maybe try that one instead of the System from Void Linux ?

-- kjh
 
Old 01-24-2022, 12:26 PM   #7
tuxuser1
Member
 
Registered: Nov 2021
Posts: 165

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by kjhambrick View Post
tuxuser1 --

See drumz' post #2

There is an runit.SlackBuild at SBo with a nice Long README File ...

Maybe try that one instead of the System from Void Linux ?

-- kjh
Yes I know, I installed runit from there.
I only wanted fully make the boot free by sysvinit.
 
Old 01-24-2022, 12:26 PM   #8
Sl4ck3ver
Member
 
Registered: Aug 2013
Posts: 44

Rep: Reputation: Disabled
sulogin on slackware:
NAME
sulogin - Single-user login
SYNTAX
sulogin [tty-device]

sulogin elsewhere:
NAME
sulogin - Single-user login
SYNOPSIS
sulogin [ -e ] [ -p ] [ -t SECONDS ] [ TTY ]

So, remove "${OPTS:=-p}"
 
Old 01-24-2022, 12:29 PM   #9
tuxuser1
Member
 
Registered: Nov 2021
Posts: 165

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Sl4ck3ver View Post
sulogin on slackware:
NAME
sulogin - Single-user login
SYNTAX
sulogin [tty-device]

sulogin elsewhere:
NAME
sulogin - Single-user login
SYNOPSIS
sulogin [ -e ] [ -p ] [ -t SECONDS ] [ TTY ]

So, remove "${OPTS:=-p}"
Read above, this is already fixed.
Now, there is the bash error.
Thanks for your feedback anyway
 
Old 01-24-2022, 12:31 PM   #10
tuxuser1
Member
 
Registered: Nov 2021
Posts: 165

Original Poster
Rep: Reputation: Disabled
Since I have unistalled sysvinit, can you search in /etc/rc.d how sulogin is invoked?
 
Old 01-24-2022, 01:16 PM   #11
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 906

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
Quote:
Originally Posted by tuxuser1 View Post
Since I have unistalled sysvinit, can you search in /etc/rc.d how sulogin is invoked?
(portion of) /etc/rc.d/rc.S:
Code:
# Check the root filesystem:
if [ -z "$container" ]; then
  # If we're using F2FS for the root filesystem, don't check it as it doesn't
  # allow checking a read-only filesystem:
  if grep -q ' / f2fs ' /proc/mounts ; then
    echo "Remounting root device with read-write enabled."
    /sbin/mount -w -v -n -o remount /
  elif [ ! $READWRITE = yes ]; then
    # Check the root filesystem:
    RETVAL=0
    if [ ! -r /etc/fastboot ]; then
      echo "Checking root filesystem:"
      /sbin/fsck $FORCEFSCK -C -a /
      RETVAL=$?
    fi
    # An error code of 2 or higher will require a reboot.
    if [ $RETVAL -ge 2 ]; then
      # An error code equal to or greater than 4 means that some errors
      # could not be corrected.  This requires manual attention, so we
      # offer a chance to try to fix the problem in single-user mode:
      if [ $RETVAL -ge 4 ]; then
        echo
        echo "***********************************************************"
        echo "*** An error occurred during the root filesystem check. ***"
        echo "*** You will now be given a chance to log into the      ***"
        echo "*** system in single-user mode to fix the problem.      ***"
        echo "***                                                     ***"
        echo "*** If you are using the ext2 filesystem, running       ***"
        echo "*** 'e2fsck -v -y <partition>' might help.              ***"
        echo "***********************************************************"
        echo
        echo "Once you exit the single-user shell, the system will reboot."
        echo
        PS1="(Repair filesystem) \#"; export PS1
        sulogin
      else # With an error code of 2 or 3, reboot the machine automatically:
        echo
        echo "***********************************"
        echo "*** The filesystem was changed. ***"
        echo "*** The system will now reboot. ***"
        echo "***********************************"
        echo
      fi
      echo "Unmounting file systems."
      /sbin/umount -a -r
      /sbin/mount -n -o remount,ro /
      echo "Rebooting system."
      reboot -f
    fi
    # Remount the root filesystem in read-write mode
    echo "Remounting root device with read-write enabled."
    /sbin/mount -w -v -n -o remount /
    if [ $? -gt 0 ] ; then
      echo "FATAL:  Attempt to remount root device as read-write failed!  This is going to"
      echo "cause serious problems."
    fi
  else
    echo "Testing root filesystem status:  read-write filesystem"
    echo
    echo "ERROR: Root partition has already been mounted read-write. Cannot check!"
    echo
    echo "For filesystem checking to work properly, your system must initially mount"
    echo "the root partition as read only.  If you're booting with LILO, add a line:"
    echo
    echo "   read-only"
    echo
    echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it."
  fi # Done checking root filesystem
fi
 
Old 01-24-2022, 04:02 PM   #12
notzed
Member
 
Registered: Dec 2020
Location: South Australia
Distribution: slackware64-current
Posts: 95

Rep: Reputation: Disabled
Quote:
Originally Posted by tuxuser1 View Post
Since I have unistalled sysvinit, can you search in /etc/rc.d how sulogin is invoked?
It's easy to just untar the package anywhere to look at it's contents. Or just open it directly in an archive browser - i use emacs for this. There's a bit more setup before the sulogin so it's probably worth having a look.

You probably know but rc.S is in sysvinit-scripts-15.0-noarch-7.txz
 
Old 01-24-2022, 05:04 PM   #13
rkelsen
Senior Member
 
Registered: Sep 2004
Distribution: slackware
Posts: 4,463
Blog Entries: 7

Rep: Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561Reputation: 2561
Quote:
Originally Posted by tuxuser1 View Post
I was be able to fully replace sysvinit with Runit using the Void Linux init scripts.
I'd question the wisdom of replacing a critical system component without fully understanding what it is that you're doing.

What is the reason you want to do this? Having used it for >20 years, I feel confident enough to say that Slackware's init is 'rock solid' reliable, infinitely extensible and easily modified. It is regularly tweaked and tuned by Patrick to get the best results. The default 'rc' files are quite well commented. It's one of Slackware's best features. IMNSHO, any replacement would have to be for a very good reason.
 
10 members found this post helpful.
Old 01-25-2022, 07:03 AM   #14
tuxuser1
Member
 
Registered: Nov 2021
Posts: 165

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by drumz View Post
(portion of) /etc/rc.d/rc.S:
Code:
# Check the root filesystem:
if [ -z "$container" ]; then
  # If we're using F2FS for the root filesystem, don't check it as it doesn't
  # allow checking a read-only filesystem:
  if grep -q ' / f2fs ' /proc/mounts ; then
    echo "Remounting root device with read-write enabled."
    /sbin/mount -w -v -n -o remount /
  elif [ ! $READWRITE = yes ]; then
    # Check the root filesystem:
    RETVAL=0
    if [ ! -r /etc/fastboot ]; then
      echo "Checking root filesystem:"
      /sbin/fsck $FORCEFSCK -C -a /
      RETVAL=$?
    fi
    # An error code of 2 or higher will require a reboot.
    if [ $RETVAL -ge 2 ]; then
      # An error code equal to or greater than 4 means that some errors
      # could not be corrected.  This requires manual attention, so we
      # offer a chance to try to fix the problem in single-user mode:
      if [ $RETVAL -ge 4 ]; then
        echo
        echo "***********************************************************"
        echo "*** An error occurred during the root filesystem check. ***"
        echo "*** You will now be given a chance to log into the      ***"
        echo "*** system in single-user mode to fix the problem.      ***"
        echo "***                                                     ***"
        echo "*** If you are using the ext2 filesystem, running       ***"
        echo "*** 'e2fsck -v -y <partition>' might help.              ***"
        echo "***********************************************************"
        echo
        echo "Once you exit the single-user shell, the system will reboot."
        echo
        PS1="(Repair filesystem) \#"; export PS1
        sulogin
      else # With an error code of 2 or 3, reboot the machine automatically:
        echo
        echo "***********************************"
        echo "*** The filesystem was changed. ***"
        echo "*** The system will now reboot. ***"
        echo "***********************************"
        echo
      fi
      echo "Unmounting file systems."
      /sbin/umount -a -r
      /sbin/mount -n -o remount,ro /
      echo "Rebooting system."
      reboot -f
    fi
    # Remount the root filesystem in read-write mode
    echo "Remounting root device with read-write enabled."
    /sbin/mount -w -v -n -o remount /
    if [ $? -gt 0 ] ; then
      echo "FATAL:  Attempt to remount root device as read-write failed!  This is going to"
      echo "cause serious problems."
    fi
  else
    echo "Testing root filesystem status:  read-write filesystem"
    echo
    echo "ERROR: Root partition has already been mounted read-write. Cannot check!"
    echo
    echo "For filesystem checking to work properly, your system must initially mount"
    echo "the root partition as read only.  If you're booting with LILO, add a line:"
    echo
    echo "   read-only"
    echo
    echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it."
  fi # Done checking root filesystem
fi

Ok, it works now.

Code:
#!/bin/sh
[ -r conf ] && . ./conf
read -r tty < /sys/class/tty/console/active
tty=/dev/${tty##* }
exec /usr/bin/setsid -c /sbin/sulogin < $tty >$tty 2>&1
Thank all!
 
1 members found this post helpful.
Old 01-26-2022, 09:14 PM   #15
scuzzy_dog
Member
 
Registered: Apr 2021
Location: Free State of Texas (somewhat free)
Posts: 108

Rep: Reputation: Disabled
Quote:
Originally Posted by rkelsen View Post
IMNSHO, any replacement would have to be for a very good reason.
Curious myself. Why replace sysvinit?

If you run into problems down the line it might be difficult to diagnose things. If you do have problems later be sure to mention that you're using runit if you post here about problems.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to get Runit working in Slackware. ReaperX7 Slackware 18 09-05-2014 10:14 PM
runit on SuSE 10.1 tzbishop SUSE / openSUSE 2 10-09-2006 11:26 AM
install runit-run package kristof_v Debian 1 03-07-2006 12:57 PM
runit problems deroB Linux - Software 3 01-17-2006 02:40 PM
xdm with runit? behmjose Linux From Scratch 0 05-22-2004 03:19 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:00 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration