linux:arm:wm8750
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Previous revision | |||
— | linux:arm:wm8750 [2023/11/24 21:55] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | # WM8750 | ||
+ | # 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 | ||
+ | |||
+ | * The Installer Files with a scriptcmd file (it's easier this way, but don't worry, you'll play with uBoot via Serial) | ||
+ | * mtd-utils deb package (so you don't have to type the URL to download it) | ||
+ | * mod-kernel-RaspBian.tar.gz (the Kernel to be flashed on the NAND) | ||
+ | |||
+ | I've made a bundle with the useful files: {{gnulinux: | ||
+ | |||
+ | * Apricot R4 MMC (for its rootfs): [[http:// | ||
+ | |||
+ | ### 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/pages/linux/arm/wm8750.txt · Last modified: 2023/11/24 21:55 by 127.0.0.1