[vc_row][vc_column width=”1/1″][vc_column_text]The released Lbuntu package by pcDuino team consists of two parts:
- The image of kernel (which includes bootloader, kernel and a basic version of rootfs);
- rootfs (LUbuntu rootfs, which is a file system of ext3 format)
If you want to build a released version of Lbuntu, you can just build a rootfs (which is of ext3/ext4 format, and not exceed 1800MB), and also edit a script named update.sh. The image of kernel can stay the same as the one provided by pcDuino team.
By doing in this way, you can custom build your own Lbuntu, Ubuntu, Debian, ArchLinux, Fedora, Android etc.
Please read the following for more information.
Detailed steps to deploy new distributions:
1. Update kernel
This step is mainly to partition the nand flash. At present, there are the following partitions:
- nanda (32MB bootloader, kernel )
- nandb (2MB kernel, booting parameters)
- nandc (16MM, reserved)
- nandd (1800M rootfs )
- nande (reserved)
2. After finishing updating kernel, the system will automatically try the following:
a) Mount naddd as a partition, and call first progress (/init or /sbin/init).
b) If step A failed, pcDuino will look for a script named ‘update.sh’ from SD card or flash drive, and it will execute this script to updating rootfs (if Ubuntu).
Therefore, you just need to copy the self built image of rootfs and update.sh to the root directory of SD card or flash drive, plug in it to pcDuino when pcDuino is looking for the script, and we can then finish the updating.
The content of update.sh can be as following:
#!/bin/sh cd `dirname $0` IMG=pcduino_ubuntu_20130906.img #replace it with the filename of your image IMG_SIZE=`du -s $IMG | cut -f1` BURN_TIME=`expr $IMG_SIZE / 1024 / 3 / 60` echo -e “twriting $IMG to nand flashn” echo -e “tit will take about $BURN_TIME minutes to finish…” time dd if=$IMG of=/dev/nandd bs=4M && sync if [ $? -eq 0 ]; then echo “update finished” killall blink_led.sh /blink_led.sh 18 1000000 & /blink_led.sh 19 1000000 & else echo “write ubuntu to nand failed” killall blink_led.sh /blink_led.sh 18 100000 & /blink_led.sh 19 100000 & exit 1