mirror of
https://github.com/GNS3/gns3-registry.git
synced 2025-02-17 16:00:18 +00:00
TinyCore Linux appliance + packer
This commit is contained in:
parent
d704aaa6df
commit
5e9f0fcc1d
appliances
packer/tinycore-linux
44
appliances/tinycore-linux.gns3a
Normal file
44
appliances/tinycore-linux.gns3a
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"name": "Tiny Core Linux",
|
||||||
|
"category": "guest",
|
||||||
|
"description": "Core Linux is a smaller variant of Tiny Core without a graphical desktop.\n\nIt's provide a complete Linux system in few MB.",
|
||||||
|
"vendor_name": "Team Tiny Core",
|
||||||
|
"vendor_url": "http://distro.ibiblio.org/tinycorelinux",
|
||||||
|
"documentation_url": "http://wiki.tinycorelinux.net/",
|
||||||
|
"product_name": "Tiny Core Linux",
|
||||||
|
"product_url": "http://distro.ibiblio.org/tinycorelinux",
|
||||||
|
"registry_version": 1,
|
||||||
|
"status": "stable",
|
||||||
|
"maintainer": "GNS3 Team",
|
||||||
|
"maintainer_email": "developers@gns3.net",
|
||||||
|
"usage": "Login is gns3/gns3. sudo works without password",
|
||||||
|
"symbol": "linux_guest.svg",
|
||||||
|
|
||||||
|
"qemu": {
|
||||||
|
"adapter_type": "e1000",
|
||||||
|
"adapters": 1,
|
||||||
|
"ram": 96,
|
||||||
|
"arch": "i386",
|
||||||
|
"console_type": "telnet"
|
||||||
|
},
|
||||||
|
|
||||||
|
"images": [
|
||||||
|
{
|
||||||
|
"filename": "linux-tinycore-6.4.qcow2",
|
||||||
|
"version": "6.4",
|
||||||
|
"md5sum": "bcd99ff8b3a9e7097455dcebe66ba2dd",
|
||||||
|
"filesize": 23855104,
|
||||||
|
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||||
|
"direct_download_url": "http://no.public.repository.yet/linux-tinycore-6.4.qcow2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
|
||||||
|
"versions": [
|
||||||
|
{
|
||||||
|
"name": "6.4",
|
||||||
|
"images": {
|
||||||
|
"hda_disk_image": "linux-tinycore-6.4.qcow2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
37
packer/tinycore-linux/scripts/hd-install.sh
Normal file
37
packer/tinycore-linux/scripts/hd-install.sh
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
# Install tinycore on harddisk
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
# format harddisk
|
||||||
|
echo -e 'n\np\n1\n\n\na\n1\nw' | sudo fdisk -H16 -S32 /dev/sda
|
||||||
|
sudo mkfs.ext2 /dev/sda1
|
||||||
|
|
||||||
|
# copy system to harddisk
|
||||||
|
sudo mkdir /mnt/sda1
|
||||||
|
sudo mount /dev/sda1 /mnt/sda1
|
||||||
|
sudo mount /mnt/sr0
|
||||||
|
sudo cp -a /mnt/sr0/boot /mnt/sda1/
|
||||||
|
sudo umount /mnt/sr0
|
||||||
|
|
||||||
|
# modify bootloader config
|
||||||
|
sudo mv /mnt/sda1/boot/isolinux /mnt/sda1/boot/extlinux
|
||||||
|
cd /mnt/sda1/boot/extlinux
|
||||||
|
sudo rm boot.cat isolinux.bin
|
||||||
|
sudo mv isolinux.cfg extlinux.conf
|
||||||
|
sudo sed -i -e '/append / s/$/ user=gns3/' -e 's/timeout .*/timeout 30/' extlinux.conf
|
||||||
|
cd
|
||||||
|
|
||||||
|
# make disk bootable
|
||||||
|
tce-load -wi syslinux
|
||||||
|
sudo sh -c 'cat /usr/local/share/syslinux/mbr.bin > /dev/sda'
|
||||||
|
sudo /usr/local/sbin/extlinux --install /mnt/sda1/boot/extlinux
|
||||||
|
|
||||||
|
# create extensions directory
|
||||||
|
sudo mkdir /mnt/sda1/tce
|
||||||
|
sudo chgrp staff /mnt/sda1/tce
|
||||||
|
sudo chmod 775 /mnt/sda1/tce
|
||||||
|
|
||||||
|
# base system modifications
|
||||||
|
echo 'etc/issue' >> /opt/.filetool.lst
|
||||||
|
echo 'etc/shadow' >> /opt/.filetool.lst
|
||||||
|
echo -e "\nusername 'gns3', password 'gns3'\n" >> /etc/issue
|
18
packer/tinycore-linux/scripts/packages.sh
Normal file
18
packer/tinycore-linux/scripts/packages.sh
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Add extensions
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
# change tcedir to harddisk
|
||||||
|
mv /etc/sysconfig/tcedir /etc/sysconfig/tcedir.bak
|
||||||
|
ln -s /mnt/sda1/tce /etc/sysconfig/tcedir
|
||||||
|
rm -rf /usr/local/tce.installed/*
|
||||||
|
|
||||||
|
# openssh (optional)
|
||||||
|
tce-load -wi openssh
|
||||||
|
echo '/usr/local/etc/init.d/openssh start' >> /opt/bootlocal.sh
|
||||||
|
echo 'usr/local/etc/ssh' >> /opt/.filetool.lst
|
||||||
|
|
||||||
|
tce-load -wi ipv6-`uname -r` iptables iproute2
|
||||||
|
tce-load -wi tcpdump
|
||||||
|
tce-load -wi iperf3
|
||||||
|
|
9
packer/tinycore-linux/scripts/post_setup.sh
Normal file
9
packer/tinycore-linux/scripts/post_setup.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# post-installation script
|
||||||
|
set -x
|
||||||
|
|
||||||
|
# save changes
|
||||||
|
rm -f .ash_history
|
||||||
|
filetool.sh -b sda1
|
||||||
|
|
||||||
|
# write 0, not really necessary
|
||||||
|
#sudo dd if=/dev/zero of=/mnt/sda1/zero ; sudo rm -f /mnt/sda1/zero
|
21
packer/tinycore-linux/scripts/serial.sh
Normal file
21
packer/tinycore-linux/scripts/serial.sh
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Add serial console support
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
# Boot configuration
|
||||||
|
# Serial interface is secondary console, the vga console remains main console
|
||||||
|
# To change that, exchange the two 'console=' boot parameter
|
||||||
|
sudo sed -i -e '1i serial 0 38400' -e '/append loglevel/ s/$/ console=ttyS0,38400 console=tty0/' /mnt/sda1/boot/extlinux/extlinux.conf
|
||||||
|
|
||||||
|
# /etc/inittab
|
||||||
|
sudo sed -i -e '/tty6/attyS0::respawn:/sbin/getty 38400 ttyS0 xterm' /etc/inittab
|
||||||
|
|
||||||
|
# /etc/securetty
|
||||||
|
sudo sed -i -e 's/^# *ttyS0/ttyS0/' /etc/securetty
|
||||||
|
|
||||||
|
# reload initab on startup
|
||||||
|
sudo sed -i -e '/^\/opt\/bootlocal/ i' -e '/^\/opt\/bootlocal/ i# reload inittab' -e '/^\/opt\/bootlocal/ i kill -HUP 1' -e '/^\/opt\/bootlocal/ i' /opt/bootsync.sh
|
||||||
|
|
||||||
|
# add modified files to backup list
|
||||||
|
echo 'etc/inittab' >> /opt/.filetool.lst
|
||||||
|
echo 'etc/securetty' >> /opt/.filetool.lst
|
48
packer/tinycore-linux/tinycore-linux.json
Normal file
48
packer/tinycore-linux/tinycore-linux.json
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{
|
||||||
|
"builders":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"type": "qemu",
|
||||||
|
"iso_url": "http://distro.ibiblio.org/tinycorelinux/6.x/x86/release/Core-6.4.iso",
|
||||||
|
"iso_checksum": "c8e04e26de234e5528e6eac8ecb1bdda",
|
||||||
|
"iso_checksum_type": "md5",
|
||||||
|
"shutdown_command": "sudo poweroff",
|
||||||
|
"format": "qcow2",
|
||||||
|
"headless": false,
|
||||||
|
"ssh_username": "gns3",
|
||||||
|
"ssh_password": "gns3",
|
||||||
|
"accelerator": "none",
|
||||||
|
"vm_name": "tinycore-linux",
|
||||||
|
"disk_interface": "ide",
|
||||||
|
"net_device": "e1000",
|
||||||
|
"disk_size": 50,
|
||||||
|
"boot_wait": "10s",
|
||||||
|
"http_directory": "http",
|
||||||
|
"boot_command":
|
||||||
|
[
|
||||||
|
"mc user=gns3<enter><wait10><wait10><wait10>",
|
||||||
|
"sudo passwd gns3<enter>gns3<enter>gns3<enter>",
|
||||||
|
"tce-load -wi openssh<enter><wait10>",
|
||||||
|
"sudo /usr/local/etc/init.d/openssh start<enter>"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"provisioners": [
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"script": "scripts/hd-install.sh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"script": "scripts/serial.sh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"script": "scripts/packages.sh"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "shell",
|
||||||
|
"script": "scripts/post_setup.sh"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user