HTTPS SSH
Pre-built Images / Packages
---------------------------
Downloads / Packages: https://nusku.net/openwrt/
Mirror: https://nuskunetworks.box.com/s/9a4248d4f94a59ee1201

Custom OpenWRT Image Details
----------------------------
32bit only for now, see below for changes once I get 64bit going
***Default boot device is /dev/sda2***

* >=512Mb disk (Compact Flash / IDE / SATA / SSD)
* >=128Mb ram
* <=4Gb ram
* >= 266Mhz processor (SMP / non-smp processor configs via one image)
* Wired networking (common 10/100/1000 adapters)
* Wireless networking (atheros, ralink only for now)
* Competent logging (standard busybox sylogd / klogd with syslog-ng3 as a package)
* NAT
* Ethernet bridging
* Ethernet VLAN
* QoS
* Firewall
* DHCP server / client (via dnsmasq)
* NTP server / client (via packages)
* DNS server / client / forwarder (via dnsmasq)
* Competent auditing (ie. number of users logged into shell) 
* No mouse support
* HID / PS2 keyboard
* btrfs / ext4 as root filesystem 
* support for swap
* Dedicated package tree / repo for use with opkg
* Built from svn trunk, not a specific branch
* VirtualBox disk image or tar image
* tar image designed to be installed from live cd environment such as finnix
* Web config as primary config option via LuCI
* Switched from dropbear to openssh with openssh listening on all interfaces

* Scrollback in ram: 64k
* VESA Modes / Framebuffer console (default: off, update grub to enable using vga=<value> cheat code)
* Bootup logo when VESA mode selected
* Framebuffer mapped to primary console if enabled (so you always have a console)
* IMQ / IFB kernel support.  QoS Scripts use IFB; IMQ added for custom rules

Setup / Install / First Run
-----------------
    Login / change root password
	----------------------------
	The default password is "openwrt" without quotes
	Run passwd at the command line or use LuCI to change the root password

	Get Internet Online
	-------------------
	- Hookup cable to eth0
	- Login to web ui via https://192.168.1.1
	- Network tab
	- Interfaces sub-tab
	- Add new interface
	- Add appropriate internet interface
	-- Name: "wan" without quotes
	- Save and apply
	- Login to console
	- ping google.com
	- Adjust openssh config to not listen on wan if necessary

	Enable journal on ext4
	----------------------
	- Boot finnix / favorite live cd distro
	- e2fsck -f /dev/sda1
	- tune2fs -O has_journal /dev/sda1
	- e2fsck -f /dev/sda1
	- e2fsck -f /dev/sda2
	- tune2fs -O has_journal /dev/sda2
	- e2fsck -f /dev/sda2
	- reboot

	Convert root to btrfs
	---------------------
	- Insert usb drive with >448Mb capacity
	- Boot finnix / favorite live cd distro with btrfs suppot
	- mkdir /target
	- mkdir /original
	- mkdir -p /ramdisk/cdrom (finnix specific)
	- mount -o bind /cdrom /ramdisk/cdrom (finnix specific)
	- mount /dev/sda2 /original
	- mkfs.btrfs /dev/usbdrive
	- mount -t btrfs /dev/usbdrive /target
	- rsync -aPr /original/ /target/
	- umount /target
	- umount /original
	- mount /dev/usbdrive /original
	- mkfs.btrfs /dev/sda2
	- mount /dev/sda2 /target
	- rsync -aPr /original/ /target/
	- reboot

    Enable FrameBuffer / VESA
    -------------------------
    Update grub.cfg to include the vga=<value> cheat code
    Docs: http://www.kernel.org/doc/Documentation/fb/vesafb.txt


OpenWRT Build Pre-Requisties on Gentoo
--------------------------------------
	dev-java/sun-jdk
	dev-java/sun-jre-bin
	app-text/asciidoc
	app-arch/fastjar
	dev-util/intltool
	dev-java/jikes
	virtual/perl-ExtUtils-MakeMaker
	dev-embedded/sdcc
	app-arch/unzip
	dev-libs/libxslt
	zip


Handy Fixes For Build Issues
----------------------------
Python Build Fix
	I found out that this was due to me having $HOME/.pydistutils.cfg with
	'home' defined inside which clashed with command-line --prefix above.
	Removing .pydistutils.cfg solved this, and led then to ..