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 rootfs with sunxi kernel and boot files. For now only 3 olinuxino boards are available. Scripts in this repository are generic, and it's easy to add a new boad. Please make a pull request if you create and test a new board. I need reviewer for olinuxino lime2 and micro board.
Thanks to lukas2511 for quick bootstrap.
sudo docker pull debian:stable
git clone https://github.com/bleuchtang/olinuxino-a20-lime
cd olinuxino-a20-lime && 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/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
You can now connect to your box via ssh. Default root password is olinux. After your first connection on your box you should run depmod to build moddep file.
ssh root@mybox
depmod -a
That's it ! Now you probably doesn't want do more system administration for your home server so get an eye on yunohost ;)