- 1-2 hours of your life
- build envirment for the Kernel
- device with Ubuntu and nvflash
- AC100
- mini-usb cabel
- usb-stick >512MB
-
setup the build enviorment
-
create the work directory:
mkdir -p ~/ac100/output_files
-
-
get the kernel source
-
get the sources:
curl -LO https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.5.2.tar.xz
cd linux-4.5.2
-
-
build the kernel
-
genrate the config
make tegra_defconfig ARCH=arm
-
adjust the config for:
-
Kernel low-level debugging options
in Kernel hacking
to OFF
-
USB Video Class
in Device drivers --> Multimedia support --> Media USB Adapters
to MODULE
-
USB NETWORK Device [only if like to use anadapter] you will find the availbe Modules under
in Device drivers --> Network device support --> USB Network Adapters
to MODULE
make menuconfig ARCH=arm
-
-
build zIMAGE, modules, dtb
make zImage modules dtbs INSTALL_MOD_STRIP=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
-
build install-modules
make modules_install INSTALL_MOD_PATH=../output_files INSTALL_MOD_STRIP=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
-
copy dtb and zImage to the output_files directory
cp arch/arm/boot/dts/tegra20-paz00.dtb ../output_files
cp arch/arm/boot/zImage ../output_files
-
-
make output flashable
-
change into output_files directory
cd ../output_files
-
create needed folders
mkdir boot usr
-
move lib into usr [to avoid breaks of arch]
mv lib usr
-
move zImage and dtb into boot
mv zImage boot
mv tegra20-paz00.dtb boot
-
create boot.cmd
cat <<'EOF' > ~/ac100/output_files/boot/boot.cmd setenv bootargs 'root=/dev/mmcblk0p1 rootfstype=ext4 rootwait' ext2load mmc 0:1 0x1000000 /boot/zImage ext2load mmc 0:1 0x2000000 /boot/tegra20-paz00.dtb bootz 0x1000000 - 0x2000000 EOF
-
create directory etc
mkdir etc
-
add fstab
cat <<'EOF' > ~/ac100/output_files/etc/fstab /dev/mmcblk0p1 / ext4 rw,noatime,commit=30,barrier=1,data=ordered 0 0 EOF
-
pack the files
tar cf kernel.tar boot usr etc
-
-
prepare pen drive
-
copy kernel.tar to pen drive
cp ~/ac100/output_files/kernel.tar < mountpoint of the pen drive >
-
get Arch Linux filesystem for Tegra systems
curl -o < mountpoint of the pen drive > http://archlinuxarm.org/os/ArchLinuxARM-trimslice-latest.tar.gz
-
-
boot AC100 into recovery mode
- press ctrl + esc + Power
-
install on the flash host nvflash
curl -O /tmp https://phablet-paz00.googlecode.com/files/nvflash_20110628-2_all.deb ; sudo dpkg -i nvflash_20110628-2_all.deb
-
connect AC100 with your flash Host
-
get and boot a minimal SOSUBOOT
-
on the flash Host
curl -O /tmp https://dl.dropboxusercontent.com/u/40761340/Test/sos-uboot-r5-2013-11-10.bin nvflash --bl sos-uboot-r5-2013-11-10.bin --go
-
on the AC100
./switch-to-uboot
-
-
prepare the AC100
-
create one new partions [maybe u like to backup the old once]
parted /dev/mmcblk0 mklabel gpt parted /dev/mmcblk0 -s mkpart primary 7168s '100%' parted /dev/mmcblk0 -s name 1 UDB
-
create filesystem
mkfs.ext4 /dev/mmcblk0p1
-
-
Install Kernel and OS
-
create mount point
mkdir /target mkdir /source
-
mount the emmc
mount -t ext4 /dev/mmcblk0p1 /target
-
inserte the stick and mount it
mount -t vfat /dev/sda1 /source
-
change into directory /target
cd /target
-
extract the ARCH Linux filesystem
gzip -dc /source/ArchLinuxARM-trimslice-latest.tar.gz | tar xp
-
erase /boot to add new builded kernel for the AC100
rm -rf boot/*
-
unpack kernel.tar
tar xf /source/kern.tar
-
change into the /boot directory
cd /target/boot
-
make the kernel bootable
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "ubootscript" -d boot.cmd boot.scr
-
sync for safety
sync
-
unmount the pen drive and the emmc
cd /; umount /target; umount /source
-
Source:
@pryg-skok
Looking at my ac100 folder on my desktop computer I realized, that I actually had to transfer some software packages to my ac100 to get wifi working. Looks that you need the following packages: 'dhclient, dhcpcd, iw, openresolv, run-parts, wpa_supplicant'. Obviously you need the 'armv7h' versions. You can find them here... https://archlinuxarm.org/packages
As your USB stick is not recognized by the arch installation right now, you will have to do the transfer of the files within uboot. That shouldn't be a problem, as the 'cp' command is available in uboot.
Local installation of the packages can then be done with 'sudo pacman -U'
I hope you get it working...