MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 7 as of 2014-01-13 15:30:20
  • Slackware

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:

  • cd /tmp
  • mkdir gitVagrant
  • cd gitVagrant
  • git clone https://github.com/mitchellh/vagrant.git

  • cd vagrant
  • gem install bundle #it may not be installed
  • bundle install
  • rake install
  • vagrant -v #check vagrant version

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:

  • cd <place where the downloaded virtualbox installer is>

  • chmod 755 VirtualBox-4.2.8-83876-Linux_x86.run

  • ./VirtualBox-4.2.8-83876-Linux_x86.run

  • usermod -a -G vboxusers <username>

  • id <username> #check user groups

As a normal user run the following:

  • virtualbox --help # check the version and parameters
  • virtualbox #start virtualbox

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

  • mkdir -p /tmp/vgbox
  • cd /tmp/vgbox
  • wget http://files.vagrantup.com/lucid32.box #Ubuntu 10.04 LTS

  • vagrant box add UbuntuLucid32 lucid32.box

  • vagrant init UbuntuLucid32

  • vagrant up
  • vagrant ssh #access the VM through SSH
  • ping www.sapo.pt #inside VM ... does not reply
  • exit
  • vagrant suspend

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

  • VBoxManage list vms
  • VBoxManage modifyvm "vgbox_1372194938" --natdnsproxy1 on
  • VBoxManage modifyvm "vgbox_1372194938" --natdnshostresolver1 on
  • vagrant resume
  • vagrant ssh
  • ping www.sapo.pt # OK ! it gets ping replies
  • dpkg -l | more # show all installed packages

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

  • mkdir -p ~/Downloads/vagrantBoxes/
  • cd ~/Downloads/vagrantBoxes/
  • wget http://files.vagrantup.com/precise32.box #Ubuntu 12.04 LTS

  • mkdir -p /tmp/precise32
  • cd /tmp/precise32
  • vagrant box add UbuntuPrecise32 ~/Downloads/vagrantBoxes/precise32.box

  • vagrant init UbuntuPrecise32

  • vagrant up
  • vagrant ssh #access the VM through SSH
  • ping www.sapo.pt
  • exit
  • vagrant suspend

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

  • /dev/ttyUSB0
  • 460800
  • connect 'chat -v -f /etc/ppp/chat/tmnpub'
  • defaultroute
  • usepeerdns

Edit /etc/ppp/chat/tmnpub

  • ABORT 'BUSY'
  • ABORT 'NO CARRIER'
  • ABORT 'ERROR'
  • ABORT 'SIM PIN'
  • ABORT 'SIM PUK'
  • '' AT

  • OK AT+CGDCONT=1,"IP","internet"
  • OK AT+CPIN?
  • READY ATDT*99#
  • CONNECT

To connect to the internet we must use the command:

  • pppd call tmnpub

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:

  • route -n

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

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

To view the iptables configuration run the commands:

  • iptables -L -t nat -v
  • iptables -L -t filter -v

#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:

  • route -n

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:

  • route del -net 0.0.0.0 gw 192.168.1.1

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:

  • route add default gw 192.168.1.123
  • route -n

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

  • Gateway: 192.168.1.123
  • Netmask: 0.0.0.0
  • Destination: 0.0.0.0
  • Iface: eth0

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

  • /usr/share/mkinitrd/mkinitrd_command_generator.sh
  • mkinitrd -c -k 3.2.29 -f ext4 -r /dev/sda5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz

Add to /etc/lilo.conf

image = /boot/vmlinuz-generic-3.2.29
  initrd = /boot/initrd.gz # add this line so that lilo sees initrd.gz
  root = /dev/sda5
  label = SlackGen
  read-only
  • lilo -v
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01