Linux toshiba ac 100

Installation

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
Toshiba AC100

~
— Video card NVidia (adapt this list to actually match options available. Common features are listed below)
— Screen size: 10″ wide
— Wireless card
— Disk and Ram size, optical device
— Other options, like fingerprint reader, bluetooth. -~

Overall Status

Legend :
<OK data-lazy-src=

This describes the steps required to install Debian armhf (arm hard float) on SD card. I believe that similar steps would be sufficient to install armel, but I didn’t try.

  • an SD card (2 Gb or larger)
  • a USB type A to USB mini type B cable
  • root access to i386 or amd64 PC running Debian
  • a cardreader for the PC (internal or external) — the PC should be able to read/write the SD card
  • Internet access on the PC
Читайте также:  Grant user mysql linux

Having a WiFi network with Internet access will help you during last steps of installation.

Toshiba AC100 boot process

  1. When you press Power the bootloader from the Tegra ROM starts.
  2. If this bootloader detects that Ctrl-ESC is pressed, the device is put into recovery mode (black screen, but you can manipulate the data from your PC with nvflash utility).
  3. . the bootloader reads fuse bits, reads and starts next bootloader from eMMC, .
  4. At least we are at the point where some bootloader has read the partition table. LNX (number 6) partition is read. It should contain an Android-style boot image that consists of a kernel and initramfs along with boot parameters (kernel load addresses and kernel boot parameters).
  5. The kernel is started. Kernel starts initramfs scripts that find and mount root file system.

The most important (for us) part of boot process is the boot image.

nvflash

nvflash is a proprietary, closed-source tool that allows you to read and write to the internal eMMC flash on the AC100 in recovery mode. You can download the nvflash tool along with other tools from nVidia here: http://developer.nvidia.com/content/linux-tegra-release-12-alpha-1-released

Make a backup

Before proceeding with the Debian installation, it is wise to make a back up of the current OS. See http://gitorious.org/ac100/pages/Installation

SOSBOOT

Sosboot http://gitorious.org/ac100/sosboot is a boot image (goes to the LNX partition) with a minimalistic kernel and initramfs that includes an interactive shell. Download prebuilt image from: http://share.grandou.net/ac100/sosboot/ It can be used to mount your SD card and chroot into its file system to fix anything.

To write SOSBOOT to LNX partition boot AC100 in recovery mode and run on your PC:

root@pc# LD_LIBRARY_PATH=. ./nvflash --bl fastboot.stock.bin --download 6 sosboot-r3.img --go

After that hold Power until AC100 shuts down. Boot and verify that SOSBOOT works.

Читайте также:  Opening exe files on linux

Bootstrap Debian armhf on PC

The goal of this step is to create a directory on our local machine that will contain all files for the root directory of the AC100.

root@pc# apt-get install debootstrap qemu-user-static binfmt-support qemu root@pc# mkdir armhf_root root@pc# debootstrap --foreign --arch=armhf sid armhf_root $MIRROR

Where $MIRROR is a debian-ports mirror, for example use main site ftp://ftp.debian.org/debian/ or select from http://www.debian.org/mirrors/list

Presumably the processor in your PC is an x86, this means it cannot run binaries that are compiled for another architecture, like ARM. The AC100 has an ARM chip so we’ll have to use the «foreign» mode with debootstrap. From the debootstrap man page; «foreign mode just does the initial unpack phase of bootstrapping only. A copy of debootstrap sufficient for completing the bootstrap process will be installed as /debootstrap/debootstrap in the target filesystem.» The second stage runs the configuration scripts:

root@pc# cp /usr/bin/qemu-arm-static armhf_root/usr/bin root@pc# chroot armhf_root /debootstrap/debootstrap --second-stage

Now add /etc/apt/sources.list and install a kernel to the chroot:

root@pc# cat > armhf_root/etc/apt/sources.list deb http://ftp.debian.org/debian/ sid main non-free contrib deb http://people.debian.org/~jak/ac100/ unreleased main non-free #deb-src http://people.debian.org/~jak/ac100/ unreleased main non-free root@pc# chroot armhf_root apt-get update [. ] root@pc# chroot armhf_root apt-get install abootimg flash-kernel linux-image-ac100 [. ]

Also install the driver and tools to make the network card work:

root@pc# chroot armhf_root apt-get install firmware-ralink wireless-tools wpasupplicant [. ]

Add bootimg.cfg to create a proper boot image:

root@pc# cat > armhf_root/boot/bootimg.cfg bootsize = 0x800000 pagesize = 0x800 kerneladdr = 0x10008000 ramdiskaddr = 0x11000000 secondaddr = 0x10f00000 tagsaddr = 0x10000100 name = jak-ac100 cmdline = root=/dev/mmcblk1p1 mem=448M@0M nvmem=64M@448M vmalloc=320M video=tegrafb console=tty0 usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=recovery:700:a00:800,boot:1100:1000:800,mbr:2100:200:800,system:2300:25800:800,cache:27b00:32000:800,misc:59b00:400:800,userdata:5a000:9a600:800

Kernel command line shown above works for my AC100-117 (8 Gb internal flash). It should work for other models apart from the tegrapart= option that specifies the partition table for internal flash. See http://gitorious.org/ac100/pages/CommandLine for command lines for other models.

Читайте также:  Linux run deb file

Edit /etc/initramfs-tools/initramfs.conf to make initrd images smaller (to fit into LNX partition):

root@pc# vim armhf_root/etc/initramfs-tools/initramfs.conf . MODULES=dep .

Populate /etc/fstab (change filesystem and mount options as appropriate):

root@pc# cat >> armhf_root/etc/fstab /dev/mmcblk1p1 / ext4 rw,noatime,commit=30,barrier=1,data=ordered 0 0
root@pc# cat >> armhf_root/etc/network/interfaces auto lo iface lo inet loopback

Partition SD card

Create a root partition and run mkfs (separate /boot is not needed). It is recommended to align the partition to SD card erase block. The simplest way to do this is to use GPT partition table (instead of MSDOS-style partition table) and let gdisk (GPT fdisk) do the alignment for you: gdisk creates partitions aligned to 1 Mb boundary by default. Detailed instructions are available here: https://wiki.archlinux.org/index.php/Solid_State_Drives#Using_GPT_-_RECOMMENDED_METHOD

Create ext4 filesystem with:

# mkfs -t ext4 -v -b 4096 -E stride=32,stripe-width=32,resize=32G /dev/sdX1

ext4 block size is set to 4K. 4K * 32 = 128K, which is a common SD erase block size.

Copy prepared files to root partition

root@pc# cp -ax armhf_root/* /media/sdcard/

Write kernel to internal flash (LNX partition)

Boot into SOSBOOT. (See also SOSBOOT section above.)

root@(none)# mount /dev/mmcblk1p1 /mnt root@(none)# mount --bind /dev /mnt/dev root@(none)# mount --bind /proc /mnt/proc root@(none)# mount --bind /sys /mnt/sys root@(none)# chroot /mnt /bin/bash

Regenerate initramfs and verify that it is small (should be less than 2 Mb)

root@host# update-initramfs -u root@host# ls -lh /boot/initrd* -rw-r--r-- 1 root root 1.7M Aug 13 05:02 /boot/initrd.img-2.6.38-ac1-ac100

Write boot image to internal flash:

Exit chroot and umount fs:

root@host# exit root@(none)# umount /mnt/sys root@(none)# umount /mnt/proc root@(none)# umount /mnt/dev root@(none)# umount /mnt

Reboot. Debian should boot.

Configuration

Run dpkg-reconfigure locales to set locale, dpkg-reconfigure tzdata to choose timezone, dpkg-reconfigure console-setup to set console font.

If it didn’t work.

If the kernel didn’t boot you can write SOSBOOT with nvflash again and examine SD card contents, read logs etc.

Источник

Оцените статью
Adblock
detector