Slackware

The original Linux distribution, geared towards power and stability.

http://www.slackware.com

Vagrant on Slackware 14 32 bit

Ruby version: ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]

VirtualBox version, Oracle VM VirtualBox Manager 4.2.8

Install Vagrant from source

Based on https://github.com/mitchellh/vagrant/wiki/Installing-Vagrant-from-source

As root run the following:

Install VirtualBox on Slackware 14 32 bit

Get VirtualBox 4.2.8 for Linux, i386, all distributions http://download.virtualbox.org/virtualbox/4.2.8/VirtualBox-4.2.8-83876-Linux_x86.run.

For 4.2.18 http://download.virtualbox.org/virtualbox/4.2.18/VirtualBox-4.2.18-88781-Linux_x86.run

As root run the following commands:

As a normal user run the following:

Get and run a base box - Ubuntu Lucid32

In http://www.vagrantbox.es/ there is a list of available vagrant boxes.

As normal user run the following

Run the following as stated in http://serverfault.com/questions/453185/vagrant-virtualbox-dns-10-0-2-3-not-working:

Running cat /etc/debian_version show its based on squeeze/sid.

Running cat /etc/issue.net show it's Ubuntu 10.04.4 LTS http://releases.ubuntu.com/lucid/.

Current user and pass for the lucid32 box is vagrant vagrant. To get superuser access run sudo bash.

Inspecting the file /etc/shadow we can see that only the user vagrant has a password defined.

In /etc/sudoers it is said that all users belonging to group can gain root privileges with supplying a password.

In /etc/group it is stated that vagrant belongs to the admin group.

Ubuntu Precise32

In http://www.vagrantbox.es/ there is a list of available vagrant boxes.

As normal user run the following

Slackware NAT router with Pen 3G

Configure Slackware PC to share a 3G internet connection (TMN portuguese ISP).

Internet connection

The used APN is internet.

There is no PIN defined in the used SIM card.

Edit /etc/ppp/peers/tmnpub

Edit /etc/ppp/chat/tmnpub

To connect to the internet we must use the command:

Using the command ifconfig we should see the device ppp0 in the output.

Issuing a command ping www.google.com we should get a reply with the IP address from Google.

Configure NAT (Network Address Translation) router

Translate internal network addresses (source address) to a public/usable IP address given to the 3G modem.

View the routing table:

It should appear the devices ppp0 and eth0, and based on the Destination and Netmask the destination interface.

Enable IP forwarding:

Configure iptables to translate the address after they are forwarded to the correct interface, from eth0 to ppp0:

To view the iptables configuration run the commands:

#script
#Enable IP forwarding:
echo 1 > /proc/sys/net/ipv4/ip_forward
#Configure iptables to translate the address after they are forwarded to the correct interface, from eth0 to ppp0:
iptables -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Configure client computer

The routing table must be configure to use the NAT on Slackware, that will act as a router.

Check the current default gateway:

The line with destination equal to 0.0.0.0 and gateway 0.0.0.0, is the default router/gateway and must be deleted. We must run a command to do that, adapted to the current situation:

The previous command is to delete a route with destination 0.0.0.0 and gateway 192.168.1.1.

If the NAT router have the IP 192.168.1.123 then the following command must be sent:

After that running route -n should return a line with:

Running a ping www.google.com from the client computer should return the IP address from Google.

Running a traceroute www.google.com should show the IP address from the NAT router.

Generic kernel

The “generic” kernel on the other hand, is a kernel which has virtually no drivers built in. All drivers will be loaded into RAM on demand.

#/usr/share/mkinitrd/mkinitrd_command_generator.sh
#
# mkinitrd_command_generator.sh revision 1.45
#
# This script will now make a recommendation about the command to use
# in case you require an initrd image to boot a kernel that does not
# have support for your storage or root filesystem built in
# (such as the Slackware 'generic' kernels').
# A suitable 'mkinitrd' command will be:

mkinitrd -c -k 3.2.45-smp -f ext4 -r /dev/sda1 -m usb-storage:ehci-hcd:usbhid:uhci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
# Add to /etc/lilo.conf
image = /boot/vmlinuz-generic-smp-3.2.45-smp
  initrd = /boot/initrd.gz # add this line so that lilo sees initrd.gz
  root = /dev/sda1
  label = SlackwareGeneric
  read-only
# run lilo -v

USB boot in VirtualBox

$VBoxManage convertfromraw -format VDI usbboot.img usbboot.vdi

Generic on Slackware64 14.0

# Add to /etc/lilo.conf image = /boot/vmlinuz-generic-smp-3.2.29-smp

# run lilo -v }}}

Slackware (last edited 2014-01-13 15:27:24 by bl14-186-78)