gnulinux:wm8750_apricot_nand
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
gnulinux:wm8750_apricot_nand [2013/12/28 15:50] – [Overview] redox | gnulinux:wm8750_apricot_nand [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | # Apricot R4 on NAND, for APC.io WM8750 | ||
- | ## Overview | ||
- | {{ : | ||
- | For memory. Adapted from [[http:// | ||
- | The plot is simple: How to install a _real_ GNU/Linux on the APC.io wm8750 PicoITX board. | ||
- | __Royal Panda__ made a great job adapting Raspbian for the APC, he called this remix __Apricot__ | ||
- | |||
- | The last release is Apricot R5, but it still lacks Video support (among others things) and __Royal Panda__ didn't release any NAND installer. So this _" | ||
- | |||
- | Long story short: I needed to reinstall my APC board, but the kernel I had (and though was the one from the installer) lacks the UBI support, so I couldn' | ||
- | |||
- | ## Steps | ||
- | ### What you'll need | ||
- | |||
- | * The board itself, the original APC.io board: __[[http:// | ||
- | * A 1 Gio MicroSD card | ||
- | * An Ethernet connection | ||
- | * A Serial adapter | ||
- | * Screen and Keyboard might help too... | ||
- | |||
- | ### Files | ||
- | |||
- | <note important> | ||
- | |||
- | * The Installer Files with a scriptcmd file (it's easier this way, but don't worry, you'll play with uBoot via Serial) | ||
- | * Apricot R4 MMC (for its rootfs) | ||
- | * mtd-utils deb package (so you don't have to type the URL to download it) | ||
- | |||
- | ### MicroSD preparation | ||
- | |||
- | The easy way is to copy the Apricot R4 img on the uSD card, then add the the other files on the first partition. | ||
- | dd if=./ | ||
- | There should be one partition named __XCP-1.6.10 Base Pack__. Copy the files initrd.gz, uzImage.bin, | ||
- | |||
- | Create a folder where you extract the mod-kernel-RaspBian.tar.gz archive. Mine's named __modKern__. | ||
- | |||
- | ### First boot | ||
- | Insert the MicroSD card, boot the board. | ||
- | The debian-installer should start (on the screen, not in serial). Choose your language, you don't need the Network. Stop the installer as soon as you can, and drop to a Shell. From the menu, it's the __Execute a shell__ option. | ||
- | |||
- | Make sure your NAND layout is correct: | ||
- | cat /proc/mtd | ||
- | |||
- | You should see this: | ||
- | dev: size | ||
- | mtd0: 00d00000 00010000 " | ||
- | mtd1: 00280000 00010000 " | ||
- | mtd2: 00050000 00010000 " | ||
- | mtd3: 00010000 00010000 " | ||
- | mtd4: 00010000 00010000 " | ||
- | mtd5: 00010000 00010000 " | ||
- | mtd6: 00a00000 00100000 " | ||
- | mtd7: 7f600000 00100000 " | ||
- | |||
- | <note warning> | ||
- | |||
- | Mount the first partition of the uSD card somewhere, Flash the kernel on the NAND (mtd6) | ||
- | mkdir /mnt | ||
- | mount / | ||
- | cd / | ||
- | dd if=uzImage.bin of=/ | ||
- | |||
- | <note tip>You can try to erase the mtd partition before flashing the kernel, but I'm not sure it'd work, and if that's really necessary since __dd__ does a raw copy...</ | ||
- | |||
- | Shutdown the board. Unplug the uSD card. | ||
- | |||
- | ### Second Boot | ||
- | Connect your serial adapter, open with these parameters: __115200 8n1__ without any flow control. | ||
- | |||
- | Restart the board.__Interrupt the boot process in uBoot by pressing Enter__. It should drop you to a uBoot shell. Enter theses lines | ||
- | setenv nandargs " | ||
- | setenv nandboot " | ||
- | then | ||
- | boot | ||
- | When the Kernel starts booting, insert the uSD card so it can find the rootfs. When the system is ready, you should be able to connect using SSH. Login: __root__, password: __apricot__. Use the physical screen and keyboard to find out the IP address | ||
- | |||
- | From now it's pretty much the same as the original HowTo. Format the mtd7 partition (the __rootfs__) | ||
- | mount / | ||
- | dpkg -i / | ||
- | umount /mnt | ||
- | ubidetach -d 0 | ||
- | ubiformat /dev/mtd7 | ||
- | ubiattach -p /dev/mtd7 | ||
- | ubimkvol /dev/ubi0 -m -N rootfs | ||
- | mount -t ubifs ubi0:rootfs /mnt | ||
- | |||
- | Debootstrap Time ! It ccan be quite long, so... once you've seen it's start correctly, go do something else, have a coffe, take a (short) nap, ... | ||
- | apt-get install -y debootstrap | ||
- | debootstrap --no-check-gpg wheezy /chroot http:// | ||
- | |||
- | Once it's done, you can chroot in your new system ! | ||
- | mount -t proc none /mnt/proc | ||
- | mount -t sysfs none /mnt/sys | ||
- | mount -o bind /dev /mnt/dev | ||
- | chroot /mnt | ||
- | |||
- | You should now be using the rootfs on NAND, time to setup the Raspbian distro | ||
- | mount / | ||
- | cp -R / | ||
- | depmod | ||
- | |||
- | Install uBoot tools to be able to change the uBoot parameters if/when you need | ||
- | apt-get install u-boot-tools | ||
- | echo "/ | ||
- | echo "/ | ||
- | fw_printenv ## Should print the uBoot env | ||
- | |||
- | Make the previous setenv changes permanent: | ||
- | fw_setenv nandargs " | ||
- | fw_setenv nandboot " | ||
- | |||
- | Setup you debian installation | ||
- | passwd | ||
- | echo "proc /proc proc defaults 0 0" >> /etc/fstab | ||
- | echo " | ||
- | echo "" | ||
- | echo " | ||
- | echo "iface eth0 inet dhcp" >> / | ||
- | |||
- | Install the SSH server | ||
- | apt-get update | ||
- | apt-get install openssh-server tmux | ||
- | |||
- | Edit the inittab to enable a serial session, just in case... | ||
- | nano / | ||
- | |||
- | That should be it, you can safely poweroff the board, unplug the uSD card, then reboot. | ||
- | |||
- | ### That's all folks ! | ||
- | |||
- | Well, you now have a working Debian Wheezy system. I haven' | ||
- | |||
- | ## Troubleshooting | ||
- | |||
- | __The board doesn' |
/home/share/www/redox.ws/wiki/data/attic/gnulinux/wm8750_apricot_nand.1388245814.txt.gz · Last modified: 2023/11/24 21:55 (external edit)