# using Ubuntu laptop with lots of disk space git clone git://github.com/linux-wmt/linux-vtwm # roughly an hour depending on network cd linux-vtwm make ARCH=arm menuconfig # see separate kernel configuration notes time make ARCH=arm zImage modules CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm dtbs CROSS_COMPILE=arm-linux-gnueabihf- # can be 2 hours or more cat arch/arm/boot/zImage arch/arm/boot/dts/wm8850-w70v2.dtb \ > arch/arm/boot/zImage_w_dtb mkimage -A arm -O linux -T kernel -C none -a 0x8000 \ -e 0x8000 -n "My Linux" -d arch/arm/boot/zImage_w_dtb uzImage.bin # plug in 32GB SD card: 62333952 sectors # for different sizes of SD card, change 62333951 below SDCARD=/dev/mmcblk0 # double-check that $SDCARD is ready to be wiped parted ${SDCARD} unit s mklabel msdos mkpart primary 8192 262143 mkpart primary 262144 2359295 mkpart primary 2359296 62333951 quit # unplug SD card; replug SD card mkfs.vfat -F 32 ${SDCARD}p1 mkswap ${SDCARD}p2 time mkfs.ext3 -N 10485760 ${SDCARD}p3 # 17 minutes aptitude install debootstrap debian-archive-keyring debian-ports-archive-keyring MOUNT=/root/sdcard mkdir -p $MOUNT mount ${SDCARD}p3 $MOUNT time debootstrap --arch armhf --foreign --verbose \ --include strace,sudo,less,screen,openssh-server,vim,ntp,git,subversion \ wheezy $MOUNT http://ftp.us.debian.org/debian # ~20 minutes time make ARCH=arm INSTALL_MOD_PATH=$MOUNT modules_install time umount $MOUNT # ~10 minutes mount ${SDCARD}p1 $MOUNT ( echo mmcinit 0 echo fatload mmc 0 0 FirmwareInstall/uzImage.bin echo setenv bootargs mem=448M \ root=/dev/mmcblk0p3 rootwait noinitrd rw init=/bin/bash echo bootm 0 ) > /root/wmt_scriptcmd.in mkimage -A arm -O linux -T script -C none -a 1 -e 0 -n "Created by Win32" \ -d /root/wmt_scriptcmd.in $MOUNT/wmt_scriptcmd cp $MOUNT/wmt_scriptcmd $MOUNT/scriptcmd mkdir -p $MOUNT/FirmwareInstall cp $MOUNT/wmt_scriptcmd $MOUNT/FirmwareInstall/autorun.1.wmt cp uzImage.bin $MOUNT/FirmwareInstall umount $MOUNT # unplug SD card, plug into netbook, boot # "I have no name!@(none):/#" export PATH export HOME=/root export USER=root rm -r /var/run time debootstrap/debootstrap --second-stage # could do some of the following on laptop instead echo vm.mmap_min_addr=0 >> /etc/sysctl.conf sysctl vm.mmap_min_addr=0 # addr>0 symptoms: non-root login shell dies immediately echo proc /proc proc nodev,noexec,nosuid 0 0 >> /etc/fstab mount /proc echo swapon /dev/mmcblk0p2 >> /etc/rc.local swapon /dev/mmcblk0p2 adduser user addgroup user sudo passwd root passwd user exec sbin/init # check root login; shut down netbook # unplug SD card, plug into laptop mount ${SDCARD}p3 $MOUNT echo proc /proc proc nodev,noexec,nosuid 0 0 >> $MOUNT/etc/fstab # echo sys /sys sysfs defaults 0 0 >> $MOUNT/etc/fstab # echo devpts /dev devpts defaults 0 0 >> $MOUNT/etc/fstab ( echo deb http://http.debian.net/debian/ wheezy main contrib non-free echo deb-src http://http.debian.net/debian/ wheezy main contrib non-free echo deb http://security.debian.org/debian-security wheezy/updates main echo deb-src http://security.debian.org/debian-security wheezy/updates main echo deb http://http.debian.net/debian/ wheezy-backports main contrib non-free ) >> $MOUNT/etc/apt/sources.list echo wm8850netbook > $MOUNT/etc/hostname umount $MOUNT mount ${SDCARD}p1 $MOUNT ( echo mmcinit 0 echo fatload mmc 0 0 FirmwareInstall/uzImage.bin echo setenv bootargs mem=448M \ root=/dev/mmcblk0p3 rootwait noinitrd rw echo bootm 0 ) > /root/wmt_scriptcmd.in mkimage -A arm -O linux -T script -C none -a 1 -e 0 -n "Created by Win32" \ -d /root/wmt_scriptcmd.in $MOUNT/wmt_scriptcmd cp $MOUNT/wmt_scriptcmd $MOUNT/scriptcmd mkdir -p $MOUNT/FirmwareInstall cp $MOUNT/wmt_scriptcmd $MOUNT/FirmwareInstall/autorun.1.wmt cp uzImage.bin $MOUNT/FirmwareInstall umount $MOUNT # unplug SD card, plug into netbook, boot