Bootstrap a minimal debian rootfs for sunxi boards https://github.com/bleuchtang/sunxi-debian
![]() |
il y a 10 ans | |
---|---|---|
olinux | il y a 10 ans | |
.gitignore | il y a 10 ans | |
Dockerfile | il y a 10 ans | |
README.md | il y a 10 ans |
Bootstrap a minimal debian for olinuxino-a20-lime2
Thanks to lukas2511 for quick bootstrap.
sudo docker pull debian:stable
git clone https://github.com/bleuchtang/olinuxino-a20-lime2
cd olinuxino-a20-lime2 && sudo docker build -t debian/olinux .
We cannot perform a debootstrap in dockerfile because dockerfile doesn't accept privileged mode. For more details see docker issue
sudo docker run --privileged -i -t -v $(pwd)/olinux/:/olinux/ debian/olinux sh ./olinux/create_arm_debootstrap.sh
You shoud have both debootstrap and sunxi directories in olinux/
sudo docker run --privileged -i -t -v $(pwd)/olinux/:/olinux/ debian/olinux sh ./olinux/create_sunxi_boot_files.sh
Find your device card (with dmesg for instance) and put it in a variable.
mmc=/dev/sdc
Make 2 partitions; one for boot files (kernel, file with custom boot args...), and another for root fs.
parted -s ${mmc} mklabel msdos
parted -a optimal ${mmc} mkpart primary fat32 1 16MiB
parted -a optimal ${mmc} mkpart primary fat32 16MiB 100%
mkfs.fat -F 32 ${mmc}1
mkfs.ext4 ${mmc}2
Make SD card bootable, add kernel your previously builded and file with motherboard paramaters.
mkdir -p /media/usb
dd if=olinux/sunxi/u-boot-sunxi/u-boot-sunxi-with-spl.bin of=${mmc} bs=1024 seek=8
mount ${mmc}1 /media/usb/
cp olinux/sunxi/linux-sunxi/arch/arm/boot/uImage /media/usb/
cp olinux/sunxi/script.bin /media/usb/
If you want to do a server without graphical session, you can disable allocated ram for the graphical card. To do that copy uEnv.txt file; This file add custom kernel parameters to save 32MB of ram. If you want to use the graphical card; don't copy uEnv.txt file.
cp olinux/sunxi/uEnv.txt /media/usb/
umount /media/usb
Copy the rootfs you previously builded with debootstrap, and add firmware and modules build with sunxi kernel.
mount ${mmc}2 /media/usb/
cp -r olinux/debootstrap/* /media/usb/
sync
chmod 1777 /media/usb/tmp/
rm -rf /media/usb/lib/firmware/
cp -rf olinux/sunxi/linux-sunxi/out/lib/firmware/ /media/usb/lib/
sync
rm -rf /media/usb/lib/modules/
cp -rf olinux/sunxi/linux-sunxi/out/lib/modules/ /media/usb/lib/
sync
umount /media/usb
Default root password is olinux. After first connection on you box run depmod to build moddep file.
ssh root@mybox
depmod -a
That's it !