I, too, "value your privacy" but unlike most I think it is priceless and fundamental. Privacy Policy

Open-Source Software and Hardware Laptop

Je regardais le novena(lui aussi libre), mais qui est trop puissant pour moi maintenant(peut-être pour plus tard). Et trop exotique(je veut pouvoir l’utiliser partout). Quelques pixels viennent avec du matos olimex au hackerspace(un LIME/LIME2 je pense). Et quand mon laptop(bulkeps) récup de 2003/2005 est devenu vraiment lent(469 MB de mémoire vive, presque pas de 3D au moins le FullHD fonctionnait o_O). J’ai donc penser à me faire mon propre laptop avec des pièces venant de olimex(gros merci ;3). J’ai commandé quelques pièces et vut un project de laptop sur le blog de olimex.

Si je devait le refaire, je prendrais des plans de boitier de laptop et l’adapterais à la carte, ça me ferais plus de place dedans et donc mieux disposer les pièces.

Pièces

Construction Matérielle

J’ai trouvé assez de place en hauteur à la sortie ventilo(la carte chauffe presque pas de toute façon) j’ai donc dégagé la sortie pour les connectiques, couteau pour la « grille », décapeur thermique(un sèche cheveux serait mieux) pour ramolir le plastique du capot/couvercle.

Construction Logicielle

⚠ This doesn’t works ⚠ I take a working one from armbian images, anyway, you need:

sunxi u-boot & kernel

I use gentoo so I only have to make u-boot, kernel, put armv7a /armhf stage3. I mainly follow olimex A20-build(found upper).

$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabihf-

u-boot

$ git clone -b sunxi https://github.com/linux-sunxi/u-boot-sunxi.git ; cd u-boot-sunxi

If you have a LIME2 board : $ make A20-OLinuXino_Lime2_config otherwise type $ make help and hope to find your board in a _config target.

$ make Tip: add -j6 if you have 4 cores, -j3 if dual. Note: u-boot.bin for flash is u-boot-sunxi-with-spl.bin

Kernel

$ export INSTALL_MOD_PATH=out
$ git clone https://github.com/linux-sunxi/linux-sunxi ; cd linux-sunxi
$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/spi-sun7i.c -O drivers/spi/spi-sun7i.c
$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/SPI.patch
$ patch -p0 < SPI.patch
$ wget https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build/a20_olimex_defconfig -O arch/arm/configs/a20_olimex_defconfig
$ make a20_olimex_defconfig

If you want to configure it more: $ make menuconfig

$ make uImage modules
$ make modules_install
“The uImage file is located in arch/arm/boot/
The kernel modules are located in out/lib/modules/$kernel_version”
Olimex

Mainline u-boot & kernel

“(this needs to be written)”netstat(8)

Gentoo rootfs

Partitions

Insert your storage device and use dmesg or lsblk to have the /dev/sd* or /dev/mmcblk* it will be noted as /dev/sd× and enter as ⮠(you may need to fix your font) for one-liners

# fdisk /dev/sd×
  1. If you have partitions on it, you can delete them with d and then partition number
  2. Create the /boot (I recommend using 16M or greater): n⮠p⮠1⮠⮠+16M⮠
  3. Put the bootable flag(apparently not mandatory): a
  4. Create the / (I generaly use everything or about 4~>16G if I got a big device): n⮠p⮠2⮠⮠⮠
  5. Verify everything is okay with p
  6. w to write.
# mkfs.vfat /dev/sd×1 Gentoo package for it dosfstools # mkfs.ext4 /dev/sd×2

Time to flash !

dd if=u-boot.bin of=/dev/sd× bs=1024 seek=8

Note: use sd× not sd×1 or sd×2 as it’s before then (which is probably why there is a 2048 space before them)

# mkdir /mnt/sd
# mount /dev/sd×2 /mnt/sd

Put basic rootfs(/mnt/sd/boot is needed) I take gentoo’s stage3 for armv7hf

# mount /dev/sdX1 /mnt/sd/boot
# cd /mnt/sd/boot
# cp linux-sunxi/arch/arm/boot/uImage .
# wget https://github.com/OLIMEX/OLINUXINO/raw/master/SOFTWARE/A20/A20-build/scripts_a20_Lime2_34_90_camera_rel_2/script.bin
# cd ~/linux-sunxi
# rm -fr /mnt/sd/lib/modules
# cp -rfv out/lib/modules /mnt/sd/lib/
# cp -rfv out/lib/firmware /mnt/sd/lib/
# sync
# umount /mnt/sd/boot
# umount /mnt/sd